- A+
所属分类:其他杂项
最近在项目中有个小需求,需要扫1700多万个IP的某个端口,经过一番搜索之后,知道了nmap这个端口扫描神器,然而在使用nmap过程当中,发现默认的配置扫描速度真是太慢了,让我一度怀疑这个神器的作用。好在经过一番百度之后,找到几篇有用的文章,在综合对比测试以后,发现了最优化的配置方法,在此记录一下:
加速后的效果如下,1714W的IP,只用了不到5个小时就扫完了:
nmap -sS -Pn -p 80 -n --open --min-hostgroup 1024 --min-parallelism 10 --host-timeout 30 -T4 -v -oG results-all.txt -iL ipduan.txt
详细说一下各参数的含义:
-sS:使用SYN方式扫描,默认用的是-sT方式,即TCP方式,需要完成完整的三次握手,比较费时,SYN就比较快一些了,具体自己百度了解
-Pn: 禁用PING检测
-p: ports,要检测的端口号,比如80
-n: 功能未知,在V2EX上看到的
--open: 只输出检测状态为open的端口,即开放的端口,参考文章《快速高效:Nmap结果整理方法》
--min-hostgroup 1024:调整并行扫描组的大小,参考文章《详尽的Nmap扫描参数解析》
--min-parallelism 1024:调整探测报文的并行度
--host-timeout 30:检测超时的跳过
-T4:总共有T0-T5,貌似T4比较折中,参考文章《Nmap参考指南:十一、 时间和性能》
-v:打印详细扫描过程
-oG:输出为比较人性化的格式,一条记录一行,后期好处理
-iL:载入ip段文件,批量扫,不用一条条执行了。
2018-02-28 下午12:25
亲测,-oG results-all.txt 文件里边只有超时的 IP信息,没有开放端口的信息
2018-02-27 上午9:59
谢谢分享,正好需要,去试试。