La meilleure façon d'obtenir le MAC d'eth0?

20

Existe-t-il un moyen plus efficace de récupérer l'adresse MAC d'une carte réseau sous Linux?

Cela marche:

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

mais peut-il être trouvé via quelque chose comme:

cat /sys/net/something
brodul
la source

Réponses:

27

C'est à /sys/class/net/eth0/address(ou plus précisément /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressoù XXX est votre ID de bus PCI, mais cela varie selon les systèmes).

(Par ailleurs, j'ai trouvé cela avec find /sys -name eth0et en regardant les fichiers dans les répertoires identifiés.)

Zanchey
la source
4

Il est également disponible via ifconfig:

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

Ou si vous voulez juste l'adresse MAC:

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

la source
2
Eh bien, vous devez encore awk ou le couper. Parce que le mac est en fin de ligne.
brodul
3

si vous pouvez installer le moreutilspackage, il existe un ifdataoutil. La description dit:

ifdata: obtenir des informations sur l'interface réseau sans analyser la sortie ifconfig

Voici un exemple:

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