如何检测局域网中的所有设备?

时间:2014-05-02 15:43:49

标签: broadcast lan

我想检测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,但还没有找到合适的方法。)

或者其他任何方法甚至不需要广播? 我只需要检测所有设备,任何方法都可以。

2 个答案:

答案 0 :(得分:1)

不确定它是否适合您,但您可以进入命令提示符并运行命令:

arp -a

答案 1 :(得分:1)

我推荐"愤怒的IP扫描仪" http://angryip.org/

它很快,检测到给定ip / netmask中的所有设备。

愤怒的IP扫描程序是一个非常快速的IP地址和端口扫描程序。

来自网站:

  

它可以扫描任何范围内的IP地址及其任何端口。它   是跨平台和轻量级的。它不需要任何安装   可以在任何地方自由复制和使用。

     

愤怒的IP扫描程序只需ping每个IP地址以检查它是否还活着,   然后可选择解析其主机名,确定MAC   地址,扫描端口等。每个主机收集的数据量   可以用插件扩展。

     

它还有其他功能,如NetBIOS信息(计算机   名称,工作组名称,以及当前登录的Windows用户),收藏夹   IP地址范围,Web服务器检测,可自定义的开启等等。