ARP : protocole associant une adresse IP à une adresse MAC

 

1. À propos du protocole ARP

ARP, pour Address Resolution Protocol, est un protocole réseau utilisé dans les réseaux IPv4 pour déterminer l'adresse MAC correspondant à une adresse IPv4 connue sur le réseau local.

Lorsqu'une machine souhaite transmettre une trame Ethernet à une autre machine située sur son réseau local, elle doit connaître son adresse MAC. L'adresse IP permet d'identifier logiquement la destination, tandis que l'adresse MAC est utilisée pour l'acheminement de la trame sur le réseau local Ethernet.

Adresse IP

Une adresse IP est une adresse logique utilisée pour identifier une interface réseau et permettre l'acheminement des paquets entre différents réseaux.

Une adresse IPv4 peut par exemple être :

192.168.1.20

Adresse MAC

Une adresse MAC, pour Media Access Control address, identifie une interface au niveau de la liaison de données. Elle est généralement représentée sous forme de six octets en notation hexadécimale.

Exemple :

00:1A:2B:3C:4D:5E

Rôle d'ARP

ARP permet donc essentiellement de répondre à la question suivante :

Quelle adresse MAC dois-je utiliser pour joindre cette adresse IPv4 sur mon réseau local ?

Information connueInformation recherchée
Adresse IPv4Adresse MAC
192.168.1.2000:1A:2B:3C:4D:5E

ARP et modèle OSI

ARP assure une fonction d'interaction entre l'adressage IPv4 et la couche liaison. Il permet à une machine utilisant une adresse IPv4 de déterminer l'adresse de liaison nécessaire à la transmission locale.

Dans un réseau Ethernet, ARP travaille donc en relation étroite avec :

  • IPv4 pour l'adressage logique ;
  • Ethernet pour la transmission locale ;
  • les adresses MAC pour identifier les interfaces sur le segment local.

ARP concerne principalement IPv4

ARP est associé à IPv4. En IPv6, la résolution des adresses de voisinage est assurée par le Neighbor Discovery Protocol, ou NDP, basé sur ICMPv6.

 

2. Fonctionnement du protocole ARP

Pour comprendre ARP, considérons deux ordinateurs appartenant au même réseau local.

MachineAdresse IPAdresse MAC
PC-A192.168.1.1000:11:22:33:44:55
PC-B192.168.1.2000:AA:BB:CC:DD:EE

PC-A souhaite envoyer des données à 192.168.1.20. Il connaît l'adresse IP de PC-B mais ne connaît pas encore son adresse MAC.

Étape 1 : consultation du cache ARP

PC-A commence généralement par consulter son cache ARP afin de vérifier si une association correspondant à l'adresse 192.168.1.20 est déjà connue.

Si l'association existe encore dans le cache, elle peut être utilisée directement. Dans le cas contraire, une résolution ARP doit être effectuée.

Étape 2 : ARP Request

PC-A diffuse alors une ARP Request sur le réseau local. Cette requête demande quelle machine possède l'adresse IPv4 recherchée.

Le principe du message peut être formulé ainsi :

Qui possède l'adresse IPv4 192.168.1.20 ?

La requête ARP est envoyée dans une trame Ethernet utilisant l'adresse MAC de diffusion :

FF:FF:FF:FF:FF:FF

Les machines du domaine de broadcast peuvent donc recevoir la requête.

Étape 3 : ARP Reply

La machine qui possède l'adresse IPv4 recherchée répond avec une ARP Reply.

PC-B indique alors à PC-A que l'adresse IPv4 192.168.1.20 correspond à l'adresse MAC 00:AA:BB:CC:DD:EE.

Étape 4 : mise à jour du cache

PC-A peut mémoriser temporairement cette association dans son cache ARP :

Adresse IPv4Adresse MAC
192.168.1.2000:AA:BB:CC:DD:EE

Étape 5 : transmission de la trame

PC-A dispose maintenant de l'adresse MAC nécessaire pour construire la trame Ethernet destinée à PC-B.

  1. PC-A connaît l'adresse IPv4 de PC-B.
  2. PC-A consulte son cache ARP.
  3. Si nécessaire, PC-A diffuse une ARP Request.
  4. PC-B répond avec une ARP Reply.
  5. PC-A mémorise temporairement l'association IP/MAC.
  6. PC-A utilise l'adresse MAC obtenue pour transmettre la trame.

Communication avec un réseau distant

ARP ne permet pas de rechercher directement l'adresse MAC d'une machine située derrière un routeur sur un réseau distant.

