Protocole ARP : rôle et fonctionnement

ARP (Address Resolution Protocol) est un protocole de résolution d'adresses.
Il permet de faire correspondre dynamiquement une adresse logique à une adresse physique.
C'est-à-dire convertir l'adresse logique (adresse IP) utilisée à la couche réseau à l'adresse physique (adresse MAC) utilisée sur la couche de liaison de données.

C'est donc un protocole essentielle dans la communication au sein d'un réseau local LAN.

Dans ce tutoriel, nous allons voir le rôle et le fonctionnement du protocole ARP.

Protocole ARP : rôle et fonctionnement

Qu'est-ce que le protocole ARP : son rôle et fonctionnement

Pour rappel :

Le protocole de résolution d'adresses (ARP) est un protocole de communication utilisé pour la découverte de l'adresse de la couche de liaison, telle qu'une adresse MAC, associée à une adresse de couche Internet donnée, typiquement une adresse IPv4.

Pour cela, le protocole ARP fonctionne avec d'une table de cache, d'une filiale, d'un module de sortie, d'un module d'entrée et d'un module de contrôle de cache.
Voici le diagramme d'un paquet de protocole de résolution d'adresses :

Diagramme d'un paquet de protocole de résolution d'adresses
source : https://www.educba.com/networking-commands/
  • Output module : gère les paquets sortants à envoyer sur le réseau
  • Input module : gère les paquets entrant qui arrive sur l'adaptateur réseau du PC
  • La table de cache ARP stocke les correspondances entre les adresses MAC et adresses IP de chaque appareils du réseau. Elle est donc constamment mise à jour.
Le diagramme d'un paquet ARP
source : https://www.educba.com/networking-commands/

Comment fonctionne ARP

Imagions un réseau local LAN composés deux PC (PC1 et PC2) connectés en Ethernet.
Le PC1 a un paquet à envoyer à PC2.
Par une résolution DNS, il détermine que le PC2 a l'adresse IP 192.168.0.15.

Pour envoyer le message, il nécessite également de connaître l'adresse MAC de PC2.
Tout d'abord, PC1 utilise une table ARP cache pour rechercher 192.168.0.15 pour tout enregistrement existant de l'adresse MAC de PC2 (20:D3:7A:69:X7:CC).

  • Si l'adresse MAC est trouvée, elle envoie un cadre Ethernet avec l'adresse de destination 20:D3:7A:69:X7:CC, contenant le paquet IP sur le lien.
  • Si le cache n'a pas produit de résultat pour 192.168.0.15, Le PC1 doit envoyer un message de demande ARP diffusé sur le broadcast (destination FF: FF: FF: FF: FF ADRESSE MAC), qui est acceptée par tous les ordinateurs sur le réseau local, demandant une réponse pour 192.168.0.15.
Diffusion Broadcast et adresse MAC

Le PC2 répond avec un message de réponse ARP contenant ses adresses Mac et IP.
Dans le cadre du champ de la demande, l'ordinateur 2 peut insérer une entrée pour ordinateur 1 dans sa table ARP pour une utilisation future.

La structure d'un paquet ARP

Voici la structure d'un paquet ARP :

  • Type de matériel : Il s'agit de spécifier le type de matériel utilisé par le réseau local pour transmettre le message de protocoles de résolution d'adresses. Une fois que le matériel commun dans cette catégorie serait l'ETHERNET 'avec une valeur égale à 1 et que la taille du champ serait 2.
  • Type de protocole : pour attribuer un numéro fixe dans ce champ, IPv4 a un numéro 2048.
  • Taille du matériel: Il s'agit de la longueur des octets pour l'adresse MAC; En règle générale, nous voyons que l'Ethernet a une adresse MAC de 6 octets longtemps.
  • Taille du protocole : Il représente la longueur de l'adresse logique IPv4, adresse IPv4 Re Généralement 4 octets longs.
  • OPCODE : Il s'agit de la longueur de l'adresse logique en octets; Il spécifie la nature du message ARP. Une demande ARP a une valeur attribuée de 1, tandis que la réponse ARP détient la valeur de 2.
  • Adresse MAC de l'expéditeur: adresse de couche 2 pour l'envoi du message.
  • Adresse IP de l'expéditeur: adresse de protocole dans IPv4 pour l'appareil envoyant le message.
  • Adresse mac cible: couche 2 du récepteur prévu. Ce champ ne contient aucune valeur pendant la phase de demande et ne fonctionne que pendant la phase de réponse.
  • Adresse IP cible : Cette adresse adresse l'adresse de protocole du récepteur prévu.
La structure d'un paquet ARP :
source : https://www.educba.com/arp-packet-format/

La table de cache ARP

La table cache ARP stocke les correspondances adresse IP et adresse MAC afin de ne pas avoir à le redemander sur le réseau.
Le stockage d'une donnée dans le cache ARP a une durée limitée.

Voici la composition du cache ARP :

  • Etat : Il montre l'état de chaque entrée. L'état peut être libre, résolu ou en attente. L'état libre signifie que le temps de vivre pour l'entrée a expiré. Cet espace est attribué à une nouvelle entrée. L'état résolu signifie que l'entrée est complétée. Une entrée a l'adresse physique de destination. Les packages qui attendent d'être envoyés à cette destination peuvent utiliser les informations dans l'entrée. L'état en attente signifie que la demande de participation a été indiquée et attend la réponse.
  • Type de matériel : Il définit le type de réseau sur lequel le package ARP est en cours d'exécution.
  • Type de protocole : Il définit le type de protocole sur lequel le package ARP est en cours d'exécution.
  • Longueur du matériel : il définit la longueur de l'adresse physique.
  • Longueur du protocole : il définit la longueur de l'adresse logique.
  • Adresse matérielle : il affiche l'adresse physique de destination.
  • Adresse de protocole : il montre l'adresse logique de destination.
  • Numéro d'interface : il s'agit d'un numéro d'interface que le routeur utilise pour se connecter avec un réseau différent.
  • Numéro de la file d'attente : Il utilise le numéro de la file d'attente pour envoyer les paquets qui attendent la résolution d'adresses.
  • Time-Out : Il montre la durée de vie de chaque entrée dans la seconde.
  • Tentatives : Il affiche le nombre de fois où la demande ARP a été envoyée pour chaque entrée.
Afficher le contenu de la table cache ARP de Windows

Qu'est-ce que le ARP Spoofing ?

Le spoofing ARP, également appelé empoisonnement ARP, est une attaque de type Man in the middle (MITM) qui permet aux assaillants d'intercepter la communication entre les périphériques réseau.

L'attaque fonctionne comme suit:

  • L'attaquant doit avoir accès au réseau. Ils numérisent le réseau pour déterminer les adresses IP d'au moins deux périphériques⁠ - disons que celles-ci sont un poste de travail et un routeur
  • L'attaquant utilise un outil d'usurpateur, tel que Arpspoof ou DriftNet, pour envoyer des réponses d'ARP forgées.
  • Les réponses forgées annoncent que l'adresse MAC correcte des deux adresses IP, appartenant au routeur et au poste de travail, est l'adresse MAC de l'attaquant. Ainsi, le routeur et le poste de travail se connecte à la machine de l'attaquant, au lieu de l'un et l'autre
  • Les deux périphériques mettent à jour leurs entrées de cache ARP et à partir de ce moment-là, communiquent avec l'attaquant au lieu d'être directement les uns avec les autres
  • L'attaquant est maintenant secrètement au milieu de toutes les communications

Tags: