Najlepszy sposób na uzyskanie MAC et0?

20

Czy istnieje bardziej wydajny sposób na uzyskanie adresu MAC karty sieciowej w systemie Linux?

To działa:

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

ale można to znaleźć za pomocą:

cat /sys/net/something
brodul
źródło

Odpowiedzi:

27

Jest w /sys/class/net/eth0/address(a ściślej /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressgdzie XXX jest twoim identyfikatorem magistrali PCI, ale różni się w zależności od systemu).

(Nawiasem mówiąc, znalazłem to find /sys -name eth0i przeglądając pliki w zidentyfikowanych katalogach.)

Zanchey
źródło
4

Jest również dostępny przez ifconfig:

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

Lub jeśli chcesz tylko adres MAC:

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

źródło
2
Nadal musisz go przebudzić lub wyciąć. Ponieważ mac znajduje się na końcu linii.
brodul
3

jeśli możesz zainstalować moreutilspakiet, istnieje ifdatanarzędzie. Opis mówi:

ifdata: pobiera informacje o interfejsie sieciowym bez analizowania danych wyjściowych ifconfig

Oto przykład:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
Michał Šrajer
źródło