Найкращий спосіб отримати MAC et0?


20

Чи є більш ефективний спосіб отримати MAC-адресу NIC в Linux?

Це працює:

ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'

але чи можна його знайти через щось на зразок:

cat /sys/net/something

Відповіді:


27

Він знаходиться /sys/class/net/eth0/address(або точніше /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressтам, де XXX - ваш ідентифікатор шини PCI, але це залежить від систем).

(До речі, я знайшов це find /sys -name eth0і переглянувши файли в ідентифікованих каталогах.)


4

Він також доступний через ifconfig:

kce@thinkpad:~$ /sbin/ifconfig eth0 |grep HWaddr
eth0      Link encap:Ethernet  HWaddr 00:1e:37:cc:ce:cc  

Або якщо ви хочете лише MAC-адресу:

kce@thinkpad:~$ /sbin/ifconfig eth0 |awk '/HWaddr/{print $5}'
00:1e:37:cc:ce:cc

2
Що ж, вам все одно доведеться розбудити або вирізати. Тому що mac знаходиться в кінці рядка.
бродул

3

якщо ви можете встановити moreutilsпакет, є ifdataінструмент. Опис говорить:

ifdata: отримуйте інформацію про мережевий інтерфейс без розбору виводу ifconfig

Ось приклад:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.