{{commentsTotalLength}}

Netzwerkanalyse mit Wireshark

Datenverkehr scannen, protokollieren und analysieren

Bei jeder Internetverbindung senden und empfangen unsere Computer und Mobilgeräte Daten. Wer diesem Traffic nachgehen will, braucht ein Tool wie Wireshark zur Netzwerkanalyse. Ich gebe euch Tipps für den Einstieg.

Während noch Anfang dieses Jahrtausends Computer ohne Netzwerkanschluss verkauft wurden, ist dieses heutzutage kaum noch vorstellbar. Betriebssysteme, Desktop-Software und Mobile-Apps sind oft so programmiert, dass sie das Internet brauchen und automatisch nach Hause telefonieren. Dies unterstützt die Hardware mit aktiviertem WLAN-Chip und dem Drang, bei einem neuen Smartphone mit eingelegter Sim-Karte sofort eine Mobilfunkverbindung aufzubauen. Ob die Software nach Updates fragt, Nutzerdaten synchronisiert oder gar Finanzdaten, Kontakte und Passwörter ausspäht, ist für den Nutzer ohne Hilfsmittel nicht erkennbar.

Netzwerktools wie Wireshark erlauben das Mitschneiden und die Analyse des Datenverkehrs, der über den genutzten Rechner läuft. Ohne diese Netzwerktools habt ihr kaum eine Chance der Flut an Paketen Herr zu werden, da schnell tausende zusammenkommen. Zudem sind Grundlagen zur Netzwerk-Technik von Vorteil und ergänzende Tools wie sslstrip nötig, um verschlüsselte Verbindungen zu hacken.

Bevor ihr den Traffic analysieren könnt, muss er aufgezeichnet werden. Dieses lässt sich direkt mit Wireshark erledigen. Allerdings müsst ihr dazu Wireshark als Administrator starten und natürlich alle Systemvoraussetzungen erfüllt haben, die ihr in unserem Eintrag zu Wireshark findet - denn sonst seht ihr später kein Interface, das ihr belauschen könntet.

Öffnet nach dem Start des Daten-Sniffers das Menü "Aufzeichnen" oder "Capture", je nachdem, ob die Oberfläche auf Deutsch oder Englisch ist. Nun lassen sich unter den Optionen die gewünschten Schnittstellen auswählen. Klickt die entsprechenden Checkboxen an und dann den Start-Knopf. Bei meinem Test war dieser manchmal trotzt des korrekt gesetzten Hakens deaktiviert. Falls das auch bei euch der Fall sein sollte, spielt etwas mit dem Setzen und Entfernen der Haken herum, bis er aktiv ist und setzt dann vor dem Start der Aufzeichnung die entsprechenden Haken bei den gewünschten Schnittstellen.

Wenn ihr den Datenverkehr mit Wireshark zum Beispiel unter Ubuntu von der Ethernet-Schnittstelle "enp1s0" aufzeichnet, zeigt der Sniffer alle Pakete sofort im Fensterbereich der Paketliste an, wobei jede Zeile für ein Paket steht. In dieser Liste ist eine Spalte für die Quelle und eine für das Ziel enthalten, sodass ihr hier bereits sehen könnt, woher euer Rechner Daten empfängt und wohin er sie sendet.

Wenn ihr eure eigene IP-Adresse nicht kennt, könnt ihr sie herausfinden, wenn ihr unter Microsoft Windows den Befehl "ipconfig" und unter Linux "ifconfig" in die Eingabeaufforderung beziehungsweise in das Terminal eingebt. Hier findet ihr unter anderem die IPv4- und gegebenenfalls die IPv6-Adresse eures Computers. Alternativ könnt ihr unter Windows die IP-Adresse auch im "Netzwerk- und Freigabecenter" unter dem öffentlichen Netzwerk finden. Unter Ubuntu und Linux liefert zum Beispiel der Netzwerk-Manager auch die Verbindungsinformationen. Mit dem Netzwerktool "Meine IP Adresse" von heise Netze lässt sich alternativ nachsehen unter welcher IP-Adresse euer Rechner im Internet zu finden ist.

