¿La mejor manera de obtener el MAC de eth0?

20

¿Existe una forma más eficiente de recuperar la dirección MAC de una NIC en Linux?

Esto funciona:

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

pero se puede encontrar a través de algo como:

cat /sys/net/something
brodul
fuente

Respuestas:

27

Está en /sys/class/net/eth0/address(o más precisamente /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressdonde XXX es su ID de bus PCI, pero esto varía entre sistemas).

(Por cierto, encontré esto con find /sys -name eth0y mirando los archivos en los directorios identificados).

Zanchey
fuente
4

También está disponible a través de ifconfig:

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

O si solo quieres la dirección MAC:

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

fuente
2
Bueno, todavía tienes que despertar o cortarlo. Porque el mac está al final de la línea.
brodul
3

Si puede instalar el moreutilspaquete, hay una ifdataherramienta. La descripción dice:

ifdata: obtenga información de la interfaz de red sin analizar la salida ifconfig

Aquí hay un ejemplo:

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