获取另一台计算机的MAC地址,并给出其IP地址

时间:2011-05-28 18:35:39

标签: objective-c cocoa-touch ios mac-address

  

可能重复:
  how to find MAC address in MAC OS X programmatically ?
  How do I query the ARP table on iPhone?

如果我知道其IP地址,如何获取其他设备或计算机的MAC地址?

例如我有:

NSString * ip = @"192.168.1.1";

1 个答案:

答案 0 :(得分:1)

您必须查找本地网络的ARP(地址解析协议)表。在终端窗口中,您可以在命令行执行arp -a,它将打印出ARP表,该表显示本地网络IP地址及其物理地址关联(MAC地址)。 OSX将ARP条目存储在系统路由表中,但是我找不到任何好的引用来说明如何将系统路由表中的条目转换为MAC地址:我打赌在某处有sysctl个调用,但是谁知道呢? Getting routing table on MACOSX (programmatically)有一个未解答的问题可能会有所帮助,但是......

在OSX上,arp详细信息位于http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man4/arp.4.html:我诚实地建议您进行system来电并过滤所需IP地址的结果。