arp -a 不列出所有设备

arp -a does not list all devices

我有一个应用程序可以检查某个 IP 是否在本地网络上。该 IP 属于 raspberry pi 作为家庭自动化设备工作。 运行 命令

arp -a

从终端或我的应用程序中,我得到了本地网络上所有设备的列表,但我的 raspberry pi 并不总是列出。 ping 设备后,它每次都会出现在列表中。 任何想法出了什么问题?

这就是 ARP 的工作方式。 ARP 条目仅在需要时创建。第一次需要与本地网络上的 IP 通信时,您的设备会广播 ARP 查询,然后缓存响应。没有任何东西可以主动为 LAN 上的所有 IP 填充缓存。

此外,如果旧条目在一段时间内未被使用,则可能会从缓存中删除它们。