从 Mac 地址获取本地设备的 IP 地址
Get Ip address of a local device from its Mac address
我有一个连接到路由器的本地设备,我可以通过现有代码访问它的 Mac 地址。如何使用 c 中的此 Mac 地址找到设备的 IP 地址?
"arp" 可能会提供详细信息,但我需要独立于该协议的 IP 地址。
如果您的要求允许您间接使用ARP(也就是说,依靠标准网络行为而不是自己编码ARP查询)...
您最好的答案可能是在您的本地 ARP 缓存中找到 MAC 地址,如 /proc/net/arp
中公开的那样。当然,只有当您的主机最近在网络上看到来自您设备的流量时,那里才会有您设备的数据。
This answer 有一些处理这种情况的建议:基本上,运行 某种网络扫描生成流量到 每个 您的 ip 地址网络,然后挖掘你本地的 ARP table 来寻找答案。
我有一个连接到路由器的本地设备,我可以通过现有代码访问它的 Mac 地址。如何使用 c 中的此 Mac 地址找到设备的 IP 地址?
"arp" 可能会提供详细信息,但我需要独立于该协议的 IP 地址。
如果您的要求允许您间接使用ARP(也就是说,依靠标准网络行为而不是自己编码ARP查询)...
您最好的答案可能是在您的本地 ARP 缓存中找到 MAC 地址,如 /proc/net/arp
中公开的那样。当然,只有当您的主机最近在网络上看到来自您设备的流量时,那里才会有您设备的数据。
This answer 有一些处理这种情况的建议:基本上,运行 某种网络扫描生成流量到 每个 您的 ip 地址网络,然后挖掘你本地的 ARP table 来寻找答案。