确保 arp -n 包含路由器的最快方法

确保 arp -n 包含路由器的最快方法

我的目标是获取路由器的 mac 地址。我有一个制造商 ID,我可以根据该 ID 进行过滤,例如,该 ID 始终以 c0:c0:c0 开头,因此我使用:

arp -n | grep -i 'c0:c0:c0'

这很好用:但是当系统刚启动并且没有发生网络流量时,arp 不包含路由。我可以使用以下命令“添加”它

ping google.com

或 ping te 网关,此操作后 arp 包含路由器。确保 arp 包含路由器的最快/最佳方法是什么?

编辑:

到目前为止最快的解决方案(无需知道我的网关)是:

ping -c 1 -W 1 192.168.1.1 && arp -n ; grep -i 'c0:c0:c0'

答案1

您已经假设您知道您的 gw 是什么(192.168.1.1),但是随着问题的提出,我明白情况可能并非如此。

我会首先确保使用“ip route”,然后使用类似的方法:

$ ping -c1 -W1 $(ip route | grep default | awk '{print $3}')

我不明白如果你不先知道你的网关,你有什么好处。你的系统已经知道了,否则它就无法 ping 任何地方。

相关内容