使用 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 更快地发现主机? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章