Anders als im Internet kommunizieren Geräte im LAN nicht direkt über IP-Adressen. Stattdessen werden für die Adressierung in lokalen IPv4-Netzen physische Hardware-Adressen genutzt. Bei diesen sogenannten MAC-Adressen (Media Access Control) handelt es sich um einzigartige 48-Bit-Nummern, die es ermöglichen, jedes Gerät im LAN über seine Netzwerkkarte eindeutig zu identifizieren.
Beispiel einer MAC-Adresse: 00-80-41-ae-fd-7e
MAC-Adressen werden von den jeweiligen Hardware-Herstellern vergeben und sind weltweit einmalig. Theoretisch würden sich diese Hardware-Adressen somit für eine globale Adressierung eignen. In der Praxis lässt sich dies jedoch nicht umsetzen, da IPv4-Adressen zu kurz sind, um die MAC-Adresse komplett abzubilden. In Netzwerken auf Basis von IPv4 ist die Adressauflösung via ARP daher unumgänglich.
Möchte nun ein Rechner A einen Rechner B im gleichen Netzwerk kontaktieren, muss dieser für dessen IP-Adresse zunächst die passende MAC-Adresse ermitteln. Dabei kommt das Address Resolution Protocol (ARP) zum Einsatz, ein Netzwerkprotokoll, das nach dem Request-Response-Schema arbeitet.
Auf der Suche nach der passenden MAC-Adresse sendet Rechner A zunächst eine Broadcast-Anfrage (den sogenannten ARP-Request) an alle Geräte im Netzwerk. Diese beinhaltet in etwa folgende Informationen:
Ein Rechner mit der MAC-Adresse xx-xx-xx-xx-xx-xx und der IP-Adresse yyy.yyy.yyy.yyy möchte Kontakt mit einem Rechner mit der IP-Adresse zzz.zzz.zzz.zzz aufnehmen und benötigt die passende MAC-Adresse.
Der ARP-Request wird von allen Rechnern im LAN entgegengenommen. Um zu verhindern, dass vor dem Absenden eines jeden Datenpakets eine ARP-Anfrage gestellt werden muss, führt jeder Rechner im Netzwerk eine lokale Tabelle, den ARP-Cache. In diesem werden alle bekannten MAC-Adressen inklusive der zugeordneten IP temporär gespeichert.
Alle Rechner im Netzwerk notieren sich somit das in der Broadcast-Anfrage mitgelieferte Absender-Adresspaar. Eine Antwort auf die Broadcast-Anfrage wird jedoch nur von Rechner B erwartet. Dessen ARP-Reply beinhaltet folgende Informationen:
Hier das System mit der IP-Adresse zzz.zzz.zzz.zzz. Die gesuchte MAC-Adresse lautet aa-aa-aa-aa-aa-aa.
Geht ein solcher ARP-Reply bei Rechner A ein, verfügt dieser somit über alle benötigten Informationen, um Datenpakete an Rechner B zu senden. Der Kommunikation über das lokale Netzwerk steht nun nichts mehr im Wege.
Doch was, wenn nicht der gesuchte Zielrechner antwortet, sondern ein anderes Gerät, das von einem Innentäter mit unlautereren Absichten kontrolliert wird? Hier kommt ARP-Spoofing ins Spiel.