Aller au contenu principal

Etude d'un protocole : ARP

Notions Théoriques

Qu'est-ce que le Protocole ARP ?

Le protocole ARP (Address Resolution Protocol) est utilisé pour associer :

  • les adresses IP (Internet Protocol)
  • aux adresses MAC (Media Access Control).
Rappel
  • Les adresses IP identifient les appareils sur un réseau,
  • Les adresses MAC identifient de manière unique chaque carte réseau d'un appareil.

Si la différence n'est pas claire pour vous, n'hésitez pas à consulter le tutoriel "Adresse IP / adresse MAC".

Dans quelle couche du modèle TCP/IP se situe le protocole ARP ?

ARP fait partie de la couche Internet car il est essentiel pour la transmission des paquets IP sur un réseau local.

Bien que certains considèrent parfois ARP comme faisant partie de la couche inférieure (couche réseau) en raison de son interaction directe avec les adresses matérielles, il est généralement classé dans la couche Internet du modèle TCP/IP car il est intimement lié au fonctionnement du protocole IP.

Fonctionnement de l'ARP

  1. Requête ARP : Lorsqu'un appareil veut communiquer avec un autre appareil sur le même réseau local, il doit connaître l'adresse MAC de l'appareil de destination. Si l'adresse MAC n'est pas déjà connue, l'appareil émetteur envoie une requête ARP. Cette requête est un message de diffusion (broadcast) envoyé à tous les appareils du réseau local, demandant "Qui a cette adresse IP ?".

  2. Réponse ARP : L'appareil dont l'adresse IP correspond à celle demandée répond avec une réponse ARP, contenant son adresse MAC. Cette réponse est un message unicast envoyé directement à l'appareil émetteur.

  3. Cache ARP : Pour éviter de répéter ce processus à chaque communication, les appareils stockent les correspondances IP-MAC dans un cache ARP. Ce cache est une table de correspondance temporaire qui garde en mémoire les adresses MAC associées aux adresses IP récemment utilisées.

3 types de messages réseau : Unicast, Multicast et Broadcast
TypeDestinatairesUtilisation typiqueEfficacité
UnicastUn seul destinataireNavigation Web, courrielsTrès efficace pour les communications individuelles
MulticastPlusieurs destinataires (groupe)Streaming vidéo, conférences en lignePlus efficace pour les communications de groupe
BroadcastTous les nœuds du réseauAnnonces réseau, DHCPPeut être inefficace sur de grands réseaux

Unicast

Unicast consiste à envoyer des données d'un seul émetteur à un seul récepteur.

  • Caractéristiques :

    • Point à point : Communication directe entre deux nœuds.
    • Utilisation courante : Navigation Web, courriels.
    • Efficacité : Très efficace pour les communications individuelles.
  • Exemple :

    • HTTP : Un utilisateur accède à une page Web, et le serveur envoie les données directement à l'utilisateur.

Multicast

Multicast envoie des données d'un émetteur à plusieurs récepteurs intéressés.

  • Caractéristiques :

    • Point à multipoint : Communication vers un groupe de nœuds.
    • Utilisation courante : Streaming vidéo, conférences en ligne.
    • Efficacité : Plus efficace pour les communications de groupe.
  • Exemple :

    • Streaming vidéo : Une diffusion en direct est envoyée à un groupe de spectateurs.

Broadcast

Broadcast envoie des données d'un émetteur à tous les nœuds d'un réseau local.

  • Caractéristiques :

    • Point à tous : Communication vers tous les nœuds du réseau.
    • Utilisation courante : Annonces réseau, DHCP.
    • Efficacité : Peut être inefficace sur de grands réseaux.
  • Exemple :

    • DHCP : Un appareil envoie une demande en broadcast pour obtenir une adresse IP.
ARP : Un protocole important pour les réseaux locaux (LAN)

Sans ARP, les appareils ne pourraient pas établir de communication directe, sur les réseaux locaux (LAN), car ils ne sauraient pas à quelle adresse MAC envoyer les paquets.

Exemple de Trame ARP

Une trame ARP contient plusieurs champs importants :

  • Type de matériel : Indique le type de matériel (par exemple, Ethernet).
  • Type de protocole : Indique le protocole de la couche réseau (par exemple, IPv4).
  • Longueur de l'adresse matérielle : Longueur de l'adresse MAC.
  • Longueur de l'adresse du protocole : Longueur de l'adresse IP.
  • Opération : Indique s'il s'agit d'une requête (1) ou d'une réponse (2).
  • Adresse MAC source et Adresse IP source : Adresses de l'appareil émetteur.
  • Adresse MAC cible et Adresse IP cible : Adresses de l'appareil destinataire.

Exemple Pratique

Imaginons un scénario où un ordinateur A veut envoyer des données à un ordinateur B sur le même réseau local.

  1. Ordinateur A a l'adresse IP 192.168.1.2 et l'adresse MAC AA:BB:CC:DD:EE:FF.
  2. Ordinateur B a l'adresse IP 192.168.1.3 et l'adresse MAC 11:22:33:44:55:66.

