【发布时间】:2014-08-13 19:47:47
【问题描述】:
我正在考虑在 OSX 上使用 MAC 地址作为机器标识符的一部分。 developer.apple.com 上的 GetPrimaryMACAddress.c 示例演示了如何获取“主”以太网接口 (https://developer.apple.com/library/mac/samplecode/GetPrimaryMACAddress/Listings/GetPrimaryMACAddress_GetPrimaryMACAddress_c.html) 的 MAC 地址。我的问题是“主以太网接口的精确定义是什么?” cmets 将其描述为“内置”网卡。在具有多个内置接口的系统上会发生什么?例如,Mac Pro 可以有两个有线插头,而较旧的 Macbook Pro 有一个有线和无线插孔。
我能找到的唯一文档是 IONetworkInterface.h 参考 (https://developer.apple.com/library/mac/documentation/Kernel/Reference/IONetworkInterface_header_reference/Reference/reference.html)。它将kIOPrimaryInterface 定义为描述“接口是主网络接口还是内置网络接口”。这并没有回答我关于当有多个内置接口时会发生什么的问题。
【问题讨论】:
-
我不知道主要网络接口的官方定义,但我猜如果有一个 BSD 名称为“en0”的接口,您可以将其视为主要网络接口。请注意,您可以使用 SystemConfiguration.framework 中的函数来查找网络地址。
标签: c++ objective-c macos networking mac-address