Obtenir l'adresse MAC d'un interface en script shell
ifconfig retourne le nom de l'interface et l'adresse MAC sur les premier et dernier champs de la première ligne.
Avec le script suivant, sii l'une des lignes en retrait contient UP BROADCAST le dernier nom d'interface et l'adresse MAC doivent être imprimés.
ifconfig -a | awk '/^[a-z]/ { iface=$1; mac=$NF; next } /UP BROADCAST/ { print iface, mac }' eth0 00:15:17:DC:5E:C8 eth1 00:15:17:DC:5E:C9
plusieurs interfaces peuvent répondre au critères. Ensuite, le script imprimera plusieurs lignes, mais on peut remplacer -a par le nom d'un interface pour récupérer uniquement l'adresse MAC de cet interface:
ifconfig -a | awk '/^[a-z]/ { iface=$1; mac=$NF; next }
/UP BROADCAST/ { print iface, mac }'
La commande suivant permet également de retourner l'adresse MAC d'un interface particulier.
ifconfig <Interface ex:eth0,eth1> | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
On peut également obtenir l'adresse MAC pour toutes les interfaces comme suit:
cat /sys/class/net/*/address
Pour une interface particulière:
cat /sys/class/net/eth0/address