你可以参考下这个呢。
[root@minion ~]# more ret.txt
192.168.102.132 22
192.168.102.132 222
[root@minion ~]# ./scan.sh
IP: 192.168.102.132 ,port: 22 ,端口检测结果为: open
IP: 192.168.102.132 ,port: 222 ,端口检测结果为: closed
[Bash shell] 纯文本查看 复制代码 #!/bin/bash
while read line
do
str=$line
array_ret=(${str// / }) #以空格作为分隔符,将str分割成IP和port
ip=${array_ret[0]}
port=${array_ret[1]}
res=$(nmap -p $port $ip) #使用nmap探测端口,将结果返回给res
cont_first=${res#*SERVICE} #取res里面SERVICE字符串的右边内容
cont_second=${cont_first%Nmap*} #取cont_first里面Nmap字符串的左边内容
array_cont=(${cont_second// / }) #以空格作为分隔符,取出端口状态
echo "IP:" $ip ",port:" $port ",端口检测结果为:" ${array_cont[1]}
done < ret.txt
|