Melhor maneira de obter o MAC da eth0?

19

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 por meio de algo como:

cat /sys/net/something
    
por brodul 05.09.2011 / 11:45

3 respostas

26

Está em /sys/class/net/eth0/address (ou mais precisamente /sys/devices/pciXXXX:XX/XXXX/net/eth0/address , onde o XXX é seu ID de barramento PCI, mas isso varia entre sistemas).

(Aliás, eu encontrei isso com find /sys -name eth0 e olhando os arquivos nos diretórios identificados.)

    
por 05.09.2011 / 12:00
3

Também está disponível em ifconfig :

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

Ou se você quiser apenas o endereço MAC:

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

se você puder instalar o moreutils package, há uma ferramenta ifdata . Descrição diz:

ifdata: get network interface info without parsing ifconfig output

Veja um exemplo:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
    
por 03.10.2011 / 15:57