Getriebe-Inspektion
Ethereal belauscht Netz-Dialoge
Daten-Matroschkas
Für ihre Reise durch das Netz kleiden sich die Pakete nach dem Zwiebelprinzip. Die eigentliche Nachricht ist in mehrere Lagen Protokollinformationen eingewickelt. Das kommt – etwas vereinfacht – so: Der Mail-Client, der der Anwendungsschicht (Abbildung 4) zuzurechnen ist, generiert eine Anfrage an den Mailserver nach den Regeln des POP3-Protokolls.
Diese Nachricht übergibt er dem Kernel zum Versand. So gelangt sie in den Netzwerk-Stack und in ein TCP-Paket, auf dem die Adresse des gewünschten Dienstes auf dem Zielrechner steht. In diesem Fall also: Zielport 110. Außerdem enthält das Etikett des TCP-Pakets eine so genannte Sequenznummer, die es dem Empfänger ermöglicht, eintreffende Pakete der Reihe nach zu ordnen, falls sie unterwegs durcheinander geraten sind. Andere Markierungen (Flags) kennzeichnen beispielsweise den Status oder die Dringlichkeit. Ist alles ausgefüllt, wird das Paket nach unten weitergereicht.
So erreicht es die Internet-Schicht, die das TCP-Paket in ein IP-Datagramm verpackt, das als Anschrift die IP-Adresse des Mailservers trägt. Das ist die Voraussetzung dafür, dass die Daten, ihren Weg durch das Internet finden und alle Zwischenstationen das Paket wieder in die richtige Richtung weiter schicken (routen) können. Die Vermittlungsrechner, auf die es unterwegs trifft, entpacken nämlich nicht an sie selbst adressierte Pakete wieder solange, bis sie auf die IP-Adresse stoßen. Anhand dieser Adresse ermitteln sie Zielnetzwerk und weitere Reiseroute.
Die IP-Adresse markiert sozusagen das strategische Ziel der Reise, das nächste Etappenziel dagegen wird über eine physikalische Adresse angesteuert, eine 48 Bit lange Nummer, die fest zu einem angepeilten Netzwerkadapter des Zielrechners gehört. Dieses Interface muss sich immer in demselben Netz befinden wie der Startort der Etappe, nur Router, die mit mehreren Netzen verbunden sind, erlauben den Paketen in ihrem Innern den Adapter und damit das Netz zu wechseln. Die Netzzugangsschicht ermittelt anhand der IP-Adresse mit Hilfe einer ARP-Anfrage die zugehörige Ethernet-Adresse, packt das IP-Datagramm in einen Ethernet-Frame, notiert darauf die Ethernet-Adresse und schickt ihn über das Netzwerkkabel auf die Reise.
Am Ziel angekommen nimmt das Paket den umgekehrten Weg durch den Stack: Der Frame gelangt vom Kabel in die Netzzungangsschicht, die das IP-Datagramm auspackt und nach oben in die Internet-Schicht weiterreicht. Die entnimmt das TCP-Paket und gibt es an die End-zu-End-Schicht weiter. Dort wird die POP3-Nachricht extrahiert und dem Mailserver in der Anwendungsschicht zugestellt.
Jede der Protokoll-Schalen um den eigentlichen Nachrichtenkern stellt Ethereal im mittleren Teil des Hauptfensters als aufklappbare Liste sehr übersichtlich dar. Ein häufiger Fehler, den man hier entdecken kann, wäre etwa eine falsche IP-Adresse, die durch eine fehlerhafte Konfiguration auf das Paket gelangt sein kann. In diesem Fall landet es entweder nirgendwo oder bei einem Rechner, der damit nichts anzufangen weiß und es auf einer Müllhalde des Internet entsorgt.
Klartext
Unser Beispielpaket enthält offenbar nur einen kleinen Ausschnitt der Kommunikation zwischen Mail-Client und -Server. Ein Weg, die gesamte Unterhaltung mitzuverfolgen bestünde darin, jedes gesendete oder empfangene Paket unseres Beispiels anzuklicken und der Ascii-Darstellung den enthaltenen Text zu entnehmen. Diese nicht besonders schöpferische Arbeit nimmt einem Ethereal allerdings dankenswerter Weise ab. Dazu markiert man das erste Paket und wählt dann AnalyzeFollow TCP Stream. Das Ergebnis zeigt Abb. 5: Der komplette Dialog, gut lesbar formatiert.
Bezogen auf unser Mailproblem wissen wir jetzt: Der Client trägt keine Schuld, er wird auftragsgemäß tätig. Auch hat er offenbar die richtigen Informationen und kann den Mailserver erreichen. Der kennt ihn als Benutzer und akzeptiert auch das übermittelte Passwort. Das Kommando LIST zeigt, dass der Herr des Postfachs gesellige Zeiten gekannt haben muss – mehr als dreieinhalbtausend Mails lagern dort. Wenn Alfred und Berta heute nicht mehr miteinander reden, hat es also zumindest keine technischen Gründe.



