【发布时间】:2013-04-28 02:40:03
【问题描述】:
有什么方法可以从 FreeBSD 上的 GUID 获取 MAC 地址/接口名称?是否有任何系统调用可以做到这一点?我到处搜索,但找不到任何信息。你能帮忙吗?
非常感谢。
最好的问候,马克。
【问题讨论】:
有什么方法可以从 FreeBSD 上的 GUID 获取 MAC 地址/接口名称?是否有任何系统调用可以做到这一点?我到处搜索,但找不到任何信息。你能帮忙吗?
非常感谢。
最好的问候,马克。
【问题讨论】:
注意:在 Windows 世界之外,GUID 称为 UUID。
启动脚本/etc/rc.d/hostid 首先尝试从 SMBIOS 获取 UUID。如果失败,它会转向 uuidgen 程序来生成 UUID。该程序使用uuidgen 系统调用。正如您在手册页中看到的,UUID 的最后 6 字节块是系统物理网络接口之一的硬件地址。
注意,如果不存在接口,则使用随机多播地址!所以 UUID 不一定包含硬件地址。
SMBIOS 和uuidgen UUID 通常都使用第一个板载以太网芯片的硬件地址。
获取接口名称和硬件地址的最简单方法可能是使用 SIOCGIFSTATUS ioctl,就像在 ifconfig 中的 status() 函数中所做的那样。
【讨论】: