我想检测LAN中具有IP的所有设备:10.x.x.x Mask:255.0.0.0。 我首先写了一个同步ping程序来逐个ping IP,但它太慢了。 因此我通过使用异步ping来改进它,然后它更快。 现在我可以用它在可接受的时间内检测10.x.0~255.0~255。 但它仍然使用tooooooooooooo很长时间来检测所有的IP 10.0~255.0~255.0~255。
是否有任何方法/协议只能广播一条消息并让局域网中的所有设备都能响应,所以我可以检测到所有设备? (以太网广播或UDP / IP广播或任何其他广播。) (我已经研究过ARP和ICMP,但还没有找到合适的方法。)
或者其他任何方法甚至不需要广播? 我只需要检测所有设备,任何方法都可以。
答案 0 :(得分:1)
不确定它是否适合您,但您可以进入命令提示符并运行命令:
arp -a
答案 1 :(得分:1)
我推荐"愤怒的IP扫描仪" http://angryip.org/
它很快,检测到给定ip / netmask中的所有设备。
愤怒的IP扫描程序是一个非常快速的IP地址和端口扫描程序。
来自网站:
它可以扫描任何范围内的IP地址及其任何端口。它 是跨平台和轻量级的。它不需要任何安装 可以在任何地方自由复制和使用。
愤怒的IP扫描程序只需ping每个IP地址以检查它是否还活着, 然后可选择解析其主机名,确定MAC 地址,扫描端口等。每个主机收集的数据量 可以用插件扩展。
它还有其他功能,如NetBIOS信息(计算机 名称,工作组名称,以及当前登录的Windows用户),收藏夹 IP地址范围,Web服务器检测,可自定义的开启等等。