ARP - Address Resolution Protocol
Willemers Informatik-Ecke
Das Address Resolution Protocol sorgt für die Umsetzung der IPv4-Adresse auf die MAC-Adresse (MAC: Media Access Control), also die Adresse der Netzwerk-Hardware.

Die Umsetzung von IPv6 auf MAC wird NDP (Neighbor Discovery Protocol) verwendet.

Die MAC-Adresse wird vom Hersteller vergeben. Jeder Hersteller erhält einen eigene Nummernkreis, in dem er seiner Netzwerk-Hardware Adressen vergeben kann. Auf diese Weise ist jede MAC-Adresse weltweit eindeutig.

Innerhalb eines lokalen Netzwerks werden die Pakete über die MAC-Adressen addressiert. Der Computer sendet also Pakete von seiner Hardware-Adresse an eine andere Hardware-Adresse und spricht damit die Netzwerk-Schnittstelle direkt an.

Damit ein Computer die MAC-Adresse eines anderen Computers im lokalen Netzwerk erfährt, sendet er ein MAC-Broadcast-Paket mit der gesuchten IP-Adresse. Ein Broadcast-Paket wird dadurch gekennzeichnet, dass alle Bits gesetzt sind. Die Adresse ist also ff:ff:ff:ff:ff:ff (zur Basis 16). Als Antwort erhält er das gleiche Paket, das dann als Absender die MAC-Adresse des sich meldenden Computers enthält.

Seine eigene IP-Adresse erfährt der Computer entweder durch statische Zuordnung oder über einen DHCP-Server.

Das Protokoll

Die Ausgangssituation: A sendet ein Paket an B und kennt die IP-Adresse von B. Im lokalen Netzwerk werden die Pakete allerdings von MAC-Adresse zu MAC-Adresse versandt. Kennt A die MAC-Adresse von B nicht, erfragt A sie.

Erreicht A eine MAC aus der ARP nicht mehr, broadcastet A erneut.

ARP-Tabellen unterliegen einer TTL (time to live), werden also nach einer gewissen Zeit ungültig.

Der Befehl arp

Mit dem Befehl arp wird die ARP-Tabelle des PCs angezeigt. Gibt man die Option -n wird statt des Namen die IP-Adresse angezeigt. Das beschleunigt den Befehl ungeheuer.
arp -n
Adresse      Hardware-Typ Hardware-Adresse  Optionen Maske Schnittstelle
172.16.64.1  ether        b0:aa:77:35:5f:ce C              wlp2s0
Durch jeden Kontakt mit einem anderen Rechner im lokalen Netzwerk gibt es einen neuen Eintrag in der ARP-Tabelle.

Der Befehl ifconfig

Der Befehl >ifconfig (unter Windows ipconfig) zeigt die Eigenschaften der Netzwerkschnittstellen eines Computers. Unter anderem werden dabei sowohl die MAC-Adresse als auch IPv4- und IPv6-Adresse angezeigt, sofern sie belegt wurden.

ARP-Spoofing

Die ARP-Tabelle wird dynamisch erzeugt und ist für den Benutzer eher unsichtbar. Für Angriffe wird die MAC-Adresse gefälscht, die zu einer IP-Adresse gehört. Daraufhin werden Pakete an diese IP-Adresse an eine andere MAC-Adresse - typischerweise den Angreifer - gesandt.

Verändert der Angreifer die ARP-Tabellen zweier Computer so, dass deren gegenseitige IP-Adressen auf die MAC des Angreifers zielen, schiebt sich der Angreifer zwischen die beiden Computer. Man spricht von einem Man in the MIddle-Angriff.

Ein ARP-Angriff ist naturgemäß nur im lokalen Netzwerk möglich, der Angreifer muss sich also im Netzwerk befinden oder einen Rechner im Netzwerk kapern.

arpspoof

Das Kommandozeilentool arpspoof ermöglicht das Verändern der ARP-Tabelle auf einem anderen Computer.
arpspoof -i Interface -t ZielDerUmleitung Angriffsziel
Will man also auf dem PC 192.168.101 den ARP-Eintrag für 192.168.0.1 auf den eigenen Rechner umlenken, ergibt sich folgender Befehl:
arpspoof -i eth0 -t 192.168.0.1 192.168.0.101

Ettercap

Für das ARP-Spoofing kann das Tool Ettercap verwendet werden. Es steht bei Linux im Repository zur Verfügung. Eine Anleitung findet sich unter openmaniak.com/ettercap_arp.php. Eine weiterer Cheat Sheet befindet sich unter https://comparite.ch/ettercapcs.