Kennt ihr eure IP-Adresse und wollt wissen, wohin euer Rechner Verbindungen aufbaut, müsst ihr die Pakete anzeigen lassen, die mit einem Domain-Server ausgetauscht werden. Ein Domain-Server ist wichtig, weil er dem Computer die IP-Adresse zu einem Rechnernamen nennt. So hat zum Beispiel der Web-Server www.heise.de die IPv6-Adresse 2a02:2e0:3fe:1001:7777:772e:2:85. Wenn ihr "ip.src==[EureIPAdresse] && dns" in den Anzeigefilter eingebt und Enter drückt, zeigt Wireshark die Pakete an, die euer Rechner an den DNS-Server sendet. In den Paketdetails steht unter "Queries" der gesendete Rechnername. Mit "ip.addr==[EureIPAdresse] && dns" stehen in der Paketliste auch die Antworten des DNS-Servers. In den Paketen mit "Standard query response" findet ihr unter "Answers" den Rechnernamen und hinter "addr" die vom DNS-Server gelieferte IP-Adresse.

Wer ins Internet geht, nutzt dazu einen Browser, der als Client eine Verbindung zu einem Web-Server aufbaut, um von diesem eine Webseite zu erhalten. Für diese Verbindungen wird das HTTP-Protokoll verwendet, das oft auch für den Download von Dateien eingesetzt wird. Wenn ihr wissen wollt, was euer Rechner in diesem Zusammenhang gesendet oder empfangen hat, müsst ihr in den Anzeigefilter "ip.addr==[EureIPAdresse] && http" eingeben und die Suche nach den aufgezeichneten Paketen starten.

Gerade bei kritischen Aktivitäten, wie das Übertragen von Passwörtern über das Internet, ist eine sichere verschlüsselte Verbindung Pflicht. Solche SSL/TLS-Verbindungen findet ihr nicht über den Anzeigefilter-Befehl "http", sondern "ssl". Zeichnet Wireshark zum Beispiel den Datenverkehr zwischen dem Browser und dem Web-Server https://www.heise.de/ auf, kann der Sniffer diesen verschlüsselten Datenverkehr finden, wenn ihr "ipv6.addr==2a02:2e0:3fe:1001:7777:772e:2:85 && ssl" in den Anzeigefilter eingebt. In der Spalte "Protocol" steht "TLSv1.2", was auf eine sichere verschlüsselte Verbindung hinweist. Um das zu überprüfen klickt einfach auf einen dieser Einträge in der Paketliste und klappt unter den Paketdetails den Bereich "Secure Sockets Layer" auf. Dort seht ihr unter Version "TLS 1.2", was dem derzeit aktuellen Sicherheits-Standard entspricht.

Es kann vorkommen, dass die TLS-Version bei den TLSv1.2-Paketen durchaus die ältere Version TLS 1.0 ist. Dies kam beim Test zu diesem Blog beim Handshake vor, bei dem Browser und Server eine verschlüsselte Verbindung aushandeln, über die später die Daten transportiert werden. Bei Handshake-Paketen steht in der Info-Spalte "Client Hello" und "Server Hello", wobei der Client dem Server mitteilt, welches die höchste TLS-Version ist, die er versteht. Firefox kennt das aktuelle TLS 1.2, sodass zum Beispiel die Webseiten-Daten von https://www.heise.de/ beim Transport zum Browser nach dem Handshake mit TLS 1.2 sicher verschlüsselt sind.

