Getty Images

Mit Wireshark erfasste Netzwerkpakete analysieren

Wireshark ist ein gutes Tool zum Mitschneiden von Netzwerk-Traffic. Für IT-Profis ist Wireshark perfekt, um die aufgezeichnete Pakete für die Fehlersuche zu analysieren.

Das Mitschneiden von Datenverkehr im Netzwerk ist mit kostenlosen Tools wie Wireshark oder tcpdump relativ einfach. Schwierig wird es für viele Administratoren aber dann, wenn sie den erfassten Datenverkehr analysieren wollen.

In diesem Artikel erläutern wir die wichtigsten Komponenten der aufgezeichneten Daten und setzen diese Informationen mit dem TCP/IP-Modell in Beziehung. Es geht hier nicht um die Verwendung von Wireshark oder dessen Funktionen und Optionen. Wir beschreiben nur die grundlegenden Schritte zum Erfassen von Paketen – genug, um ein Paket zu erfassen und die im Artikel enthaltenen Informationen zu interpretieren.

Führen Sie die folgenden Schritte aus, um eine Aufzeichnung in Wireshark zu starten:

  1. Öffnen Sie Wireshark.
  2. Legen Sie einen Mittschnitt-Filter (Capture) fest und wählen Sie die Schnittstelle aus, auf der das Capture erfolgen soll.
  3. Starten Sie das Capture.
  4. Erzeugen Sie Datenverkehr, indem Sie sich mit einer Webseite verbinden, ein entferntes Gerät anpingen oder eine andere Netzwerk-Verbindung versuchen.
  5. Beenden Sie das Capture.
Starten Sie eine Aufnahme mit der blauen Haifischflossen-Schaltfläche oben links unterhalb vom Datei-Menü.
Abbildung 1: Starten Sie eine Aufnahme mit der blauen Haifischflossen-Schaltfläche oben links unterhalb vom Datei-Menü.

Wireshark erfasst schnell eine riesige Menge an Daten, wenn Sie keinen Filter verwenden. Das ist vielleicht genau das, was Sie wollen, aber stellen Sie sicher, dass Sie einen effektiven Filter setzen, wenn Sie die Protokolle für den Dienst kennen, den Sie untersuchen. Und lassen Sie die Aufzeichnung nicht länger als nötig laufen. Wireshark verfügt über verschiedene Such- und Filteroptionen, aber ein gezielter Mitschnitt ist viel einfacher zu handhaben.

Wir verwenden Wireshark in diesem Artikel, weil es weit verbreitet und flexibel ist, sowie eine relativ einfache Benutzeroberfläche hat. Es gibt jedoch viele andere leistungsstarke Protokollanalysatoren, zum Beispiel tcpdump. Sie können auch die Inhalte, die Sie mit diesen Tools erfassen, mit Hilfe der unten stehenden Informationen analysieren.

Wireshark ist sehr leistungsfähig und verfügt über viele Optionen, die über den Rahmen dieses Artikels hinausgehen, zum Beispiel Netzwerkanalyse und Leistungsinformationen. Beachten Sie auch, dass Wireshark v3 die Ausgabe in drei vertikal gestapelten Fensterbereichen organisiert. Wireshark v4 verwendet die gleichen drei Fenster, aber das Fenster Paketdetails befindet sich in der unteren linken Ecke (in v3 war es das mittlere Fenster) und das Fenster Paket-Bytes befindet sich in der unteren rechten Ecke.

Die drei Bereiche im Hauptfenster von Wireshark.
Abbildung 2: Die drei Bereiche im Hauptfenster von Wireshark.

Wählen Sie einen Frame im Fensterbereich Paketliste

In der neuen Wireshark-Oberfläche fasst der obere Bereich die Erfassung zusammen. Es zeigt einen oder mehrere Frames an, zusammen mit der Paketnummer (No.), der Zeit (Time), der Quelle (Source), dem Ziel (Destination), dem Protokoll (Protocol), der Länge (Length)und den Infofeldern (Info).

Verwenden Sie die Spalten Protocol, Source und Destination, um zu entscheiden, welcher Frame untersucht werden soll. Klicken Sie auf einen Frame, um ihn auszuwählen, und sehen Sie sich dann in den beiden unteren Fensterbereichen die Details an.

