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