Verfeinern lässt sich die Suche, wenn ihr "Bearbeiten > Paket finden..." aktiviert. Es erscheint eine Zusatzzeile unterhalb des Anzeigefilters. Wählt ihr hier die Kombination "Paketdetails", "Schmal & breit" und "Zeichenkette", könnt ihr in den angezeigten Paketen ein Wort suchen, das ihr in das Feld nach "Zeichenkette" eingeben müsst. Ob die Groß- und Kleinschreibung beachtet werden soll, ist euch überlassen. Mit dieser Methode könnt ihr zum Beispiel herausfinden, in welchen Paketen eure E-Mail-Adresse erscheint. Dies kann in Paketen mit dem SMTP-Protokoll vorkommen, das für das Versenden von E-Mails genutzt wird.

Wireshark zeichnet nur den Datenverkehr des genutzten Gerätes auf. Wollt ihr euren gesamten Internetverkehr protokollieren lassen, braucht ihr eine andere Lösung. Für den Hausgebrauch reicht schon ein Raspberry Pi, über den der gesamte Datenverkehr ins Internet laufen muss.

Um dies zu realisieren könnt ihr zum Beispiel den Raspberry Pi an den Router anschließen, der bei euch mit dem Internet verbunden ist. Weitere Geräte dürft ihr an den Router nicht anschließen, da sonst deren Internetverkehr nicht über den Raspberry Pi läuft. An den Mini-Computer lässt sich über einen USB-Netzwerkkarten-Adapter ein zweiter Router anschließen. Mit diesem müssen dann die Computer und Mobilgeräte via LAN-Kabel oder WLAN verbunden werden. Deren Internet-Traffic läuft vom zweiten Router über dessen WAN-Anschluss zum Raspberry Pi und von dort über den ersten Router ins Internet.

Auf dem Raspberry Pi könnt ihr ein Betriebssystem wie Raspbian oder Kali-Linux einsetzen, um zum Beispiel mit dem Netzwerk-Tool tcpdump alle Pakete aufzuzeichnen, die den Mini-Rechner passieren. Das Protokoll muss tcpdump in eine Datei schreiben, was der Befehl "sudo tcpdump -s 65535 -w tcpdump.dump" im Terminal ermöglicht. Die Protokolldatei "tcpdump.dump" müsst ihr später zur Analyse auf den Computer kopierten, auf dem ihr Wireshark habt, um sie damit zu öffnen.

Neben diesem Beispiel gibt es auch weitere Möglichkeiten den Traffic zu erfassen. Wollt ihr nur den Datenverkehr von Mobilgeräten aufzeichnen, braucht ihr keinen zweiten Router, da sich der Raspberry Pi 3 mit Raspbian auch als Hotspot konfigurieren lässt.

Zeichnet ihr nicht nur den eigenen, sondern auch den Netzwerkverkehr anderer Personen auf, müsst ihr sie um Erlaubnis fragen. Denn ihr spioniert deren Internet- und Netzwerk-Aktivitäten aus und lest ihre privaten Daten und Texte mit, wenn die Verbindung nicht verschlüsselt ist.

Wer seinen Datenverkehr kontrollieren will, findet in Wireshark ein gutes Tool. Dennoch bleibt die Analyse komplex, da viele Verbindungen bei Internetverbindungen aufgebaut werden und schnell einige tausend Daten-Pakete für die Datenanalyse zusammenkommen. Deswegen richtet sich Wireshark in erster Linie an Netzwerk-Profis, die Probleme in ihrem LAN finden und beheben wollen.

Habt ihr Erfahrungen mit Wireshark? Dann erzählt doch in den Kommentaren davon.

➤ Wireshark herunterladen

( )

Wie bewertest Du die Qualität des Beitrags?

Pflichtlektüre! ({{threeCount}})
Gut zu wissen ({{twoCount}})
Geht gar nicht! ({{oneCount}})
Vielen Dank für Deine Bewertung.
Deine Bewertung wurde gelöscht.

Kommentare

{{commentsTotalLength}} KommentarKommentare

Weitere Kommentare laden...

Das könnte dich auch interessieren