Мне нужно прочитать постоянный (сожженный) MAC-адрес сетевого адаптера. Поскольку MAC-адрес можно легко подделать, мне нужно прочитать реальный, который написан на EEPROM. Мне нужно сделать это с помощью C++ в Linux.ethtool получить постоянный MAC-адрес возвращает все 0's
Я пробовал использовать ethtool, что неплохо и прекрасно работает. Однако в некоторых системах это не работает как намеренный.
ethtool -P eth0
возвращает это:
Permanent address: 00:00:00:00:00:00
и
ethtool -e eth0
возвращает это:
Cannot get EEPROM data: Operation not supported
Сетевой адаптер имеет следующую информацию:
- водитель: ucc_geth
- версия: 1,1
- прошивки версия: N/A
- шины Информация: QUICC ДВИГАТЕЛЬ
Linux ядро версии: 2.6 .32.13
Вопрос: могу ли я исправить эту проблему при любом обновлении (драйвер, ядро и т. Д.)?
Кроме того, я делаю те же звонки ethtool с помощью функции ioctl
в C++. Есть ли способ исправить это внутри кода? Или есть ли другой способ получить постоянный MAC-адрес из EEPROM?
Таким образом, это означает, что пакеты на проводе имеют реальный (постоянный) MAC-адрес, даже если реальный MAC-адрес будет изменен? –
Конечно нет. Это нарушит цель изменения MAC. – MSalters