Linux下用nmap扫描端口的shell脚本

如扫描192.168.1.100-200之间所有开启80或22或8808端口的服务器,并把结果输出到test.log文件中。要求日志文件格式包括序列号1、2、3···,服务器IP,开启的端口号,扫描时间。求大神用shell脚本帮忙实现一下,多谢
可以是只扫描一个端口的脚本,比如只扫描80

这问题我是没太看明白 ,按我理解的:

#!/bin/bash
port="80/tcp"

for i in seq 1 1
do
Time=nmap 192.168.1.$i | grep Starting | awk '{print $8,$9}'
echo "1:Time:$Time" >> test.log
Ip=nmap 192.168.1.$i | grep report |awk '{print $5}'
echo "2: IP:$Ip" >> test.log
Rtime=nmap 192.168.1.$i | grep seconds | awk '{print $11}'
echo "3: Rtime:$Rtime"
nmap 192.168.1.$i | grep $port
if [ $? = 0 ]
then
echo "3: $port " >> test.log
echo " "
echo "============================================== "
else

            echo "'80' is not exist"  >>test.log
            echo " "
            echo "============================================== "
    fi 

    done

把 seq 后面改成你需要的ip地址范围就可以了

scanning time:2016-08-17 14:54:57
.
.
9.IP: 10.12.9.181
open:80

10.IP: 10.12.9.188
open:80

11.IP: 10.12.9.189
open:80

12.IP: 10.12.9.190
open:80

13.IP: 10.12.9.193
open:80

14.IP: 10.12.9.194
open:80
.
.
.
这个是我自己弄得,不过是通过对原始的日志进行操作修改来的结果,想求一个能直接生成这种日志的脚本。。。