小智 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条目断开连接).