Есть ли способ получить MAC-адрес/имя интерфейса из GUID на FreeBSD? Существуют ли какие-либо системные вызовы для этого? Я искал везде, но не мог найти никакой информации. Не могли бы вы помочь?
Заранее большое спасибо.
С уважением, Марк.
Есть ли способ получить MAC-адрес/имя интерфейса из GUID на FreeBSD? Существуют ли какие-либо системные вызовы для этого? Я искал везде, но не мог найти никакой информации. Не могли бы вы помочь?
Заранее большое спасибо.
С уважением, Марк.
NB: за пределами мира Windows GUID известен как UUID.
Сценарий запуска /etc/rc.d/hostid
сначала пытается получить UUID из SMBIOS. Если это не удается, он обращается к программе uuidgen
для создания UUID. Эта программа использует uuidgen
системный вызов. Как вы можете прочитать на странице руководства, последний 6-байтовый блок UUID — это аппаратный адрес одного из физических сетевых интерфейсов системы.
Обратите внимание: если интерфейса нет, вместо него используется случайный многоадресный адрес! Таким образом, UUID не обязательно содержит аппаратный адрес.
Как SMBIOS, так и uuidgen
UUID обычно используют аппаратный адрес первого встроенного чипа Ethernet.
Вероятно, самый простой способ получить имя интерфейса и аппаратный адрес — это использовать ioctl SIOCGIFSTATUS, как это делается в функции status()
в ifconfig
.