Adresse MAC (Media Access Control)

Chaque appareil compatible réseau possède au moins un identifiant matériel unique au monde : l’adresse Media Access Control (adresse MAC en abrégé). Nous expliquons ci-dessous de quoi il s’agit et comment trouver ou réécrire l’adresse MAC.

Qu’est-ce qu’une adresse MAC ?

Chaque appareil qui doit être intégré dans un réseau informatique a besoin d’un adaptateur réseau. Cet adaptateur reçoit du fabricant un numéro d’identification unique au monde, l’adresse MAC. Cela permet d’identifier des appareils tels que les ordinateurs de bureau, les tablettes ou les téléphones mobiles dans le réseau et de les adresser selon les besoins. Si un appareil dispose de plusieurs adaptateurs réseau (par exemple pour plusieurs connexions LAN ou différents standards de communication tels que Ethernet, WLAN, FDDI, Bluetooth ou Token Ring), une adresse différente est disponible pour chaque standard.

Définition

L’adresse MAC (raccourci pour Media Access Control Adresse) désigne l’adresse matérielle unique au monde d’un seul adaptateur réseau. Cette adresse physique est utilisée pour identifier un appareil dans les réseaux informatiques

Dans la mesure où les adresses MAC sont attribuées directement par le fabricant du matériel, elles sont également appelées adresses matérielles. Sous Microsoft Windows, l’adresse MAC est appelée adresse physique. Selon le standard de communication, Apple utilise les termes Ethernet ID, Airport ID ou adresse Wi-Fi. Le terme adresse d’appareil, d’autre part, est flou car un appareil peut avoir plusieurs adaptateurs réseau et donc différentes adresses MAC.

L’adresse MAC en pratique

Des adresses MAC cohérentes constituent la base d’une communication réseau sans erreur.

La transmission de données dans les réseaux informatiques est un processus de communication complexe dans lequel différentes exigences de fiabilité, de sécurité et d’efficacité doivent être satisfaites. Ceci peut être clairement illustré à l’aide du modèle OSI (abréviation d’Open Systems Interconnection), le modèle de référence développé par l’ISO (International Organization for Standardization) qui cartographie la communication réseau sur 7 couches. Lors de la transmission des données, chaque couche du modèle OSI est transmise à la fois du côté émetteur et du côté récepteur.

Les adresses MAC sont utilisées sur la couche de sécurité de couche 2 du modèle OSI, en particulier sur la sous-couche de contrôle d’accès aux médias (Media Access Control) introduite par l’Institute of Electrical and Electronics Engineers (IEEE).

Note

Dans l’extension du modèle OSI conçu par l’IEEE, la couche de liaison (Layer2) est divisée en sous-couches Media Access Control (2a) et Logical Link Control (2b).

La couche de liaison est située entre la couche physique (couche 1) et la couche de commutation (couche 3). Tandis que la couche physique fournit les protocoles et les outils responsables du maintien de la liaison physique, les protocoles de la couche de liaison contrôlent la façon dont les différents systèmes partagent le support de transmission disponible. Les connexions système sécurisées sont extraites de la connexion physique. La transmission effective des paquets de données s’effectue au niveau de commutation via IP.

Si, par exemple, vous souhaitez envoyer un paquet IP dans l’Ethernet, votre ordinateur transmet une trame de données qui est adressée à l’adresse MAC de l’ordinateur cible selon le modèle OSI sur la couche de sécurité.

Note

Si l’ordinateur cible n’est pas dans le réseau local, un routeur est adressé et chargé de le transmettre à Internet. Les routeurs qui sont connectés à un réseau local ont également une adresse MAC unique.

Une trame de données Ethernet contient diverses informations qui sont lues aux différents niveaux du modèle OSI.

Les trames de données dans les réseaux IPv4 contiennent les composants suivants :

  • Adresse cible (les adresses MAC de l’ordinateur cible)
  • Adresse source (l’adresse MAC de l’expéditeur)
  • Informations de contrôle pour le contrôle du flux de données
  • Données utiles (le paquet de données à transmettre ultérieurement sur la couche de commutation)
  • Sommes de contrôle qui garantissent l’intégrité des données

Un ordinateur cible qui reçoit une trame de données la lit d’abord sur la couche de liaison et compare l’adresse cible de la trame avec sa propre adresse MAC. Si les adresses correspondent, l’ordinateur cible commence à interpréter la trame au niveau supérieur suivant.

Note

Les périphériques réseau utilisés uniquement pour transmettre des paquets de données (répéteurs) ou pour gérer des parties du réseau (ponts et commutateurs) ne participent généralement pas activement à la communication réseau et n’ont donc pas besoin de leur propre adresse MAC.

Afin de lier l’attribution d’adresse sur la couche de liaison à l’attribution d’adresse sur la couche d’échange, on utilise l’address resolution protocol (ARP) dans des réseaux IPv4. Chaque ordinateur du réseau local maintient une table ARP dans laquelle les adresses IP sont attribuées aux adresses MAC.

Conseil

