¿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
Está en /sys/class/net/eth0/address
(o más precisamente /sys/devices/pciXXXX:XX/XXXX/net/eth0/address
donde XXX es su ID de bus PCI, pero esto varía entre sistemas).
(Por cierto, encontré esto con find /sys -name eth0
y mirando los archivos en los directorios identificados).
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
Si puede instalar el
moreutils
paquete, hay unaifdata
herramienta. La descripción dice:Aquí hay un ejemplo:
fuente