Lorsque la destination IPv4 se trouve sur un autre réseau, la machine doit généralement transmettre le paquet à sa passerelle par défaut. Elle utilise alors ARP pour déterminer l'adresse MAC de l'interface locale du routeur servant de prochain saut.

Il est donc important de retenir qu'une adresse MAC est utilisée sur le segment local et n'est pas transportée de bout en bout à travers Internet comme l'adresse IP de destination.

 

3. Table ARP et cache ARP

Pour éviter d'effectuer une nouvelle requête ARP avant chaque communication, les systèmes d'exploitation conservent temporairement les associations entre adresses IPv4 et adresses MAC.

Ces informations constituent le cache ARP, souvent consulté sous la forme d'une table ARP ou table de voisins.

Exemple de table ARP

Adresse IPv4Adresse MACType
192.168.1.110:20:30:40:50:60Dynamique
192.168.1.2000:AA:BB:CC:DD:EEDynamique
192.168.1.5011:22:33:44:55:66Dynamique

Entrées dynamiques

Les entrées dynamiques sont apprises automatiquement grâce aux échanges ARP. Elles sont généralement temporaires et peuvent être supprimées ou renouvelées selon le fonctionnement du système d'exploitation.

Entrées statiques

Une entrée statique peut être configurée manuellement afin d'associer une adresse IPv4 à une adresse MAC déterminée. Sa gestion dépend du système d'exploitation et de la configuration utilisée.

Consulter le cache ARP sous Windows

Sous Windows, la commande arp -a permet notamment d'afficher les informations ARP actuellement connues par la machine. La commande suivante est exécutée dans l'invite de commandes Windows et non dans Python.

Commande : arp -a

Une sortie peut contenir des informations similaires aux suivantes :

Adresse InternetAdresse physiqueType
192.168.1.110-20-30-40-50-60dynamique
192.168.1.2000-aa-bb-cc-dd-eedynamique

Les valeurs réellement affichées dépendent naturellement du réseau et des communications récentes de la machine.

Commande ip neigh sous Linux

Sous de nombreux systèmes Linux, la commande ip neigh permet de consulter la table des voisins, qui contient notamment les informations utilisées pour la résolution de voisinage.

Commande : ip neigh

Une sortie IPv4 peut par exemple indiquer une adresse IP, l'interface utilisée, l'adresse MAC correspondante et l'état de l'entrée.

Durée de vie des entrées

Les associations dynamiques ne sont pas nécessairement conservées indéfiniment. Le système peut les renouveler ou les supprimer lorsqu'elles deviennent obsolètes.

Ce fonctionnement permet notamment de prendre en compte les changements intervenant sur le réseau.

 

4. Observer et manipuler ARP avec Python

Python peut être utilisé dans un laboratoire réseau pour analyser des informations liées à ARP. Les exemples suivants sont volontairement simples et ne nécessitent pas l'envoi de paquets ARP sur le réseau.

Représenter une table ARP

Le programme suivant utilise un dictionnaire Python pour représenter plusieurs associations entre des adresses IPv4 et des adresses MAC. Il illustre simplement le principe d'une table ARP.

Sortie :

Rechercher une adresse MAC

Le programme suivant recherche l'adresse MAC associée à une adresse IPv4 donnée dans une table pédagogique. Il reproduit de manière simplifiée l'idée d'une consultation du cache avant d'effectuer une résolution ARP.

Sortie :

Ajouter une association

Le programme suivant montre comment une nouvelle association IP/MAC peut être ajoutée à notre table pédagogique après une résolution supposée. Il ne modifie pas le véritable cache ARP du système.

Sortie :

Détecter un changement d'adresse MAC

Le programme suivant illustre un principe utile pour la surveillance défensive. Il compare une association IP/MAC précédemment connue avec une nouvelle observation. Un changement peut avoir une explication légitime, mais il peut également justifier une vérification.

Sortie :

Un changement d'adresse MAC ne constitue pas à lui seul la preuve d'une attaque. Une nouvelle interface, une modification de configuration, un équipement remplacé ou certaines fonctions de virtualisation peuvent également modifier une association observée.

 

5. Sécurité ARP et ARP Spoofing

Le protocole ARP a été conçu pour permettre la résolution d'adresses sur un réseau local. Dans son fonctionnement traditionnel, il ne fournit pas à lui seul un mécanisme robuste permettant d'authentifier l'origine de chaque association annoncée.

Cette caractéristique peut être exploitée lors d'une attaque appelée ARP Spoofing ou ARP Poisoning.

Principe de l'ARP Spoofing

Lors d'un ARP Spoofing, un attaquant présent sur le réseau local cherche à faire accepter de fausses associations entre des adresses IPv4 et des adresses MAC.

