Existe uma maneira mais eficiente de recuperar o endereço MAC de uma NIC no Linux?
Isso funciona:
ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'
mas pode ser encontrado através de algo como:
cat /sys/net/something
É no /sys/class/net/eth0/address
(ou mais precisamente /sys/devices/pciXXXX:XX/XXXX/net/eth0/address
onde XXX é o seu ID de barramento PCI, mas isso varia entre os sistemas).
(Aliás, eu encontrei isso find /sys -name eth0
e observo os arquivos nos diretórios identificados.)
Também está disponível via ifconfig
:
kce@thinkpad:~$ /sbin/ifconfig eth0 |grep HWaddr
eth0 Link encap:Ethernet HWaddr 00:1e:37:cc:ce:cc
Ou se você deseja apenas o endereço MAC:
kce@thinkpad:~$ /sbin/ifconfig eth0 |awk '/HWaddr/{print $5}'
00:1e:37:cc:ce:cc
se você pode instalar o
moreutils
pacote, existe umaifdata
ferramenta. Descrição diz:Aqui está um exemplo:
fonte