Wie man Wireshark zum Erfassen und Analysieren von Netzwerkpaketen verwendet
Wireshark (früher Ethereal) ist ein FOSS (free and open-source software) zur Analyse von Netzwerkprotokollen. Man kann sie zur Fehlersuche bei Netzwerkproblemen und zur Analyse von Kommunikationsprotokollen wie TCP, DNS, HTTP usw. verwenden. Es gibt viele Funktionen, die Wireshark von vielen anderen Programmen abheben:
- Paketerfassung in Echtzeit und Offline-Analyse.
- Paketdetails in einem für Menschen lesbaren Format.
- Einfärberegeln für Pakete.
Was werden wir behandeln?
In diesem Leitfaden werden wir lernen, wie man Wireshark zum Erfassen und Analysieren von Paketen verwendet. Wir verwenden Kali Linux als Basisbetriebssystem für diesen Leitfaden. Fangen wir gleich an.
Pakete mit Wireshark aufzeichnen
Nachdem du Wireshark gestartet hast, siehst du eine Liste mit Geräten, von denen du Pakete erfassen kannst.
Wähle ein Gerät aus, um die Paketaufzeichnung zu starten, indem du auf seinen Namen doppelklickst. In unserem Fall wählen wir die Schnittstelle „eth01“. Wie du siehst, werden nach der Auswahl des Geräts einige Pakete auf dem Bildschirm angezeigt.
Im Promiscuous-Modus zeigt Wireshark auch Pakete an, die nicht an unsere Netzwerkschnittstelle adressiert sind. Dieser Modus ist standardmäßig aktiviert, du kannst aber auch zu „Capture > Options“ gehen und das Kontrollkästchen „Enable promiscuous mode on all interfaces“ (am unteren Rand des Fensters) aktivieren.
Um die Aufzeichnung des Datenverkehrs zu beenden, klicke auf das rote Quadrat oben links im Fenster. Wenn du deine Aufzeichnungen später ansehen möchtest, kannst du sie einfach speichern, indem du auf „Datei > Speichern“ klickst. Du kannst auch Capture-Dateien herunterladen und sie zur Überprüfung öffnen, indem du auf „Datei > Öffnen“ klickst. Finde deine Datei und öffne sie.
Die Farbkodierung von Wireshark
Wireshark verwendet verschiedene Farbschemata, um verschiedene Arten von Datenverkehr zu kennzeichnen. So wird z.B. hellblau für UDP, lila für TCP und schwarz für fehlerhafte Pakete verwendet. Um die Bedeutung dieser Farben zu sehen und sie zu ändern, gehe zu „Ansicht > Farbregeln„.
Paketfilterung mit Wireshark
Wireshark verfügt über eine Filterfunktion, mit der du den Datenverkehr herausfiltern kannst, der für dich von Interesse ist. Am einfachsten kannst du diese Funktion nutzen, indem du die Suchleiste am Kopf der Paketliste oder die Tabelle mit der Verkehrsübersicht verwendest (siehe unten). Wenn du z.B. den „TCP“-Verkehr filtern möchtest, gib TCP in die Suchleiste ein. Diesen Vorgang werden wir später in diesem Lernprogramm sehen.
Wireshark enthält auch Standardfilter im Bereich„Analysieren > Filter anzeigen“. Du kannst hier einen auswählen und auch deine eigenen Filter für die Zukunft speichern.
Neben dem Filtern des Datenverkehrs kannst du dir auch die vollständigen TCP-Konversationen zwischen dem Client und dem Server ansehen. Dazu klickst du mit der rechten Maustaste auf ein Paket und wählst die Option „Folgen > TCP-Stream“. Wenn du dieses Fenster schließt, wird automatisch ein Filter in der Filter-Suchleiste angezeigt.
Paketinspektion mit Wireshark
In der Tabelle mit der Verkehrsübersicht kannst du auf ein Paket klicken, um die verschiedenen Details zu sehen. Hier ist eine weitere Möglichkeit, einen benutzerdefinierten Filter zu erstellen. Wenn du mit der rechten Maustaste auf ein Detail klickst, siehst du die Option „Als Filter anwenden“ und das entsprechende Untermenü. Wähle ein beliebiges Untermenü, um den Filter zu erstellen:
Wireshark Test Drive
Nehmen wir nun ein praktisches Beispiel, um den Datenverkehr auf einer Netzwerkschnittstelle mit Wireshark zu erfassen und zu untersuchen. In unserem Fall haben wir Wireshark auf Kali Linux installiert und interagieren mit der Ethernet-Schnittstelle „eth0“. Führe nun die folgenden Schritte aus:
1. Nach dem Start von Wireshark wählst du die Schnittstelle in der Geräteliste auf der Startseite aus. Klicke auf das blaue Symbol in der oberen linken Leiste oder doppelklicke auf den Schnittstellennamen, um die Erfassung zu starten.
2. Starte nun einen Webbrowser und öffne eine Webseite wie ‚www.howtoforge.com‘. Sobald die Seite geladen ist, stoppst du die Erfassung, indem du auf das rote Symbol neben dem Startknopf drückst.
3. Das Capture-Fenster enthält nun alle Pakete, die von und zu deinem System übertragen wurden. Die verschiedenen Arten von Datenverkehr werden in verschiedenen Farbcodes angezeigt, z. B. blau, schwarz, hellgelb usw.
4. Wenn du nach Paketen eines bestimmten Protokolls wie TCP suchst, verwende die Filterleiste, um diese Verbindungen zu filtern. Auf einem System laufen viele Hintergrundprozesse, die den Netzwerkzugang nutzen und somit Pakete mit einem externen Netzwerk austauschen. Wir können Pakete, die für unser System bestimmt sind, mit der Filterfunktion von Wireshark filtern. Um z.B. die TCP-Pakete zu filtern, die für unser System bestimmt sind, verwende den Filter:
ip.dst == ‚your_system_ip‘ && tcp
Ersetze die Bezeichnung ‚your_system_ip‘ durch deine System-IP. In unserem Fall ist es 192.168.18.161. Schauen wir uns nun den Inhalt dieser Pakete an. Klicke mit der rechten Maustaste auf ein beliebiges Paket und wähle aus der Optionsliste: ‚Follow -> Follow TCP Stream‘. Ein neues Fenster sollte ähnlich aussehen wie das unten abgebildete:
Wenn du nicht in der Lage bist, Wireshark für eine Echtzeit-Netzwerkverbindung zu nutzen, kannst du auch eine heruntergeladene Paketverfolgungsdatei verwenden.
Fazit
Wireshark ist ein sehr wichtiges Werkzeug, um zu analysieren, was in deinem Netzwerk vor sich geht. Es hat sich in verschiedenen IT-Bereichen wie Behörden, kommerziellen Organisationen und Bildungseinrichtungen durchgesetzt. Bei der Behebung von Netzwerkproblemen ist die Paketprüfung ein sehr wichtiger Schritt und Wireshark spielt dabei eine entscheidende Rolle. Es ist zu einem Industriestandard für die Analyse des Netzwerkverkehrs geworden.