Inhalt
Einleitung
Hin und wieder steht man vor dem Problem, dass man gerne in den Netzwerk-Verkehr des eigenen PCs oder Netzwerks blicken möchte. Sei es, um ominöse Verbindungen endlich zu verstehen, um eine vermeintliche Attacke zu analysieren oder herauszufinden, was genau der Grund für die unspezifische Meldung “Verbindungsabbruch” im Mail-Client ist.
Für diese Zwecke gibt es ein sehr mächtiges Programm Wireshark (ehemals Ethereal genannt). Es ist Open Source und wird von vielen Informatikern als eines der wichtigsten Programme aller Zeiten überhaupt angesehen.
Zum Verständnis ist ein gewisse Rüstzeug über die verwendeten Protokolle des OSI- resp. TCP/IP Referenmodells nötig. Dies soll hier aber nicht das Thema sein. Die grundlegenden Informationen sind auf Wikipedia sehr gut dargestellt.
Installation
Die Software ist auf Windows http://www.wireshark.org zu finden, die Installation ist nicht weiter schwierig. Als erstes muss der Treiber fürs Mitschneiden installiert werden (WinPCap). Die Installation erledigt alle Schritte. Ein Tutorial zur Bedienung findet man an vielen Stellen, zum Beispiel hier: http://www.nwlab.net/tutorials/wireshark
Mitschneiden
Wireshark kann nun gestartet werden.
Als erstes müssen wir festlegen, auf welcher Schnittstelle Wireshark den Netzwerkverkehr mitschneiden soll. Mit dem Icon oben ganz links wählen wir die richtige LAN-Netzwerkkarte und starten mit Start den Mitschnitt. Ein Statistikfenster erscheint.
Wichtig ist zu verstehen, dass eine einem modernen geswitchten Netzwerk die Pakete nicht an einer beliebigen Stelle abgegriffen werden können (nur die Pakete, die physikalisch an die gewählte Netzwerkschnittstelle gelangen).
Als einfachen Test versuchen wir www.google.ch mit ping zu erreichen: ping www.google.ch
Dies sieht in Wireshark ungefähr so aus:
Die Ansicht ist dreigeteilt: Oben sehen wir eine Liste der verschiedenen Pakete, wobei die verschiedenen Farben für unterschiedliche Protokolle stehen. In der Mitte sieht man die einzelnen Layer (Schichten) des ausgewählten Pakets. Diese lassen sich in einer Baumstruktur öffnen, so dass man alle Layer sowie dessen Inhalte betrachten kann.
Unten sehen wir die Raw-Daten, also das Paket in Hexadezimal- und ASCII-Ausgabe, wobei der jeweils ausgewählte Layer automatisch markiert wird. Ein nettes Feature, denn so lernt man leicht die Beschaffenheit von Paketen und erkennt auch schnell, an welcher Stelle im Paket welche Informationen zu finden sind.
Wir stellen fest, dass
- zuerst der Name www.google.ch mit einer DNS-Anfrage in eine IP-Adresse aufgelöst wird. Die Antwort ist: 74.125.43.105
- 4 ICMP request/reply geschehen (Ping Anfragen und Rückantwort)
Die Spalten der Ausgabe sind wie folgt:
No = Nummer des Pakets
Time = Zeitstempel, Zeit seit Beginn der Aufzeichnung
Source und Destination = IP Adressen vom Frager (Source) und Ziel (Destination)
Protocoll = Name des Protocolls gem. RFC/IETF Standard, zum Beispiel UDP, TCP, ICMP für Ping, SMB für Dateizugriffe (Dateifreigaben), SMTP etc.
Port = Portnummer für UDP und TCP Protokoll
Auswerten
Im folgenden Mitschnitt ist ein Auszug dargestellt, wenn Outlook Express mit einem Mailkonto abgeglichen wird. Man sieht IMAP-Pakete (es ist ein IMAP-Mailkonto). Mit Rechtsclick auf eine Zeile mit einem IMAP Paket können wir den gesamten Dialog mit Follow TCP stream verfolgen, d.h. alle dazu gehörenden Pakete decodiert anzeigen lassen. Danach wird automatisch ein Filter gesetzt, sodass nur der gewählte Dialog gezeigt wird. Mit Clear können wir den Filter wieder löschen, sodass wir wieder alle Pakete sehen.
Nur als Beispiel der vielfältigen Möglichkeiten von Wireshark lassen wir uns mit dem Menu Statistik mit dem Punkt Flow Graph eine Grafik der Verbindungen erstellen:
Wir sehen hier als senkrechte Spalten die verschiedenen Kommunikationspartner auf dem Netzwerk; vertikal ist von oben nach unten die Zeit. Wir sehen also auf einen Blick, wie die verschiedenen Kommunikationspartner zeitlich verwoben miteinander reden.
Praxisbeispiel
Der folgende Mitschnitt stammt aus der Analyse des Einwählens mit einem Pactor Modem (Internetzugang via Kurzwellenfunk). In der folgenden Tabelle ist der Loginvorgang bis zum erfolgreichen Versand eines E-Mails (mit SMTP) aufgezeichnet.
– Loginvorgang (grau): Pakete 2 bis 25, dauert insgesamt 11 Sekunden.
– Diverse Namensauflösungen (blau, gelb) im lokalen Netzwerk und gegen das Internet
– DHCP (braun, Zeilen 34, 36): Zuteilung einer IP Adresse durch das Modem
– SMTP (grün, ab Zeile 47): mit Follow TCP stream werden die SMTP-Pakete dekodiert zu: 220 smtp05.web.de ESMTP WEB.DE V4.109#226 etc. Dies ist die Begrüssungsmeldung von meinem Mailprovider.
Man beachte die Spalte „Time“. Sie gibt die Zeit in Sekunden seit Start der Aufzeichnung an.