GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir l'adresse MAC à l'aide du script shell

La meilleure solution spécifique à Linux consiste à utiliser sysfs :

$ IFACE=eth0
$ read MAC </sys/class/net/$IFACE/address
$ echo $IFACE $MAC
eth0 00:ab:cd:12:34:56

Cette méthode est extrêmement propre par rapport aux autres et ne génère aucun processus supplémentaire depuis read est une commande intégrée pour les shells POSIX, y compris les shells non BASH. Cependant, si vous avez besoin de portabilité vers OS X, vous devrez utiliser ifconfig et sed méthodes, car OS X n'a ​​pas d'interface de système de fichiers virtuel comme sysfs.


Vous pouvez faire comme suit

ifconfig <Interface ex:eth0,eth1> | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

Vous pouvez également obtenir MAC pour toutes les interfaces comme suit

cat /sys/class/net/*/address

Pour une interface particulière comme pour eth0

cat /sys/class/net/eth0/address

Linux
  1. Comment obtenir la propre adresse IP et l'enregistrer dans une variable dans un script shell ?

  2. Comment définir une adresse proxy à l'échelle du système à l'aide d'un script shell ?

  3. Comment obtenir une adresse mémoire spécifique en utilisant C

  4. Obtenir une liste de noms de fonctions dans un script shell

  5. Envoi de courrier HTML à l'aide d'un script shell

Comprendre facilement les commandes Shell à l'aide du script "Explain Shell" sous Linux

Obtenir une ligne spécifique à partir d'un fichier texte en utilisant uniquement un script shell

Calcul du pourcentage arrondi dans Shell Script sans utiliser bc

Itérer sur la variable $ PATH à l'aide d'un script shell

Créez une interface réseau virtuelle à l'aide de la commande iproute2 ip link avec une adresse MAC usurpée

Comment puis-je obtenir mon adresse IP externe dans un script shell ?