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

问题描述 投票:0回答:3

我想检测 LAN 中 IP:10.x.x.x 掩码:255.0.0.0 的所有设备。 我首先写了一个同步 ping 程序来逐个 ping IP,但是太慢了。 因此我通过使用异步ping对其进行了改进,然后速度快了很多。 现在我可以用它在可接受的时间内检测10.x.0~255.0~255。 但它仍然用了很长时间来检测所有IP 10.0~255.0~255.0~255。

是否有任何方法/协议可以只广播一条消息并让局域网中的所有设备做出响应,以便我可以检测到所有设备? (以太网广播或 UDP/IP 广播或任何其他广播。) (我研究过ARP和ICMP但没有找到合适的方法。)

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

broadcast lan
3个回答
3
投票

不确定这是否是您正在寻找的内容,但您可以进入命令提示符并运行命令:

arp -a

2
投票

我推荐“Angry IP Scanner”http://angryip.org/

速度很快,可以检测给定 IP/网络掩码中的所有设备。

Angry IP 扫描器是一款非常快速的 IP 地址和端口扫描器。

来自网站:

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

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

它还有附加功能,如 NetBIOS 信息(计算机 名称、工作组名称和当前登录的 Windows 用户)、收藏夹 IP 地址范围、Web 服务器检测、可定制的开启方式等


0
投票

我认为监听arp广播包是一个解决方案。当然它只能在局域网中工作。我认为你的局域网很大。为什么要这样设计?

© www.soinside.com 2019 - 2024. All rights reserved.