Lynn881026
Lynn881026
采纳率0%
2016-08-15 09:10

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

10

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • Lynn881026 Lynn881026 5年前

    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
    .
    .
    .
    这个是我自己弄得,不过是通过对原始的日志进行操作修改来的结果,想求一个能直接生成这种日志的脚本。。。

    点赞 评论 复制链接分享
  • Arno_e Arno_e 5年前

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

    点赞 评论 复制链接分享
  • Arno_e Arno_e 5年前

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

    #!/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
    
    点赞 评论 复制链接分享

相关推荐