Die Beispielerfassung für diese Screenshots ist eine einfache Whois-Abfrage an www.iana.org. Dieses Beispiel generiert DNS- und anderen Datenverkehr, der für die nachfolgenden Erläuterungen nützlich ist.

Eine Whois-Abfrage für www.iana.org.
Abbildung 3: Eine Whois-Abfrage für www.iana.org.

Den Bereich Paketdetails interpretieren

Bevor wir die verschiedenen Header und Inhalte untersuchen, gehen wir kurz auf das TCP/IP-Modell ein, um die Ergebnisse zu erklären, die im unteren linken Bereich der Paketdetails angezeigt werden.

Das TCP/IP-Modell mit Beispielprotokollen und Adressen.
Abbildung 4: Das TCP/IP-Modell mit Beispielprotokollen und Adressen.

Folgend finden Sie die Schichten des TCP/IP-Modells und die dazugehörigen Protokolle:

  • Protokolle der Anwendungsschicht: HTTP, HTTPS, SMTP, Secure Socket Shell (SSH) und andere befinden sich in dieser Schicht.
  • Protokolle der Transportschicht: Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP) befinden sich in dieser Schicht. TCP ist verbindungsorientiert (oder zustandsorientiert), während UDP verbindungslos (oder zustandslos) ist. Wenn Sie TCP-Pakete aufzeichnen, sehen Sie, wie Handshakes, die aus SYN- und ACK-Nachrichten bestehen, in die Daten eingefügt werden, um sicherzustellen, dass alle Pakete am Ziel ankommen. Diese Einheiten werden normalerweise als Datagramme bezeichnet.
  • Protokolle der Internetschicht: Diese Protokolle regeln die Kommunikation und die logische Adressierung, zum Beispiel die IP-Adressen. Dieser Artikel konzentriert sich auf IP, aber es gibt auch andere Protokolle. Diese Dateneinheiten werden in der Regel als Pakete bezeichnet.
  • Daten der Netzzugangssschicht: Auf dieser Schicht werden Ethernet-Informationen angezeigt, einschließlich Frame-Typen sowie Quell- und Ziel-MAC-Adressen. Diese Dateneinheiten werden in der Regel als Frames bezeichnet.

Wireshark zeigt diese Ausgabe vom unteren Ende des TCP/IP-Modells aufwärts an. Die Frame-Informationen (der untere Teil des TCP/IP-Modells) befinden sich im oberen Bereich des Fensters unten links auf dem Wireshark-Bildschirm.

Die Header verstehen

Wie hilfreich sind diese Informationen? Wenn Sie die Header in den erfassten Frames mit dem TCP/IP-Modell in Beziehung setzen, können Sie die Ebenen, auf denen Probleme auftreten können, besser erkennen und mögliche Schuldige identifizieren. In den folgenden Abschnitten gehen wir näher auf die verschiedenen Ebenen ein.

Frame-Inhalt

Dieser Frame-Abschnitt enthält Ethernet-Informationen, zum Beispiel die Frame-Größe, den Zeitpunkt der Erfassung und die physische Schnittstelle, über die der Frame erfasst wurde.

Frame-Informationen, zum Beispiel Frame-Größe, Zeitpunkt der Aufnahme und physische Schnittstelle.
Abbildung 5: Frame-Informationen, zum Beispiel Frame-Größe, Zeitpunkt der Aufnahme und physische Schnittstelle.

Administratoren können diese Informationen verwenden, um zum Beispiel die Frame-Größe zu untersuchen. Bestimmte Geräte haben möglicherweise Probleme mit der Akzeptanz von Frames, die die Standardgröße überschreiten. Fehlersuchende können auch überprüfen, über welche Schnittstelle die Daten erfasst wurden, um sicherzustellen, dass die Informationen über die richtige Verbindung fließen.

Ethernet-Inhalt

Als Nächstes folgt der Inhalt von Ethernet II, einschließlich der MAC-Adressen von Quelle und Ziel. Je nach Laufrichtung des Frames ist die lokale MAC-Adresse entweder die Quell- oder die Zieladresse, und die MAC-Adresse des nächsten Netzwerkgeräts ist die jeweils andere.