ARP est vulnérable à un modèle d’attaque appelé ARP-Spoofing. Nous expliquons les dangers de l’usurpation d’identité ARP et les contre-mesures dans l’article suivant lié au sujet.

La nouvelle norme du protocole Internet IPv6 utilise au lieu de l’ARP la norme Neighbor Discovery Protocol (NDP).

La syntaxe d’une adresse MAC

Les adresses MAC dans les réseaux LAN ou WLAN se composent de 6 octets (48 bits) et sont écrites en notation hexadécimale. L’utilisation de séparateurs tels que des tirets ou des deux points entre deux octets favorise la lisibilité.

L’exemple suivant montre l’adresse MAC d’un ordinateur de bureau en représentation binaire et hexadécimale :

00110101 01101000 10110100 00000010 00010011 10011000 
AC-16-2D-02-C8-19
Note

Dans notre exemple, nous utilisons la représentation canonique de la séquence de bits. Ceci correspond à l’ordre dans lequel les adresses MAC sont transmises dans l’Ethernet. D’autres normes de communication telles que Token Ring permettent la transmission inversée par bit, en commençant par le bit le plus significatif.

La séquence de bits de chaque adresse MAC est divisée en 4 zones, chacune codant des informations différentes.

  • Bit 1 (Récepteur) : le 1er bit de l’adresse MAC indique s’il s’agit d’une adresse unique ou de groupe. Ce bit est appelé I/G (abréviation de Individual/Group). Si I/G = 0, il s’agit d’une adresse unicast pour une seule carte réseau. Les adresses multidiffusion sont identifiées par I/G = 1 et sont adressées à plusieurs destinataires.
  • Bit 2 (point d’émission) : le 2ème bit de l’adresse MAC indique s’il s’agit d’une adresse à validité globale (Universal) ou si l’adresse a été attribuée localement (Local). Le bit est appelé U/L. Si U/L = 0, l’adresse est considérée comme une adresse universellement valide. Les adresses qui ne sont uniques que localement sont appelées Adresse administrée localement (LAA) et marquées avec U/L = 1.
  • Bit 3-24 (identification du fabricant) : les bits 3 à 24 codent un identificateur unique d’organisation (OUI), qui est attribué exclusivement aux fabricants de matériel par IEEE. L’attribution des PIUP est généralement publique et peut être déterminée au moyen de bases de données. L’OUI de l’adresse de l’exemple (AC-16-2D) a été attribué par l’IEEE au fabricant américain de dispositifs Hewlett Packard.
  • Bit 25-48 (identification de l’adaptateur réseau) : les bits 25 à 48 fournissent 24 bits pour permettre aux fabricants de périphériques d’attribuer une identification matérielle unique (Adresse unique au niveau de l’organisation, OUA). Ainsi, 224 (= 16 777 216) OUA uniques peuvent être attribués par OUI.

Tableau : sous-domaines d’une adresse MAC

Type

I/G

U/L

OUI

OUA

Bit

1

2

3–24

25–48

Fonction

Groupe de récepteurs

Point d’émission

Identification du fabricant

Identification de l’adaptateur réseau

Trouvez une adresse MAC : comment ça marche

Les adresses MAC peuvent être interrogées dans tous les systèmes d’exploitation modernes avec un minimum d’effort via le terminal, à la fois sur le système local et à distance sur le réseau. Le tableau suivant montre les commandes de ligne de commande correspondantes pour les systèmes d’exploitation les plus courants.

Tableau : lire une adresse MAC

Système d’exploitation Commande terminale À distance
FreeBSD ifconfig arp -a
NetBSD ifconfig -a arp -a
OpenBSD ifconfig -a arp -a
Linux ip link ip neigh
Mac OS X / macOS ifconfig arp -a
Solaris ifconfig -a arp -a
Windows XP Professional getmac /v arp -a
Windows (ab 2000) ipconfig /all arp -a

Sur les appareils mobiles, vous pouvez afficher l’adresse MAC dans les paramètres.

Tableau : déterminer les adresses MAC sur les appareils mobiles

Système d’exploitation Local
Android Paramètres > Info téléphone > Informations sur le matériel
Apple iOS Réglages > Général > A propos > Adresse Wi-Fi
Windows Phone 7 Réglages > Info > Informations complémentaires

Lire une adresse MAC locale

Pour lire les adresses MAC des adaptateurs LAN et WLAN de votre ordinateur Windows, procédez comme suit sous Windows 10.

Étape 1 : ouvrez le terminal de votre système d’exploitation. Par exemple, utilisez les combinaisons de touches [Touche Windows] + [R]. Saisissez ensuite cmd dans la fenêtre Exécuter et confirmez avec OK.

Étape 2 : à partir de Windows 2000, la commande en ligne de commande ipconfig avec l’option /all est disponible pour récupérer l’adresse MAC de tous les adaptateurs réseau de votre ordinateur Windows.

Ipconfig /all
Conseil

Une alternative consiste à déterminez l’adresse MAC avec la commande getmac /v.

Étape 3 : dans Windows, l’adresse MAC est affichée sous « adresse physique ».

Lire une adresse MAC à distance

