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

Rob*_*ore 3 ip arp ifconfig wifi

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

小智 13

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
Run Code Online (Sandbox Code Playgroud)

您将尝试ping网络中的每台计算机.当然不是每台计算机都会回答ping.这就是为什么你不能依赖ping.现在您需要检查ARP缓存.

$ arp -a | grep 192.168.1. | grep ether
Run Code Online (Sandbox Code Playgroud)

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