我需要定期从脚本启动后台网络设备发现过程,并且需要相当快。目前,我这样推出NMAP:
nmap -sP 192.168.1.0/24
(我刚刚编写了IP地址,你明白了)。无论如何,上面将对该C类网络进行ping扫描。问题是这个命令通常需要30-40秒才能完成。我希望能够更快地做到这一点。
我的目标只是设备/主机发现 - 我只想知道在给定网络上运行的任何机器的IP地址。完成某种扫描后,我可以使用ARP命令获取上行机器的MAC地址。
那么在nmap或任何其他免费工具中有更快的方法吗?我知道fing(这更快)但我无法在不支付巨额许可费的情况下将查找嵌入到商业产品中。因此,如果在nmap或其他免费工具中有更快的方法,那就太棒了。
该工具必须在Ubuntu Linux上的命令行中运行。我对仅在其他操作系统上运行的GUI工具或工具不感兴趣。
答案 0 :(得分:6)
首先要做的是在命令中添加-n
,以避免对所有地址进行反向DNS查找。这可能是最大的单次加速。
其次,如果可能的话,以root身份运行Nmap命令。这将启用ARP“ping”主机检测方法,该方法比非root方法(TCP连接调用端口80和443)更快,以及非直接连接地址的ICMP Echo Request。但是不要让普通用户设置Nmap参数或环境变量!它不是安全的。
最后,您可以尝试调整时序参数以避免超时。我将此留待到最后,因为您可能无法在Nmap默认值上进行太多改进。首先设置-T4
甚至-T5
。