使用 nmap 更快地发现主机? [关闭]

Posted

技术标签:

【中文标题】使用 nmap 更快地发现主机? [关闭]【英文标题】:Faster host discovery with nmap? [closed] 【发布时间】:2013-12-04 20:57:31 【问题描述】:

我需要定期从脚本启动后台网络设备发现过程,并且它需要相当快。目前,我像这样启动 NMAP:

nmap -sP 192.168.1.0/24

(我只是编了 IP 地址,你懂的)。无论如何,以上将对该 C 类网络进行 ping 扫描。问题是这个命令通常需要 30-40 秒才能完成。我希望能够更快地做到这一点。

我的目标只是设备/主机发现——我只想知道给定网络上所有机器的 IP 地址。完成某种扫描后,我可以使用 ARP 命令获取启动机器的 MAC 地址。

那么在 nmap 或任何其他免费工具中是否有更快的方法来执行此操作?我知道 fing(它更快),但如果不支付巨额许可费,我就无法将 find 嵌入到商业产品中。因此,如果在 nmap 或其他一些免费工具中有更快的方法来执行此操作,那就太好了。

该工具必须在 Ubuntu Linux 的命令行中运行。我对 GUI 工具或仅在其他操作系统上运行的工具不感兴趣。

【问题讨论】:

30-40s 是相当长的一段时间。您是否在 网络中?如果你不是,那么你的大部分时间将被往返占用。另外,我想您的主机不够好,无法响应 ping -b 192.168.1.255 对吧? 感谢您的快速回复。是的,我在同一个网络上。不,它不会响应 ping -b。另外,我需要尽可能通用,所以如果有很多网络不响应 ping -b ,那么我就不能使用这种方法。如果可能的话,我需要一种适用于绝大多数网络的方法。 Zeroconf 守护进程可以处理它。 Google for Avahi 守护程序。 【参考方案1】:

首先要做的是将-n 添加到您的命令中,以避免对所有地址进行反向DNS 查找。这可能是最大的单一加速。

其次,如果可能的话,以 root 身份运行 Nmap 命令。这将启用 ARP“ping”主机检测方法,该方法比非 root 方法(TCP 连接调用端口 80 和 443)以及非直接连接地址的 ICMP Echo Request 更快。但不要让普通用户设置 Nmap 参数或环境变量!它不是 setuid 安全的。

最后,您可以尝试调整时序参数以避免缓慢超时。我把这个留到最后,因为您可能无法对 Nmap 默认设置进行太多改进。首先设置-T4 甚至-T5

【讨论】:

以上是关于使用 nmap 更快地发现主机? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

【工具使用】常见的NMAP命令总结

Nmap从入门到再入门

Nmap详解

Nmap参数整合

Nmap 扫描原理及使用方法

nmap使用