Comment Trouver l’Adresse MAC d’un Raspberry Pi ? (3 moyens)


Sur certains réseaux, il est possible de configurer une liste blanche des adresses MAC, pour autoriser uniquement le matériel connu à se connecter.
Vous savez peut-être déjà comment trouver l’adresse Mac sur d’autre systèmes (Windows par exemple) et ici je vais vous expliquer comment faire sur Raspberry Pi.

Comment trouver l’adresse MAC correspondant à votre Raspberry Pi ?
Une adresse MAC est un identifiant unique assigné à votre matériel, chaque carte réseau a une adresse MAC différente.
Une façon simple de l’obtenir sur Raspberry Pi est d’utiliser la commande ifconfig dans un terminal.

Dans ce tutoriel, je vous expliquerai donc comment utiliser cette commande, mais aussi d’autres méthodes pour l’obtenir, suivant les cas.

Trouver l’adresse MAC sur Raspberry Pi OS

Donc la première méthode sur Raspberry Pi OS (anciennement Raspbian), est donc d’utiliser la commande :
ifconfig

Cette commande est disponible de base sur toutes les versions (Lite ou Desktop).

Sur la version Lite, vous pouvez l’utiliser directement une fois identifié
Pour la version bureau, il faudra d’abord ouvrir un terminal, et ensuite l’utiliser.

Voici comment faire sur Raspberry PI OS Desktop :

  • Ouvrez un terminal (le raccourci est dans la barre du haut)
  • Tapez la commande et appuyez sur Entrée :
    ifconfig
  • Vous obtiendrez quelque chose comme ça :
  • Vous pouvez voir un paragraphe par carte réseau sur votre système.
    eth0 correspond à la carte Ethernet, et wlan0 à la connexion Wi-Fi.
    Dans chaque paragraphe, vous verrez la configuration IPv4 et IPv6, l’adresse MAC et quelques statistiques sur la connexion réseau.
  • L’adresse MAC est visible juste après le mot clé « ether », ici :
  • Donc, dans ce cas, l’adresse MAC est b8:27:eb:4f:15:95

Et voilà, vous pouvez maintenant faire la même chose sur votre Raspberry Pi, et utiliser votre adresse MAC dans la configuration de votre routeur par exemple.

Obtenir l’adresse MAC avec un scan du réseau

Si votre but n’est pas forcément d’autoriser un matériel sur le réseau, mais par exemple de l’assigner à une adresse IP statique dans votre DHCP, vous pouvez aussi scanner le réseau pour trouver un équipement qui est déjà connecté au réseau (que ce soit un Raspberry Pi ou autre).

Pour faire cela, j’utilise généralement le logiciel Advanced IP Scanner sur Windows:

  • Commencez par télécharger le logiciel ici si vous ne l’avez pas encore
  • Installez-le comme n’importe quelle application et lancez-le
  • Entrez la plage réseau à scanner
    (Il me semble que le logiciel détecte votre réseau automatiquement)
  • Et appuyez sur le bouton « Scan » pour démarrer
  • Après quelques secondes, vous verrez apparaître la liste de vos périphériques réseaux, comme ceci :
  • Et comme vous pouvez le voir sur la ligne surlignée, vous pouvez aussi obtenir votre adresse MAC du Raspberry Pi de cette manière !

Obtenir l’adresse MAC via un script

De dernier scénario que j’imagine, c’est si vous avez besoin de récupérer l’adresse MAC dans un script que vous utiliserez sur plusieurs systèmes Linux, en incluant certains Raspberry Pi.
Je vais vous donner deux méthodes de faire ceci : soit en Python, soit en script Shell.

Script Python

Python est un langage fréquent sur Raspberry Pi, et est aussi disponible sur de nombreux systèmes d’exploitations.
C’est donc une bonne idée de l’utiliser dans vos projets.

Si vous avec besoin de trouver l’adresse MAC d’un système en Python, il existe plusieurs manières de le faire.
La méthode que je préfère, est de garder cela simple. En installant get-mac et en l’utilisant directement dans le code.
Voici donc comment faire :

  • Si nécessaire, il faudra commencer par installer pip sur votre système :
    sudo apt install python-pip
  • Puis installer get-mac via la commande pip suivante :
    sudo pip install get-mac
    La page du projet est ici si vous voulez en savoir plus.
  • Une fois installé, il ne vous reste plus qu’à l’utiliser dans votre script Python :
    from getmac import get_mac_address

    eth_mac = get_mac_address()
    print(eth_mac)
  • Il y a plein d’options utilisables, par exemple pour récupérer l’adresse MAC d’une machine distante ou pour spécifier si on veut l’adresse MAC correspondant à eth0 ou wlan0 (Ethernet ou Wi-Fi).
    Toutes les informations sont disponibles sur la page du projet.

Si vous préférez ne rien installer sur votre système, vous pouvez essayer aussi avec la librairie uuid.
La méthode la plus propre que j’ai trouvée est celle-ci :
import re,uuid

mac=':'.join(re.findall('..', '%012x' % uuid.getnode()))
print(mac)

Voici quelques explications :

  • uuid.getnode() : Retourne l’identifiant unique
  • findall : pour effectuer la recherche dans l’identifiant (expression régulière)
  • join : pour recoller tous les morceaux

Voici les liens des librairies re et uuid si besoin de plus d’infos.

Script Shell

La dernière méthode que je vous propose est de récupérer l’adresse MAC du Raspberry Pi dans un script shell.
Dans un script shell, on utilisera généralement des commandes systèmes.
De ce que je sais, il n »existe pas de commande retournant directement l’adresse MAC sur Linux, mais vous pouvez lire le contenu du fichier /sys/class/net/<INTERFACE>/address qui contient l’adresse MAC actuellement utilisée.

Ce qui donnerait quelque chose du genre :

#!/bin/sh
if [ -e /sys/class/net/eth0 ]; then
   MAC=$(cat /sys/class/net/eth0/address)
else
   MAC=$(cat /sys/class/net/wlan0/address)
fi

echo $MAC

Le script essaye de lire le fichier correspondant à eth0 en premier, et s’il n’existe pas, il lit celui de wlan0.

Conclusion

Et voilà, vous savez maintenant comment obtenir l’adresse MAC actuelle de votre Raspberry Pi.
Vous avez vu la manière classique (ifconfig), mais aussi des techniques alternatives pour l’obtenir quel que soit votre cas.

Comme d’habitude, merci par avance de partage ce post sur vos réseaux sociaux favoris, si vous l’avez trouvé utile 🙂

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi and publiant des guides détaillés et des tutorials rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec un expérience dans le développement web.

Recent Content