Voici les étapes de la communication.

  1. Requête ARP :

    • Ordinateur A envoie une requête ARP en diffusion sur le réseau local : "Qui a l'adresse IP 192.168.1.3 ?"
    • La trame ARP contient l'adresse MAC source AA:BB:CC:DD:EE:FF et l'adresse IP source 192.168.1.2.
  2. Réponse ARP :

    • Ordinateur B reçoit la requête et répond directement à l'ordinateur A : "J'ai l'adresse IP 192.168.1.3 et mon adresse MAC est 11:22:33:44:55:66".
    • La réponse est envoyée en unicast à l'adresse MAC AA:BB:CC:DD:EE:FF.
  3. Cache ARP :

    • Ordinateur A met à jour son cache ARP avec l'entrée 192.168.1.3 -> 11:22:33:44:55:66.
  4. Transmission des Données :

    • Ordinateur A peut maintenant envoyer les données directement à l'adresse MAC 11:22:33:44:55:66.
Utilisation du Protocole ARP dans une Attaque Man In The Middle (MITM)

Qu'est-ce qu'une attaque Man In The Middle (MITM) ?

Une attaque MITM se produit lorsque l'attaquant intercepte et éventuellement modifie la communication entre deux parties sans leur consentement.

Comment le Protocole ARP est-il Exploité ?

  1. ARP Spoofing (ou ARP Poisoning) :

    • L'attaquant envoie des messages ARP falsifiés sur le réseau local.
    • Ces messages contiennent des informations incorrectes qui associent l'adresse IP d'une victime à l'adresse MAC de l'attaquant.
  2. Interception des Communications :

    • Une fois que les tables ARP des victimes sont empoisonnées, les paquets destinés à l'adresse IP de la victime sont envoyés à l'adresse MAC de l'attaquant.
    • L'attaquant peut alors intercepter ces paquets, les lire ou les modifier avant de les retransmettre à la destination prévue.
  3. Conséquences :

    • Espionnage : L'attaquant peut surveiller toutes les communications entre les victimes.
    • Manipulation de Données : Les données peuvent être modifiées avant d'être envoyées à la destination.
    • Vol d'Informations : Des informations sensibles comme les identifiants de connexion peuvent être volées.

Prévention

Pour se protéger contre les attaques MITM basées sur ARP, plusieurs mesures peuvent être prises :

  • Utilisation de Protocoles Sécurisés : Utiliser HTTPS, SSH et autres protocoles sécurisés pour chiffrer les communications.
  • Static ARP Entries : Configurer des entrées ARP statiques pour les appareils critiques.
  • Outils de Détection : Utiliser des outils de détection d'ARP spoofing pour surveiller et alerter en cas d'anomalies.

Test de Mémorisation/Compréhension


Quel est le rôle principal du protocole ARP ?


Que se passe-t-il lorsqu'un appareil veut communiquer avec un autre appareil sur le même réseau, mais ne connaît pas son adresse MAC ?


Comment est envoyée une requête ARP sur le réseau ?


Quel type de message réseau est utilisé pour une réponse ARP ?


Quel est le but du cache ARP sur un appareil ?


Quel type de message réseau est le plus efficace pour les communications individuelles ?


Quel type de message réseau est utilisé pour envoyer des données à tous les nœuds d'un réseau local ?


Quel type de message réseau est utilisé pour les applications de streaming vidéo en direct ?


Quel type de message est utilisé par le protocole DHCP pour envoyer une demande d'adresse IP ?


Dans quel type de message réseau un serveur envoie-t-il des données directement à un utilisateur ?


Quel type de communication est utilisé lorsque des données sont envoyées d'un seul émetteur à un seul récepteur ?


Quel type de message réseau est le plus efficace pour les communications de groupe ?


Quel type de message réseau est utilisé pour les annonces réseau ?



TP : Mise en pratique du protocole ARP

Voici les étapes à suivre.

  1. Vérification du cache ARP :

    • Ouvrez une ligne de commande.
    • Tapez la commande suivante pour afficher le cache ARP :
      • Sous Windows : arp -a
      • Sous Linux/MacOS : arp -a
    • Notez les entrées affichées.
  2. Envoi d'une requête ARP :

    • Identifiez une adresse IP sur le même réseau local (par exemple, l'adresse IP de votre routeur).
    • Pinger cette adresse IP pour générer une requête ARP :
      • Sous Windows/Linux/MacOS : ping <adresse IP>
    • Exemple : ping 192.168.1.1
  3. Vérification du cache ARP (Suite) :

    • Réaffichez le cache ARP en utilisant la même commande que précédemment.
    • Notez toute nouvelle entrée correspondant à l'adresse IP que vous avez pingée.
  4. Suppression d'une entrée du Cache ARP :

    • Supprimez une entrée spécifique du cache ARP :
      • Sous Windows : arp -d <adresse IP>
      • Sous Linux/MacOS : sudo arp -d <adresse IP>
    • Exemple : arp -d 192.168.1.1
  5. Vérification finale du cache ARP :

    • Réaffichez le cache ARP pour vérifier que l'entrée a été supprimée.
Une solution