从其Mac地址获取本地设备的IP地址

时间:2017-08-20 01:35:04

标签: c linux networking router arp

我有一台连接到路由器的本地设备,我可以通过现有代码访问其Mac地址。如何在c?

中使用此Mac地址查找设备的IP地址

“arp”可能会提供详细信息,但我需要它独立于该协议的IP地址。

1 个答案:

答案 0 :(得分:1)

如果您的要求允许您间接使用ARP (即依靠标准网络行为而不是自己编写ARP查询)......

您最好的答案可能是在/proc/net/arp中公开的本地ARP缓存中找到MAC地址。当然,如果您的主机最近在网络上看到了来自它的流量,那么您的设备只会有数据。

This answer有一些处理这种情况的建议:基本上,运行某种网络扫描以生成网络上每个 IP地址的流量,然后挖掘本地ARP表为了答案。