Anzeige
4,3
170 Stimmen
5121
418
37
21
123
Hersteller: Zur Website
Preis: kostenlos
Lizenz: Open Source
Betriebssystem: Linux, Mac, Windows, Windows 10, Windows 8, Windows 7, Windows Vista, Windows Server
Download-Größe: 84428 KByte
Downloadrang: 98
Datensatz zuletzt aktualisiert: 28.03.2024
Alle Angaben ohne Gewähr

Während in den Anfängen des PC-Zeitalters der private Computer in der Regel keinen Netzwerkanschluss hatte, ist heute nahezu jeder Rechner, jedes Smartphone und Tablet mit einem LAN und dem Internet verbunden. Dies nutzen die darauf installierten Desktop-Programme und Mobile-Apps aus, um Daten zu senden und zu empfangen. Aber was wird gesendet und empfangen? Wireshark hilft! Denn der kostenlose Open Source Sniffer protokolliert und analysiert den Datenverkehr und hilft so beim Lesen von Datenpaketen und Finden von Problemen im Netzwerk.

Professionelle Netzwerkanalyse

Wireshark ist 2006 als Fork des Programms Ethereal entstanden, das Gerald Combs 1997 entwickelte, um Netzwerkproblemen auf die Spur zu kommen. Das Tool zur Netzwerk-Analyse hilft Administratoren, Netzwerk-Experten und Sicherheits-Experten beim Netzwerk-Management, indem es die Suche nach Netzwerk- und Sicherheitsproblemen unterstützt. So lassen sich mit Wireshark Botnet-Verbindungen ermitteln, die über das eigene Netzwerk laufen. Denn Bots senden große Mengen an Pakete aus dem System an einen Kontrollserver und stellen ein großes Sicherheitsproblem im Internet dar.

Bild 1 von 1

Wireshark

Die Fensterbereiche von Wireshark

Das Programmfenster von Wireshark teilt sich in mehrere Bereiche auf. Oben ist die Menüleiste, deren wichtigste Funktionen durch Icons dargestellt sind. Darunter folgt der Anzeigen-Filter, mit dem sich die gewünschten Pakete im Fensterbereich der Paketliste einblenden lassen. Diese befindet sich unter dem Anzeigen-Filter und ist gegebenenfalls sehr lang. Ein Paketeintrag wird mit laufender Nummer, Zeit nach Aufnahmestart, Quelladresse, Zieladresse, Protokoll, Datenlänge und Information in der Paketliste angezeigt. Wählt man eines aus, erscheinen Paketdetails im nächst unteren Fensterbereich. Noch etwas tiefer erscheint schließlich der Datenstrom in Hexadezimal-Darstellung. Am unteren Fensterrand ist wie üblich die Statuszeile, die die Zahl der gesamten und angezeigten Pakete ausgibt.

Traffic aufzeichnen

Bevor die Netzwerk-Analyse mit Wireshark beginnt, muss der Datenverkehr aufgezeichnet werden, was über das Menü "Aufzeichnen" beziehungsweise "Capture" möglich ist. Unter den Optionen lassen sich die gewünschten Ethernet- und USB-Schnittstellen auswählen. Nach Klick auf den Start-Knopf protokolliert Wireshark den Datenverkehr und stellt ihn im Fensterbereich der der Paketliste farbig dar. Die Farben richten sich nach den verwendeten Protokollen und erleichtern so die oberflächliche Analyse. Über "Aufzeichnen > stoppen" endet das Mitschneiden und die Aufzeichnung lässt sich über "Datei > Speichern" in eine Datei schreiben.

Falls das Aufzeichnen des Datenverkehrs nicht möglich ist, kann dies daran liegen, dass Wireshark nicht mit Administratorenrechten gestartet wurde. Unter einer Ubuntu-Version geht dies nicht via Kontextmenü wie bei Windows, sodass man das Terminal bemühen und hier den Befehl "sudo wireshark" eingeben muss. Ohne diese Rechte wird es komplizierter, sodass ein Blick ins Wireshark Wiki empfehlenswert ist, wo Informationen zu Linux, macOS und Windows stehen. Zudem müssen die unten erwähnten Systemvoraussetzungen erfüllt sein.

