Voici un article pour récupérer l’adresse mac d’un système sous Linux (Debian / Ubuntu / CentOS / ArchLinux…) de manière très simple. A savoir que cette méthode fonctionne avec plusieurs carte réseau, pas seulement la carte par défaut eth0 ou wlp3s0.
Avec ip
La commande ip
succède à la commande ifconfig
qui est désormais dépréciée.
Pour récupérer l’adresse MAC de la carte courante :
cat /sys/class/net/$(ip route show default | awk '/default/ {print $5}')/address
Pour récupérer l’adresse MAC de chaque carte réseau :
ip a
Qui retourne la sortie suivante.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 00:90:f5:f8:c0:7d brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 80:86:f2:63:77:3e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.92/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp3s0
valid_lft 84156sec preferred_lft 84156sec
inet6 fe80::48f5:fd8:b8ab:546/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Avec ifconfig (dépréciée)
Cette commande permet de récupérer toutes les adresses MAC des interfaces avec le nom des interfaces devant.
ifconfig | grep HW | awk '/HWaddr/ {print $1,$5}'
Récupérer toutes les adresse MAC sur la machine (sans l’interface devant)
ifconfig | grep HW | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
Récupérer l’adresse Mac pour une interface donnée (ici eth0). Je vous mets plusieurs exemples d’expression régulières au cas où l’affichage des données changent et que certaines ne fonctionnent plus.
ifconfig eth0 | awk '/HWaddr/ {print $5}'
ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
ip link show eth0 | awk '/ether/ {print $2}'
Pour aller plus loin : https://stackoverflow.com/questions/23828413/get-mac-address-using-shell-script
XS_Killer
La commande « ifconfig » n’existe plus depuis Centos7 / RedHat 7
• Lien vers le commentaire
Alex Soyer Auteur(e) de l'article
Bien vu ! Je mets ça à jour, merci 🙂
• Lien vers le commentaire
kayl
Merci pour l’article mais vous n’avez donné que les commandes et les sorties. Pas comment exploiter cette sortie. En tant que novice, je n’arrive pas à extraire l’adresse MAC
• Lien vers le commentaire
Alex Soyer Auteur(e) de l'article
C’est-à-dire l’exploiter ? Qu’avez-vous besoin d’avoir en plus ? 🙂
• Lien vers le commentaire