Ethernet-Informationen, einschließlich MAC-Adressen.
Abbildung 6: Ethernet-Informationen, einschließlich MAC-Adressen.

Überprüfen Sie, ob die MAC-Adressen korrekt sind, um Sicherheitsprobleme wie ARP-Poisoning (Address Resolution Protocol) oder Spoofing zu bekämpfen. Fehlersuchende könnten auch ermitteln, welche lokale Schnittstelle mit der MAC-Adresse verwendet wird.

IP-Inhalt

Als nächstes folgt der IP-Abschnitt mit den Quell- und Ziel-IP-Adressen und den Port-Nummern. In den meisten Netzwerken ist die Adressstruktur IPv4. Die Time-to-Live-Informationen sind hier vorhanden, ebenso wie die Anweisungen zur Fragmentierung. Schließlich definiert ein Feld, ob das Paket TCP oder UDP auf der Transportschicht verwendet.

IP-Informationen, einschließlich IP-Adressen.
Abbildung 7: IP-Informationen, einschließlich IP-Adressen.

Netzwerktechniker können überprüfen, ob die IP-Adressen gültig sind und erwartet werden. Denken Sie daran, dass eine Adresse, die mit 169.254.x.x beginnt, im Netzwerk nicht gültig ist und auf ein mögliches Problem mit dem Dynamic Host Configuration Protokoll (DHCP) hinweist. Techniker können auch überprüfen, ob die Quell- und Ziel-IP-Adressen den Erwartungen entsprechen, um Probleme mit DNS-Poisoning oder falschen Einstellungen für die Namensauflösung zu vermeiden.

Transportinhalt

Als nächstes folgt ein Abschnitt mit Informationen zur Transportschicht. Je nach Art des erfassten Datagramms sollten Sie hier entweder TCP oder UDP sehen. Denken Sie daran, dass TCP den Drei-Wege-Handshake verwendet, um den Datenaustausch aufzuzählen und sicherzustellen, dass das Quellgerät alle verlorenen Daten erneut sendet.

In diesem Abschnitt werden auch die Ports von Quelle und Ziel angezeigt. Wenn das Paket vom Client-Computer stammt, ist der Ziel-Port die Nummer des Service-Ports. Zum Beispiel, wenn das Zielsystem ein Webserver ist, ist die Nummer des Zielports 80 oder 443 (HTTP oder HTTPS). Die Portnummer des Clients ist eine zufällig generierte Zahl zwischen 1.024 und 65.535 (dieser Bereich variiert je nach Betriebssystem). Beide Portnummern erscheinen in diesem Header.

UDP-Inhalt, einschließlich Zielport und Nutzlast.
Abbildung 8: UDP-Inhalt, einschließlich Zielport und Nutzlast.

Vergewissern Sie sich, dass Client und Server die richtige Portnummer für den Dienst verwenden. Wenn Sie Pakete auf dem Server aufgezeichnet haben, ist dies die Nummer des Ziel-Ports für eingehende Pakete. Dies ist besonders wichtig bei nicht standardmäßigen Portnummern für benutzerdefinierte Anwendungen oder seltsamen Firewall-Regeln.

Anwendungsinhalt

Die Informationen zur Anwendungsschicht befinden sich im unteren Teil des Bereichs Paketdetails, aber im oberen Teil des TCP/IP-Modells. Diese Informationen variieren je nach Dienst und Protokoll. Zum Beispiel enthält der Bereich bei der Verwendung von HTTP Anweisungen wie GET oder den Inhalt der angeforderten Webseite. Für das Capture Targeting sehen Sie Informationen mit SMTP, POP3 oder IMAP. Dasselbe gilt für Dienste wie SSH, Netzwerk-Dateifreigabe, DNS, und so weiter.

Inhalt der DNS-Namensauflösung, zum Beispiel Typ und Klasse.
Abbildung 9: Inhalt der DNS-Namensauflösung, zum Beispiel Typ und Klasse.

Die Anwendungen sind für bestimmte Ports vorkonfiguriert, so dass hier wahrscheinlich nicht viel Spielraum für Fehlkonfigurationen besteht. Sie können diese Informationen verwenden, um sicherzustellen, dass die Zieldienste auf dem Server ausgeführt werden.

