获取另一台计算机的MAC地址,因为它的IP地址
可能重复:
how to find MAC address in MAC OS X programmatically ?
How do I query the ARP table on iPhone?获取另一台计算机的MAC地址,因为它的IP地址
我怎样才能得到另一台设备或计算机的MAC地址,如果我知道它的IP地址?
比如我有:
NSString * ip = @"192.168.1.1";
你要查找ARP(地址解析协议)表的本地网络。在终端窗口中,您可以在命令行上执行arp -a
,它将打印出显示本地网络IP地址及其物理地址关联(MAC地址)的ARP表。 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地址的结果。
我忘了告诉,我需要从iOS设备解析mac。 – 2011-05-28 19:42:10
是的,你可能运气不好:不确定你有没有从iOS平台上的客户端代码访问系统路由表,我敢肯定没有办法调用'arp'命令行客户端从iOS应用程序。 – Femi 2011-05-28 19:50:08
纠正我,如果我错了,但MAC地址分配给您的网络接口硬件,并没有任何关于局域网IP。 – raidfive 2011-05-28 18:37:49
@raidfive我想他想要分配IP地址的网络接口硬件的MAC地址。例如,我通过以太网和Wi-Fi连接到我的网络,都使用唯一的IP和唯一的MAC地址。 – 2011-05-28 18:39:42
是的,MAC分配给硬件,但我认为有一些方法可以将其与objective-c相提并论。我知道如何用c#轻松做到这一点。 – 2011-05-28 18:42:39