nmap小技巧[1] 探测大网络空间中的存活主机

nmap是所有安全爱好者应该熟练掌握的扫描工具,本篇介绍其在扫描大网络空间时的用法。

为什么要扫描大网络空间呢? 有这样的情形:

  1. 内网渗透   攻击者单点突破,进入内网后,需进一步扩大成果,可以先扫描整个私有网络空间,发现哪些主机是有利用价值的,例如10.1.1.1/8, 172.16.1.1/12, 192.168.1.1/16
  2. 全网扫描

扫描一个巨大的网络空间,我们最关心的是效率问题,即时间成本。 在足够迅速的前提下,宁可牺牲掉一些准确性。

扫描的基本思路是高并发地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秒,如下图所示:

nmap_scan_large_networks

提示: 并发探针的数目可以根据自己的网络状况调整。

《nmap小技巧[1] 探测大网络空间中的存活主机》上有12条评论

    1. nmap默认会做很多事,比较费时的是服务版本探测(Version)和操作系统探测(OS)。 为了确定服务对应的软件和版本号,需要启动很多扫描脚本(nse)。例如端口20156开放,nmap要确定这个端口对应什么服务、用的什么软件、软件的版本号是多少。 这样就必须启动很多探针,和数据库中的样本做对比

  1. 10.1.1.1/8, 172.16.1.1/12, 192.168.1.1/16这个不错.扫描其实可以尝试用zmap,速度比nmap肯定快一个数量级.nmap ping会有遗漏,有时候对方会禁止ping.

    1. 你好,zmap怎么使用呢,我安装好后,但是随机扫描100000个ip,并把扫描结果保存到文件中,可是为什么结果是空的呢

发表回复

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