列出本地网络上的所有设备?

List ALL devices on local network?

我已经 arp -a 尝试了很多,它列出了 一些 设备,但不是全部。 ifconfig 显示我的 ip 地址和 mac 地址以及一些其他有用的信息,但它不显示本地网络上的所有设备。是否有显示所有 IP 地址的命令?

arp -a 将只显示 MAC 存储在本地 ARP 缓存中且您的计算机已连接的地址。 当我试图查看本地网络中的每个设备时,我必须对其进行扫描。 例如,如果你有 192.168.1.0/24 网络,你可以这样做:

$ for i in `seq 1 254`; do
ping -c 1 -q 192.168.1.$i &
done

您将尝试 ping 网络中的每台计算机。当然,并非每台计算机都会响应 ping。这就是您不能依赖 ping 的原因。现在您需要检查 ARP 缓存。

$ arp -a | grep 192.168.1. | grep ether

此命令将向您显示仅使用此网络中的计算机过滤并响应 ARP 请求的 ARP 缓存(在 99% 的情况下,它将是您网络中设备的完整列表 - 请记住,ARP 条目不是当设备断开连接时立即删除)。