Réponses:
Ce qui suit est un fragment d'un script bash que j'utilise pour déterminer le MAC d'Ethernet, ou s'il n'existe pas de WiFi (pour Pi Zero W).
Il ne repose pas sur ifconfig
ou toute autre méthode de détection des IP allouées et a juste besoin du système pour détecter le matériel réseau.
Cela fonctionne pour Jessie, Stretch ou Buster
# Find MAC of eth0, or if not exist wlan0
if [ -e /sys/class/net/eth0 ]; then
MAC=$(cat /sys/class/net/eth0/address)
elif [ -e /sys/class/net/enx* ]; then
MAC=$(cat /sys/class/net/enx*/address)
else
MAC=$(cat /sys/class/net/wlan0/address)
fi
Fondamentalement, vous pouvez utiliser MAC=$(cat /sys/class/net/wlan0/address)
pour trouver le MAC du WiFi intégré sur Pi3 ou Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address)
devrait fonctionner sur les dongles WiFi sur Stretch, mais vous pouvez facilement adapter ce qui précède pour fonctionner à la fois sur Jessie ou Stretch pour WiFi et Ethernet.
/sys/class/net
?
Entrez dans le terminal / la console ifconfig wlan0
À la fin de la première ligne devrait se trouver l'adresse matérielle aka MAC.
Voici un exemple de sortie (paramètres régionaux allemands):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfig
soit une bonne alternative pour l'avenir.
Beaucoup de distros est remplaçaient ifconfig
avec ip
donc je déconseille l'utilisation de ifconfig
.
Pour afficher l'interface wlan0:
ip link show wlan0
ou
cat /sys/class/net/wlan0/address
ifconfig
sera toujours disponible pendant de nombreuses années. Le supprimer permettra d'économiser un maigre 800 Ko, cassant beaucoup d'anciens scripts.
ip link show
est probablement plus approprié que ip addr show
.
ifconfig
par défaut, Raspbian Stretch semble l'avoir. Je préfère ip
plus ifconfig
, mais je pense que Bob a raison de dire que link
est probablement plus approprié que addr
dans ce contexte. La solution que j'ai choisie, cependant, était de la lire /sys/class/net/wlan0/address
- aucune analyse supplémentaire n'est nécessaire. De plus, je l'écris comme cat /sys/class/net/wl*/address
dans une tentative naïve de le faire enregistrer pour les "noms d'interface réseau prévisibles" à venir.
ifconfig wlan0
À la fin de la première ligne devrait se trouver l'adresse matérielle aka MAC.