Une victime peut alors enregistrer une association incorrecte dans son cache ARP.

Par exemple, si l'adresse IPv4 de la passerelle est 192.168.1.1, une association falsifiée peut tenter de faire croire à une machine que cette adresse correspond à une adresse MAC qui n'est pas celle de la véritable passerelle.

Conséquences possibles

Selon la configuration du réseau et le comportement de l'attaquant, une manipulation ARP peut contribuer à :

  • intercepter certaines communications locales ;
  • rediriger du trafic ;
  • perturber des communications ;
  • faciliter certaines attaques de type Man-in-the-Middle ;
  • provoquer un déni de service local.

ARP Spoofing et Man-in-the-Middle

Une attaque Man-in-the-Middle, ou MITM, consiste à positionner un système entre plusieurs participants à une communication afin d'intercepter ou éventuellement de modifier certains échanges.

L'ARP Spoofing est l'une des techniques qui peuvent contribuer à ce type d'attaque sur certains réseaux locaux IPv4. L'utilisation de protocoles applicatifs chiffrés comme HTTPS reste essentielle pour protéger le contenu des communications.

Détecter des anomalies ARP

La surveillance des associations entre les adresses IPv4 et MAC peut aider à identifier certaines anomalies. Un changement inattendu de l'adresse MAC associée à une passerelle importante mérite notamment une investigation.

Les administrateurs peuvent également analyser les journaux et les trames réseau à l'aide d'outils comme Wireshark afin de comprendre les échanges ARP observés sur un réseau qu'ils sont autorisés à administrer.

Dynamic ARP Inspection

Sur certains commutateurs administrables, la fonction Dynamic ARP Inspection, souvent abrégée DAI, peut contribuer à protéger le réseau contre certaines falsifications ARP.

Selon l'équipement et sa configuration, DAI peut vérifier les messages ARP à partir d'informations considérées comme fiables et rejeter certaines associations invalides.

Mesures de protection

  • segmenter correctement le réseau ;
  • éviter les réseaux locaux non fiables pour les ressources sensibles ;
  • utiliser HTTPS et d'autres protocoles chiffrés ;
  • surveiller les changements inhabituels dans les associations ARP ;
  • utiliser les mécanismes de sécurité disponibles sur les commutateurs administrables ;
  • activer Dynamic ARP Inspection lorsque l'infrastructure le permet et que sa configuration est maîtrisée ;
  • contrôler l'accès physique et logique au réseau local ;
  • investiguer les alertes concernant des changements inattendus de l'adresse MAC de la passerelle.

ARP dans un laboratoire de cybersécurité

ARP constitue un protocole particulièrement intéressant à observer dans un laboratoire réseau isolé. Avec des machines virtuelles et un outil comme Wireshark, il est possible d'étudier les ARP Request, les ARP Reply et le cache ARP sans intervenir sur un réseau de production.

Cette approche permet de comprendre concrètement la relation entre IPv4, Ethernet et les adresses MAC avant d'aborder les mécanismes de sécurité réseau plus avancés.

 

6. À retenir

ARP, ou Address Resolution Protocol, est un protocole utilisé avec IPv4 pour déterminer l'adresse MAC correspondant à une adresse IPv4 sur le réseau local.

Lorsqu'une machine connaît l'adresse IPv4 d'un équipement local mais ignore son adresse MAC, elle peut diffuser une ARP Request. La machine possédant l'adresse recherchée peut répondre par une ARP Reply.

Les associations obtenues sont généralement conservées temporairement dans un cache ARP. Cette mémorisation évite de répéter inutilement la résolution avant chaque transmission.

Lorsque la destination se trouve sur un réseau distant, l'ordinateur ne recherche généralement pas l'adresse MAC de cette destination distante. Il utilise ARP pour obtenir l'adresse MAC de son prochain saut, souvent la passerelle par défaut.

ARP ne fournit pas à lui seul une authentification forte des associations annoncées. Cette caractéristique explique l'existence d'attaques comme l'ARP Spoofing, dans lesquelles de fausses associations IP/MAC peuvent être introduites sur un réseau local.

La surveillance des associations ARP, la segmentation du réseau, le chiffrement des communications et des mécanismes tels que Dynamic ARP Inspection peuvent contribuer à réduire les risques.

Enfin, ARP est un protocole fondamental pour comprendre le fonctionnement d'un réseau local IPv4 et constitue une excellente introduction à l'étude d'Ethernet, des commutateurs, du routage, de Wireshark et de la sécurité des réseaux.

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *