получить MAC-адрес/имя интерфейса из GUID на FreeBSD?

Есть ли способ получить MAC-адрес/имя интерфейса из GUID на FreeBSD? Существуют ли какие-либо системные вызовы для этого? Я искал везде, но не мог найти никакой информации. Не могли бы вы помочь?

Заранее большое спасибо.

С уважением, Марк.


person Marc Spencer    schedule 24.04.2013    source источник


Ответы (1)


NB: за пределами мира Windows GUID известен как UUID.

Сценарий запуска /etc/rc.d/hostid сначала пытается получить UUID из SMBIOS. Если это не удается, он обращается к программе uuidgen для создания UUID. Эта программа использует uuidgen системный вызов. Как вы можете прочитать на странице руководства, последний 6-байтовый блок UUID — это аппаратный адрес одного из физических сетевых интерфейсов системы.

Обратите внимание: если интерфейса нет, вместо него используется случайный многоадресный адрес! Таким образом, UUID не обязательно содержит аппаратный адрес.

Как SMBIOS, так и uuidgen UUID обычно используют аппаратный адрес первого встроенного чипа Ethernet.

Вероятно, самый простой способ получить имя интерфейса и аппаратный адрес — это использовать ioctl SIOCGIFSTATUS, как это делается в функции status() в ifconfig.

person Roland Smith    schedule 27.04.2013