如何提升Nmap扫描速度?如何绕过防火墙?Nmap实战教程?
作者:FancyPig | 发布时间: | 更新时间:
Nmap实战教程
本文将会围绕Nmap扫描时针对防火墙的操作、时间与性能、脚本搭配使用三个方面来进行讲解。 有关Nmap的资料可以参考之前的文章 针对禁止Ping的主机,可以使用-Pn命令完成扫描
nmap -Pn ipaddress
针对防火墙
FIN扫描
针对IPS、IDS等防火墙,可以使用-sF命令完成,发送FIN标志的数据包可以避免SYN被防火墙阻断。
nmap -sF ipaddress
UA绕过防火墙
如果防火墙设置了UA(User Agent)检测,可以将UA设置成其他的,比方说百度Spider的UA,防火墙总不能连搜索引擎的Spider也拦截吧?下面是增加的参数,前面要配合nmap相关命令使用nmap --script=http-methods --script-args http.useragent="Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
当然你也可以使用其他Spider的UA,自行发挥想象
随机IP地址生成
相关命令
生成100万个随机的IP地址,并保存到文件中,后续扫描时作为参数输入。nmap -iR 1200000 -sL -n | grep “not scanned” | awk ‘{print $2}’ | sort -n | uniq >! tp; head -25000000 tp >! tcp-allports-1M-IPs; rm tp
相关参数解释
-iR 120000 随机生成1200000个IP地址
-sL 进行列表扫描,仅扫描主机并列出IP地址
-n 不进行dns解析操作,这样将产生Nmap列表扫描的结果。
grep “not scanned” 在此结果中搜出未扫描的行
awk ‘{print $2}’ 打印出每一行的第二列内容(也就是IP地址)
sort -n 对获取到的IP地址进行排序
uniq >! tp 然后剔除重复IP地址,将结果保存到临时文件tp
head -25000000 tp >! tcp-allports-1M-IPs 取出前1000000个IP地址保存到tcp-allports-1M-IPs文件中
rm tp 删除临时文件
调用方式
使用-iL命令调用刚才生成的随机IP
nmap -iL tcp-allports-1M-IPs
指定网卡扫描
选择指定eth0网卡进行扫描
nmap -e eth0 ipaddress
伪装诱骗
-D是Decoy(诱骗)的缩写,本质上是一种混淆,就是除了本身访问的IP以外还制造了其他IP访问,这样一定程度上达成一种混淆视听的效果,让防火墙认为这只是正常的访问,因为别人也在访问。
nmap -D Decoy_ipaddress
乱序扫描
正常扫描的顺序是从.1到 .255进行扫描,这样很容易就能被防火墙识别出来是扫描器在工作,因此我们需要使用 –randomize-hosts打乱扫描主机的IP顺序
nmap –randomize-hosts
时间性能
参考nmap官方的文档https://nmap.org/man/zh/man-performance.html
--min-hostgroup调整并行扫描组的大小,一般设置为1024
--min-parallelism调整探测报文的并行度,一般设置为10
这个选项具有风险,如果过高则影响准确度,同时也会降低Nmap基于网络条件动态控制并行度的能力。这个值设为10较为合适, 这个值的调整往往作为最后的手段。
-T 设置时间模板
时间模板分为paranoid (-T0)、sneaky (-T1)、polite (-T2)、normal(-T3)、 aggressive (-T4)和insane (-T5)六种,从 -T0到 -T5逐渐加快扫描速度,-T3是默认标准的扫描速度,使用Nmap时不加参数默认的就是 -T3,-T5有时候可能会出现扫描失真的情况,并且有可能会造成主机的崩溃等问题,建议使用 -T4,扫描效率与得到产出性价比最高