Contrairement à ce qui se passe avec Internet, les appareils dans le LAN ne communiquent pas directement grâce à des adresses IP. À la place, ils utilisent des adresses physiques pour adresser en réseaux locaux IPv4. Ces adresses MAC (Media Access Control) sont des nombres uniques de 48 bits, et permettent d’identifier chaque appareil du LAN grâce à sa carte réseau.
Exemple d‘une adresse MAC : 00-80-41-ae-fd-7e
Les adresses MAC sont attribuées par les fabricants de matériel respectifs, et chacune est unique au monde. En théorie, elles sont adaptées à un adressage global, mais ceci ne fonctionne pas dans la pratique, car les adresses IPv4 sont trop courtes pour représenter complètement les adresses MAC. Dans les réseaux basés sur IPv4, la résolution des adresses via ARP n’est donc pas disponible.
Si un ordinateur A veut entrer en communication avec un ordinateur B au sein du même réseau, il doit d’abord déterminer quelle est l’adresse MAC pour son adresse IP. Ceci fait appel à l’ARP (Address Resolution Protocol), un protocole réseau qui opère en fonction du scénario de requête et de réponse.
Après avoir trouvé la bonne adresse MAC, l’ordinateur A envoie une demande de broadcast (également appelée demande ARP) à tous les appareils du réseau. Cette demande contient les informations suivantes :
Un ordinateur avec l’adresse MAC xx-xx-xx-xx-xx-xx et l’adresse IP yyy.yyy.yyy.yyy souhaite entrer en contact avec l’ordinateur à l’adresse IP zzz.zzz.zzz.zzz et a besoin de l’adresse MAC correspondante.
La demande ARP est reçue par tous les appareils du LAN. Pour éviter que la requête ARP ne soit d’abord soumise à l’envoi de chaque paquet de données, chaque ordinateur du réseau produit une table locale, le cache ARP. Dans ces tables, toutes les adresses MAC connues sont temporairement sauvegardées aux côtés de leurs adresses IP.
De cette façon, tous les ordinateurs du réseau enregistrent la requête broadcast en même temps que l’adresse d’envoi correspondante. On attend seulement de l’ordinateur B qu’il réponde à la demande de broadcast. La réponse ARP contient les informations suivantes :
Message du système à l’adresse IP zzz.zzz.zzz.zzz. L’adresse MAC demandée est aa-aa-aa-aa-aa-aa.
Si cette réponse ARP est délivrée à l’ordinateur A, il dispose alors de toutes les informations nécessaires pour envoyer les paquets de données à l’ordinateur B, et plus rien n’empêche la communication au sein du réseau local.
Mais que se passe-t-il si l’ordinateur visé ne répond pas, et que la réponse provient d’un autre appareil contrôlé par un pirate interne ? C’est ici que l’ARP spoofing entre en jeu.