如何使用C获取OS X上所有接口的IP地址

时间:2015-12-15 06:55:49

标签: c macos ioctl

我正在将代码从linux移植到OS X,我收到了这些错误:

src/proxy_linux.c:784: error: 'SIOCGIFHWADDR' undeclared (first use in this function)
src/proxy_linux.c:784: error: (Each undeclared identifier is reported only once
src/proxy_linux.c:784: error: for each function it appears in.)
src/proxy_linux.c:788: error: 'struct ifreq' has no member named 'ifr_hwaddr'

我使用的是Mac OS X 10.7.5(11G63))作为开发系统。

OS X不支持SIOCGIFHWADDR,我无法找到任何可以列出所有接口的IP地址和MAC地址的可靠来源。我在苹果开发者网站上找到的唯一一个使用" IOKit",它也不向后兼容。在这方面的任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

如果不涉及Sandbox或App Store,您可以自己解析m_publisher.connect();的输出并提取地址。如果是这样的话,那么你就不幸了,因为出于隐私原因,Apple不允许这样做。