Melhor maneira de obter o MAC de eth0?

20

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
brodul
fonte

Respostas:

27

É no /sys/class/net/eth0/address(ou mais precisamente /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressonde XXX é o seu ID de barramento PCI, mas isso varia entre os sistemas).

(Aliás, eu encontrei isso find /sys -name eth0e observo os arquivos nos diretórios identificados.)

Zanchey
fonte
4

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

fonte
2
Bem, você ainda tem que abrir ou cortar. Porque o mac está no fim da linha.
Brodul 5/09/11
3

se você pode instalar o moreutilspacote, existe uma ifdataferramenta. Descrição diz:

ifdata: obtém informações da interface de rede sem analisar a saída ifconfig

Aqui está um exemplo:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
Michał Šrajer
fonte