我使用以下脚本查询ARP表。但是,我只想在ARP表更改时执行此脚本,而不是定期执行(cron作业)。我该如何实现?还可以使用以下命令来更新服务器上的ARP表吗?
arp | grep -v 'incomplete' | tail
最佳答案
更新的答案
我发现ip(8)
包中的iproute2
命令完全符合您的要求!事实证明CONFIG_ARPD
与此无关(在Linux 3.12上甚至从内核中删除了它)。
运行ip monitor neigh
并观察其输出。
但是我觉得ARP表经常更改...(参见Configuring ARP age timeout)
无论如何,请忽略我下面的旧答案。
旧答案
我认为您的Linux内核必须启用CONFIG_ARPD
选项(尝试grep CONFIG_ARPD /boot/config-*
)以支持此类操作。如果是这样,则需要编写C程序来接收信息。
关于linux - shell脚本发送ARP表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25518241/