Fachwissen ist hilfreich

Das Aufzeichnen der Daten ist eine Sache, die Analyse eine ganz andere. Denn nach kurzer Zeit kommen sehr schnell einige hunderte und tausende Datenpakete zusammen. Deswegen ist eine gezielte und sorgfältige Analyse empfehlenswert. Zudem ist Fachwissen von Vorteil. Was tun die einzelnen Protokolle? Welche sind wichtig? Wer gehört zu einer IP-Adresse? Außerdem sollte man die englischen Begriffe verstehen. Auch wenn die deutsche Benutzeroberfläche von Wireshark genutzt wird, kommen englische Begriffe und Abkürzungen in der Paketliste sowie in den Paketdetails vor.

Wichtige Protokolle

Damit man weiß, was die Pakete tun, ist Grundwissen über Netzwerkprotokolle wichtig. Über diese erfragt der Browser zum Beispiel die IP-Adresse eines Web-Servers, empfängt Dateien und Webseiten.

So kümmert sich HTTP und HTTPS um das Aufrufen von Webseiten sowie FTP und FTPS um das Übertragen von Dateien. Diese Protokolle dürften vielen Nutzern bekannt sein, da sie am Anfang in der Adresszeile stehen. Das "s" macht deutlich, dass es sich um eine verschlüsselte SSL/TLS-Verbindung handelt, damit niemand die gesendeten Daten wie Passwörter mitlesen oder verändern kann. Dazu ist eine aktuelle Verschlüsselungstechnik wie TLS 1.2 wichtig, worauf Matthias in seinem Blog Verschlüsselt surfen mit HTTPS näher eingeht. Sichere Verbindungen verwenden Pakete mit den Protokolltypen OCSP und TLS, die Informationen zu den genutzten Zertifikaten und dem genutzten Verschlüsselungsstandard liefern.

Daneben gibt es noch weitere Protokolle. So wird DNS vom Domain Name System genutzt, das nötig ist, damit der Browser die IP-Adresse zu einem Rechnernamen wie www.heise.de erfährt. Das Address Resolution Protocol (ARP) teilt, mit welche IP-Adresse mit welcher MAC-Adresse verknüpft ist. Letztere bezeichnet eine konkrete Netzwerkschnittstelle eines Computers. In diesem Zusammenhang steht auch das Dynamic Host Configuration Protocol (DHCP), wobei ein DHCP-Server einem Rechner dynamisch eine IP-Adresse zuweist, wie man es zum Beispiel vom Home-Router kennt.

Das Transmission Control Protocol (TCP) und User Datagram Protocol (UDP) kommen beim Datentransport zum Einsatz. TCP ist im Vergleich zu UDP verbindungsorientiert sowie zuverlässig. Es korrigiert Fehler, baut eine Verbindung zwischen zwei Geräten auf und lässt den Datenfluss in beide Richtungen zu. Im Gegensatz dazu ist UDP einfacher und vermeidet Verzögerungen, die bei der Sprachübertragung stören würden.

Daneben gibt es noch das Internet Control Message Protocol (ICMP), das für den Austausch von Fehler- und Informationsmeldungen genutzt wird sowie das Link Local Multicast Name Resolution (LLMNR) Protokoll, das auf dem DNS-Format basiert und bei Windows zum Einsatz kommt. Auch das Multicast DNS ist in diesem Zusammenhang zu sehen.

Pakete filtern und finden

In der Masse die richtigen Pakete zu finden ist eine Herausforderung. Erleichtert wird dies mit dem Anzeigefilter, der nicht nur einfache Suchen, sondern auch Kombinationen aus verschiedenen Bedingungen erlaubt. So zeigt "ipv6.addr==2a02:2e0:3fe:1001:7777:772e:2:85" zum Beispiel alle Verbindungen mit dem Computer, der die IPv6-Adresse 2a02:2e0:3fe:1001:7777:772e:2:85 hat. Mit "ip.src=192.168.0.0/16 && ip.dst=192.168.0.0/16" lassen sich alle Pakete finden, die innerhalb des lokalen Netzwerks versendet werden.

