2010-06-22 128 views
0

有没有什么办法从ARP表中检索给定IP地址的MAC地址而不提供接口名?获取给定IP地址的Mac地址

我知道用ioctl呼叫,但在这种情况下,我应该提供的接口名称检索MAC地址的过程.. :(

一个粗液:读的/ proc /净/ ARP文件... :(.. ..除此之外..任何系统调用或其他任何地方我可以检索mac地址,而不需要接口名称

注意:基于C的简单解决方案不感兴趣脚本库。

注意:我期待基于* NUX的解决方案,而不是基于WINDOWS的解决方案。

+0

[在Linux 2.6.21上执行ARP和逆向ARP(glibc 2.3.5)](http://stackoverflow.com/questions/463722/doing-arp-and-inverse-arp-on-linux -2-6-21-glibc-2-3-5) – unwind 2010-06-22 08:23:44

+0

@unwind ..你提供的链接不处理任何以编程方式从arp表中检索mac条目。我知道命令行命令如arp -a,但我正在C中寻找解决方案。 – codingfreak 2010-06-22 08:30:16

回答

1

我知道用ioctl呼叫,但 在这种情况下检索 mac地址的程序我应该提供 接口名称

因此,所有你需要的是一种方法找到接口名称与给定的IP相关联。 ioctl SIOCGIFCONF会给你。