3

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

nmap -sP 192.168.1.0/24

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

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

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

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

4

1 回答 1

6

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

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

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

于 2013-11-20T22:51:15.077 回答