Um die Pakete bestimmter Protokollen zu finden, braucht man in der Regel im Anzeigefilter von Wireshark nur das Protokoll einzugeben und Enter zu drücken. So listete Wireshark nach Eingabe von "http" alle Verbindungen zwischen Browser und Web-Server. Es gibt aber Ausnahmen: So zeigt "bootp" DHCP-Pakte und "ocsp" nicht nur OCSP- sondern auch TLS-Pakete an. Wenn der richtige Befehl nicht bekannt ist, kann man über "Ausdruck..." ein Fenster öffnen, das die Befehle zu den einzelnen Bereichen anzeigt. Diese lassen sich auswählen und nach Ausfüllen aktivierter Felder in den Anzeigefilter übernehmen.

Hilfreich ist auch die Funktion "Bearbeiten > Pakete finden..." die die Suche nach Zeichenketten in den Paketdaten erlaubt. Und wer nicht nur IP-Adressen sehen möchte kann sich über "Ansicht > Namensauflösung > Netzwerkadresse auflösen" auch Rechnernamen anzeigen lassen. Danach zeigt Wireshark zum Beispiel den Rechnernamen www.heise.de in der Paketliste an und nicht dessen IPv6-Adresse 2a02:2e0:3fe:1001:7777:772e:2:85. Letztere ist aber in den Paketdetails zusammen mit dem Rechnernamen weiterhin zu finden.

➤ Netzwerkanalyse mit Wireshark

Protokolldateien anderer Sniffer analysieren

Wireshark zeichnet nicht nur den Datenverkehr auf und analysiert ihn, sondern kann zudem die Protokolldateien von anderen Mitschnitt-Programme nutzen. tcpdump für Linux und tcpdump für Windows zeichnen ebenfalls den Netzwerkverkehr auf. Da tcpdump wenig Ressource beansprucht eignet es sich besonders für den Einsatz auf dem Mini-Computer Raspberry Pi mit Raspbian oder Kali Linux, der sich als Man-in-the-Middle-Rechner einsetzen lässt. Die dort gespeicherten tcpdump-Protokolldateien lassen sich auf einen anderen Computer kopieren und dort mit Wireshark öffnen sowie analysieren. Damit dies problemlos funktioniert, sollten 65535 Bytes vom Paket mitgeschnitten sein. Der Befehl für die Kommandozeile könnte dann "sudo tcpdump -s 65535 -w tcpdump.dump" lauten wobei tcpdump.dump die Protokolldatei ist. tcpdump lässt sich zudem in einem Skript verwenden, um den Datenverkehr dauerhaft aufzuzeichnen. So könnte dann auch der Datenverkehr stündliche in einer neuen Datei gespeichert werden.

Systemvoraussetzungen

Wireshark ist als Version für Microsoft Windows, Linux, macOS, Unix, Solaris und BSD-Systeme erhältlich, wobei es Wireshark unter Microsoft Windows auch als portable Software gibt. Die Freeware macht nicht alles selbst, sondern nutzt weitere Programme. Unter Linux werden die nötigen Softwarepakete bei der Installation von Wireshark automatisch installiert, wenn man die Paketverwaltung der entsprechenden Distribution nutzt. Unter Windows muss noch WinPcap installiert werden, wenn es bei der Installation von Wireshark nicht bereits hinzugefügt wurde. Und Mac-Nutzer brauchen XQuartz, wenn sie Mac OS X 10.6 oder höher einsetzen, da bei diesen Versionen das X Window System X11 für die Grafikausgabe nicht integriert ist.

Siehe auch:

( )

Kommentare

{{commentsTotalLength}} KommentarKommentare

Kommentare öffnen Weitere Kommentare laden...

Das könnte dich auch interessieren