У меня есть система Ubuntu 16.04, работающая на ASUS Zenbook. Когда я запускаю следующий код, чтобы выписывать MAC-адреса всех моих интерфейсов:Что означает нулевой MAC-адрес?
#include <QCoreApplication>
#include <QNetworkInterface>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
auto interfaces = QNetworkInterface::allInterfaces();
for (const auto& i : interfaces)
qDebug() << i.humanReadableName() << "; "<< i.hardwareAddress() << '\n';
return a.exec();
}
я получаю:
«вот»; "00: 00: 00: 00: 00: 00"
"wlp2s0"; "00: 21: 5C: B2: C7: 58"
Мой ноутбук имеет встроенный Wi-Fi и нет Ethernet-кабеля.
Мне действительно интересно, к чему относится этот нулевой MAC-адрес.
До сих пор мои исследования превращали меня в форумы, где это было либо проблемой с драйверами, либо с помощью Kaspersky antivirus.
Есть ли законное значение этого MAC-адреса, или это ошибка?
MAC-адреса - это адреса уровня 2, используемые протоколами уровня 2-го уровня, в частности, протоколы LAN IEEE 802, например, Ethernet (IEEE 802.3), Wi-Fi (IEEE 802.11), Token Ring (IEEE 802.5) и т. д. Ваш интерфейс loopback не использует один из этих протоколов уровня 2, поэтому у него действительно нет MAC-адреса. Некоторые протоколы уровня 2, которые используют MAC-адреса, используют 48-битные MAC-адреса, а некоторые используют 64-разрядные MAC-адреса. Многие протоколы WAN, например. PPP, HDLC, Frame Relay, ATM и т. Д., Не используют MAC-адреса. –