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
Jest w /sys/class/net/eth0/address
(a ściślej /sys/devices/pciXXXX:XX/XXXX/net/eth0/address
gdzie 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 eth0
i przeglądając pliki w zidentyfikowanych katalogach.)
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
jeśli możesz zainstalować
moreutils
pakiet, istniejeifdata
narzędzie. Opis mówi:Oto przykład:
źródło