Grâce à l’ARP, il est possible dans les réseaux IPv4 de déterminer les adresses MAC d’autres appareils du même réseau local. Sous Windows et la plupart des systèmes d’exploitation unixoid, vous pouvez utiliser la ligne de commande arp avec l’option -a pour afficher la table ARP de votre système dans le terminal.

arp -a 

Vous recevrez une sortie de terminal selon le schéma suivant :

Interface : 172.24.0.113 --- 0x2
  Adresse Internet     Adresse physique        Type
  172.24.0.111            00-80-41-AE-FD-7E     dynamique
  172.24.0.112            12-34-56-78-9A-BC     dynamique

Si vous souhaitez seulement lire à distance l’adresse MAC d’un adaptateur réseau spécifique, utilisez la commande arp -a en combinaison avec l’adresse IPv4 locale de l’adaptateur cible.

arp -a 172.24.0.112

Attribuer l’adresse MAC côté logiciel

Les adresses MAC sont toujours attribuées par les fabricants d’appareils et sont « marquées » dans la puce de l’adaptateur réseau du côté matériel. Cependant, de nombreux systèmes d’exploitation offrent la possibilité d’écraser les adresses matérielles du côté logiciel. C’est ce qu’on appelle l’usurpation d’identité. Dans ce cas, un système n’envoie pas l’adresse matérielle réelle de l’adaptateur adressé pendant la communication réseau, mais une adresse MAC définie par l’utilisateur.

Attribuer une adresse MAC sous Windows

Sous Windows, vous pouvez écraser l’adresse MAC via le gestionnaire de périphériques si le pilote de périphérique de l’adaptateur réseau prend en charge cette fonction.

Étape 1 : ouvrez les paramètres de l’adaptateur réseau. Suivez le chemin d’accès : Démarrer Paramètres Réseau et Internet Ethernet Modifier les options de l’adaptateur.

Étape 2 : cliquez avec le bouton droit de la souris sur l’adaptateur réseau souhaité et sélectionnez « Désactiver » dans le menu contextuel.

Étape 3 : cliquez avec le bouton droit de la souris sur l’adaptateur réseau souhaité et sélectionnez « Propriétés » dans le menu contextuel. Une boîte de dialogue « Propriétés de l’adaptateur réseau » s’ouvre.

Étape 4 : cliquez sur le bouton « Configurer » dans la boîte de dialogue et sélectionnez la propriété « Adresse administrée localement » sous « Avancé ». Saisissez l’adresse MAC logicielle souhaitée sous « Valeur ».

Attribution d’adresses MAC dans les systèmes d’exploitation unixoid

Les dérivés Unix tels que Linux, macOS, Solaris et les systèmes d’exploitation BSD supportent l’allocation logicielle des adresses MAC via le terminal.

Tableau : réécrire une adresse Mac

Système d’exploitation Commande de terminal
Linux ip link set dev <Interface> addr XX:XX:XX:XX:XX:XXoder ifconfig <Interface> promiscund anschließendifconfig <Interface> hw ether XX:XX:XX:XX:XX:XX
Mac OS X / macOS ifconfig <Interface> ether XX:XX:XX:XX:XX:XX
Solaris ifconfig <Interface> ether XX:XX:XX:XX:XX:XX
FreeBSD ifconfig <Interface> link XX:XX:XX:XX:XX:XX
NetBSD ifconfig <Interface> link XX:XX:XX:XX:XX:XX activate
OpenBSD ifconfig <Interface> lladdr XX:XX:XX:XX:XX:XX

Nous illustrons la procédure pour le dérivé Unix Linux le plus couramment utilisé. Si vous souhaitez réécrire l’adresse MAC de votre adaptateur réseau sous Linux, procédez comme suit.

Étape 1 : Ouvrir le terminal du système d’exploitation, par exemple avec le raccourci [STRG]+[ALT]+[T].

Étape 2 : déterminez le nom et l’adresse MAC actuelle de l’adaptateur réseau souhaité. Entrez la commande suivante dans la ligne de commande :

ip link 
Conseil

Notez l’adresse matérielle attribuée par le fabricant au cas où vous voudriez annuler le changement.

Étape 3 : mettez l’adaptateur réseau hors tension en tapant la commande suivante dans la ligne de commande :

ip link set dev <interface> down</interface>
Note

Entrez le nom de l’adaptateur réseau déterminé via le lien ip pour <Interface>.

Étape 4 : remplacez l’adresse réseau attribuée par le fabricant par l’une des options spécifiées dans le tableau.

ip link set dev <Interface> addr XX:XX:XX:XX:XX:XX
Note

Au lieu de XX:XX:XX:XX:XX:XX, entrez l’adresse MAC souhaitée.

Étape 5 : redémarrez l’adaptateur réseau. Pour ce faire, utilisez la commande de ligne de commande suivante :

ip link set dev <Interface> up

Pour vous assurer que l’adaptateur réseau sélectionné peut être joint à l’adresse MAC que vous avez sélectionnée, relisez les informations réseau avec le lien ip (voir étape 1).