nmap是所有安全爱好者应该熟练掌握的扫描工具,本篇介绍其在扫描大网络空间时的用法。
为什么要扫描大网络空间呢? 有这样的情形:
- 内网渗透 攻击者单点突破,进入内网后,需进一步扩大成果,可以先扫描整个私有网络空间,发现哪些主机是有利用价值的,例如10.1.1.1/8, 172.16.1.1/12, 192.168.1.1/16
- 全网扫描
扫描一个巨大的网络空间,我们最关心的是效率问题,即时间成本。 在足够迅速的前提下,宁可牺牲掉一些准确性。
扫描的基本思路是高并发地ping:
nmap -v -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oX nmap_output.xml www.lijiejie.com/16
-sn 不扫描端口,只ping主机
-PE 通过ICMP echo判定主机是否存活
-n 不反向解析IP地址到域名
–min-hostgroup 1024 最小分组设置为1024个IP地址,当IP太多时,nmap需要分组,然后串行扫描
–min-parallelism 1024 这个参数非常关键,为了充分利用系统和网络资源,我们将探针的数目限定最小为1024
-oX nmap_output.xml 将结果以XML格式输出,文件名为nmap_output.xml
一旦扫描结束,解析XML文档即可得到哪些IP地址是存活的。
我测试扫描www.lijiejie.com/16这B段,65535个IP地址(存活10156),耗时112.03秒,如下图所示:
提示: 并发探针的数目可以根据自己的网络状况调整。