Wireshark zeigt die Daten genau so an, wie Sie sie im TCP/IP-Modell erwarten.

Können Sie den Inhalt des erfassten Pakets mit den sieben Schichten des OSI-Modells in Verbindung bringen? Jede der Schichten ist in den erfassten Informationen vertreten.

Die Header-Informationen in dem Mitschnitt helfen Ihnen zu bestätigen, dass Adressen, Ports und andere Einstellungen den Erwartungen entsprechen. Solche Mitschnitte zeigen, was im Netzwerk passiert, nicht was passieren sollte.

Informationen zur Nutzlast interpretieren

Der Bereich Paket-Bytes in der unteren rechten Ecke von Wireshark zeigt die Nutzdaten an. Dieser Inhalt kann die Daten des Endanwenders enthalten, um die sich Sicherheitsexperten sorgen. Unverschlüsselte Protokolle wie HTTP, Telnet, SMTP und andere schützen die Vertraulichkeit ihrer Nutzdaten nicht, so dass die Informationen in diesem Fenster angezeigt werden. Das kann man auch leicht anhand von Telnet demonstrieren: das verwendete Passwort ist dann in diesem Fenster im Klartext sichtbar.

Können Sie die Whois-Abfrage in dem Beispiel in Abbildung 10 finden?

Inhalt der Nutzlast im Klartext.
Abbildung 10: Inhalt der Nutzlast im Klartext.

Die Informationen zur Nutzlast verdeutlichen die Bedeutung von HTTPS, SSH und anderen Protokollen, die Daten verschlüsseln – oder die Verwendung von IPsec, das Protokolle verschlüsseln kann, die selbst keine integrierte Verschlüsselung bieten.

Im Rahmen der Fehlersuche im Netzwerk sind Sie wahrscheinlich nicht so sehr an der Nutzlast interessiert. Stattdessen beschäftigen Sie sich wahrscheinlich mit Fragen der Konnektivität – diese Art der Fehlersuche umfasst Quell- und Zieladressen und Portnummern.

Wenden Sie an, was Sie gelernt haben

Da Sie nun wissen, wie Wireshark Informationen anzeigt und wie diese mit dem TCP/IP-Modell zusammenhängen, sollten Sie überlegen, wie Sie dieses Wissen anwenden können. Im Folgenden finden Sie einige grundlegende Szenarien zur Fehlersuche, bei denen die Untersuchung von Netzwerk-Headern hilfreich sein könnte:

  • Vielleicht wissen Sie bereits, welche Verbindungen auf der Grundlage von MAC- oder IP-Adressen, Portnummern und so weiter hergestellt werden sollten. Die Header zeigen, welche Verbindungen aufgebaut oder versucht werden.
  • Verwenden Sie Wireshark auf beiden Seiten einer Firewall, um zu sehen, welcher Netzwerk-Traffic durch die Firewall fließt. Dies kann helfen, Firewall-Regeln zu bestätigen.
  • Identifizieren Sie zahlreiche Fehlermeldungen, die auf eine defekte Netzwerkkarte, Netzwerküberflutung, hohe Latenz oder Timeouts hinweisen.
  • Identifizieren Sie benutzerdefinierte Ports für neue oder unbekannte Netzwerkanwendungen. Diese Anwendungen, insbesondere wenn sie intern entwickelt wurden, verwenden möglicherweise nicht standardisierte Ports. Sie können diese Ports identifizieren, um sicherzustellen, dass sie für Firewall-Konfigurationen bekannt sind.

Fazit

Paket-Sniffer wie Wireshark und tcpdump sind den meisten als Sicherheitstools bekannt, aber sie haben durchaus ihren Platz im Werkzeugkasten eines Troubleshooters. Durch die Betrachtung einzelner Pakete können Administratoren besser verstehen, welcher Verkehr sich im Netzwerk bewegt und wie dieser Verkehr adressiert und erkannt wird. Es ist nützlich, die theoretischen Schichten des TCP/IP-Modells mit den praktischen Paket-Headern in Beziehung zu setzen.

Erfahren Sie mehr über Netzwerk-Monitoring und -Analyse