Das Internet ist eine Riesenansammlung von Hardware und Software, die miteinander verbunden ist. Um die Wege zu verfolgen, die zu Adressen führen kann sehr schwierig sein.
Trace Route ist ein Tool, mit dessen Hilfe ermittelt werden kann, wer sich hinter einer URL oder IP Adresse verbirgt. Eigentlich basiert TraceRoute auf einem Exploit (Ausnutzung) des ICMP (Internet Control Message Protocol). Dieses Protokoll dient unter anderem dazu, Fehler, die bei der Datenübertragung auftreten, an den Sender zurück zu melden.
Ein typischer Fehler ist zum Beispiel das Ablaufen des TTL-Zählers. TTL bedeutet "Time-to-Live". Jedes TCP Paket geht mit einem solchen Zählerwert (typischerweise 64) im Header auf die Reise. Jeder Router, den dieses Paket passiert, setzt diesen Zähler um Eins herunter. Hat das Paket sein Ziel nach dem passieren von 64 Routern nicht erreicht, so löscht der Router, der den Zähler auf Null setzt, das Paket und sendet eine ICMP-Fehlermeldung an den Sender zurück. Diese Fehlermeldung beinhaltet die Adresse des Routers. Da Router feste IP Adressen besitzen, kann diese Adresse nach Zugehörigkeit und Standort ausgewertet werden. Dies erfolgt über eine sogennante "Whois" Abfrage, die in einem anderen Artikel behandelt wird.
Wie kann TraceRoute nun den gesamten Weg des Datenpakets ermitteln? Das wird durch das kontinuierliche Senden von Paketen erreicht, wobei das erste Paket mit einem Zählerstand von Z=1 auf die Reise geschickt wird. Schon der erste Router wird das Paket löschen und die ICMP Meldung mit seiner eigenen Adresse zurück senden. Das zweite Paket geht mit Z=2 auf den Weg. Nun wird der erste Router passiert und der zweite Router löscht das Paket und sendet die Fehlermeldung. Dies geht so weiter, bis das Paket schließlich den Empfänger erreicht.
Aber der Empfänger hat nun keinen Grund eine Fehlermeldung mit seiner eigenen Kennung zurück zu senden. Wie bewegt man nun diesen Zielrechner dazu, sich zu identififieren? Dies wird ganz einfach dadurch erreicht, dass das Paket an einen nicht existierenden Port adressiert ist. Die auf dem Weg liegenden Router interessieren sich noch nicht für den Port und entdecken den Fehler nicht, da sie das Paket nur weiterleiten sollen. Erst der Empfänger bemerkt den Fehler, da er keinen entsprechenden Port hat. Also sendet dieser eine entsprechende Fehlermeldung, die somit TraceRoute signalisiert, dass das Paket sein Ziel erreicht hat.
Eingabe am Terminal:
(Sucht also den Weg zu dieser Adresse: www.sbb.ch)
mehr Informationen erhältst du mit dem Befehl:
Kommentare
Neuen Kommentar hinzufügen