调用nmap批量扫描IP端口


批量扫描IP端口,并将结果导出为由IP命名的文件。

假设IPlist.txt文件内容为:
127.0.0.1
192.168.1.1

然后我们获取文件内容IP进行扫描(nmap的”-p-“选项指定nmap扫描从1-65535的所有端口;默认情况下nmap只扫描常见的1000个端口;如果你想要更快的话,可以使用”-F”选项只扫描最常见的100个端口):

Windows上的批处理版本
:IPlist.txt 为文件名,可根据需求进行修改
:C:\nmap\nmap-6.46\nmap.exe 为Nmap应用程序的路径,需根据实际情况进行修改
:把 IPlist.txt文件 与 该扫描脚本 放在同一个目录下
@echo off
for /f %%i in (IPlist.txt) do C:\nmap\nmap-6.46\nmap.exe -T3 -A -v -p- %%i >%%i.txt
Linux shell版本
echo "Start scan."
cat IPlist.txt | grep -Ev '^(#|$)' | while read line; do
    nmap -T3 -A -v -p- $line > $line.txt
    echo "scan $line ok!"
done
echo "All done."

然后结合扫描出来的文件,进行批量筛选出IP、Port、状态、服务合成一个文件,然后统计excel文档就很快速了:)

另:

其实Nmap自身有”-iL”选项支持直接从文件中读取IP列表进行批量扫描,还有指定IP地址块等方式进行批量扫描,这绝对是一等一的扫描神器!

====

常用端口号:
  • HTTP协议代理服务器常用端口号:80/8080/8081/8888/9080
  • SOCKS代理协议服务器常用端口号:1080
  • FTP(文件传输)协议代理服务器常用端口号:21
  • Telnet(远程登录)协议代理服务器常用端口:23
  • HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);
  • HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;
  • Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口);
  • FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);
  • TFTP(Trivial File Transfer Protocol ),默认的端口号为69/udp;
  • SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;
  • SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口);
  • POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;
  • WebLogic,默认的端口号为7001;
  • WebSphere应用程序,默认的端口号为9080;
  • WebSphere管理工具,默认的端口号为9090;
  • JBOSS,默认的端口号为8080;
  • TOMCAT,默认的端口号为8080;
  • WIN2003远程登陆,默认的端口号为3389;
  • Symantec AV/Filter for MSE ,默认端口号为 8081;
  • Oracle 数据库,默认的端口号为1521;
  • ORACLE EMCTL,默认的端口号为1158;
  • Oracle XDB( XML 数据库),默认的端口号为8080;
  • Oracle XDB FTP服务,默认的端口号为2100;
  • MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;
  • MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp;
  • QQ,默认的端口号为1080/udp
参考链接:
, ,

