7

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

4

1 回答 1

18

arp -a 将只显示存储在本地 ARP 缓存中并且您的计算机已连接到的 MAC 地址。当我试图查看本地网络中的每台设备时,我必须对其进行扫描。例如,如果您有 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 条目不会立即删除断开连接)。

于 2015-06-13T08:57:28.917 回答