《“调用nmap批量扫描IP端口”》 有 10 条评论

  1. 发现批处理运行不成功,没有生成结果文件,而是每个IP生成了对应的空txt文件。

    • Nmap安装了么?版本、路径什么的是对的么?

      PS:我手头上现在没有Windows环境,没法测试。但刚才看了一下脚本内容,应该是没问题的。

      • 我是在nmap路径目录下创建了1.bat文件,然后修改了bat中的路径。也创建了IPlist.txt文件,1行1个IP。然后点击1.bat运行就会出现每个IP的文件.方法对吗?谢谢!

        • 在文章中是假设bat文件和IPlist.txt文件在同一目录下,并不一定需要在Nmap目录下。
          Zenmap是Nmap的GUI版本,实际扫描过程中也是调用nmap.exe这个可执行文件,所以,在bat文件中需要指定的是nmap.exe的路径,不是zenmap的。

          你回复中说的方法是对的,可以试一下。

  2. 扫描中的常见端口列表
    `
    3311/3312 kangle主机管理系统
    3389 远程登录
    4440 rundeck是用java写的开源工具
    5672 rabbitMQ
    5900 VNC
    6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
    6379 redis 一般无认证,可直接访问
    7001 weblogic
    8080 tomcat
    8089 jboss
    8161 activeMQ
    8649 ganglia集群系统监控软件
    9000 fastcgi服务
    9090 IBM服务
    9200/9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
    9999 amg加密版
    10050 zabbix
    11211 memcache 未授权访问
    27017/28017 mongodb 未授权访问 mongodb默认无口令登录
    3777 大华监控设备
    50000 sap netweaver远程命令执行漏洞
    50060 50070 hahoop、apache hasoop
    21 默认是ftp端口 主要看是否支持匿名,也可以跑弱口令
    22 默认是ssh端口
    23 默认是telnet端口
    25 默认是smtp服务
    53 默认是DNS
    123 是NTP
    161/162,8161 snmp服务(8161 IBM一款产品所开放的SNMP)
    389 ldap团体
    443 openssl 、hearthleed
    512/513 rlogin服务或者是exec
    873 rsync 主要看是否支持匿名,也可以跑弱口令
    1433 mssql数据库
    1080 socks代理
    1521 oracle
    1900 bes默认后台
    2049 nfs服务
    2601/2604 zebra路由 默认密码zebra
    2082/2083 cpanel主机管理系统
    3128/3312 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
    3306 mysql数据库
    4899 R-admin 连接端
    4440 rundeck rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网
    8834 nessus
    4848 glashfish
    `

  3. 25种未授权访问漏洞总结
    https://mp.weixin.qq.com/s/rz7Xy37lGtXVpRdpxyf2Zw
    `
    0x00 背景
    安全漏洞是导致网络数据库存在数据泄露隐患的主要因素,涉及的数据库(服务)类型主要包括MongoDB、ElasticSearch、MySQL和Redis等,涉及的漏洞类型主要为未授权访问和弱口令漏洞。

    CNCERT针对境内的MongoDB、ElasticSearch、MySQL及Redis等数据库进行排查,发现大量存在数据泄露隐患,共涉及20720个数据表、1330.3TB数据量、1.78万亿余条数据。

    数据库或者缓存应用属于敏感应用,通常部署在内网,但是如果部署的机器有内外网ip,且默认监听地址为0.0.0.0的话,则敏感端口会对外开放。如mysql/mongodb/redis/rsync/ docker daemon api等端口对外开放。

    敏感应用无认证、空口令或者弱口令 如果敏感应用使用默认配置,则不会开启认证,mysql/mongodb/redis/rsync/supervisord rpc/memcache等应用无认证。有时为了测试方便,配置了弱口令或空口令,则认证形同虚设。

    0x01 常见应用的未授权访问
    1.Redis 未授权访问漏洞
    2. Mongodb未授权访问漏洞
    3. Memcached 未授权访问漏洞
    4. ZooKeeper 未授权访问
    5. Elasticsearch 未授权访问
    6. Kibana 未授权访问
    7. Docker Remote API 未授权访问漏洞
    8. Kubernetes Api Server 未授权访问漏洞
    9. Hadoop 未授权访问
    10. jenkins未授权访问漏洞
    11. ActiveMQ未授权访问漏洞
    12. RabbitMQ未授权访问漏洞
    13. Springboot actuator 未授权访问漏洞
    14. FTP未授权访问漏洞(匿名登录)
    15. JBOSS 未授权访问漏洞

    0x02 不常见应用的未授权访问
    16. ldap未授权访问
    17. Rsync 未授权访问漏洞
    18. VNC 未授权访问漏洞
    19. dubbo 未授权访问漏洞
    20. NFS 共享目录未授权访问
    21. druid 未授权访问
    22. CouchDB 未授权访问漏洞
    23. Atlassian Crowd 未授权访问漏洞
    24. Jupyter Notebook 未授权访问漏洞
    25. RTSP未授权访问漏洞

    0x03 总结
    攻击者发现并且利用此类漏洞的成本低,效果明显,影响巨大,因此此类漏洞必须高度重视。
    `

回复 danny 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注