Getty Images
3 Ansätze zur Fehlersuche mit Wireshark und tcpdump
Protokollanalysatoren wie Wireshark und tcpdump können Admins helfen, Protokolle im Netzwerk zu erkennen, die Netzwerk-Performance zu untersuchen und Netzwerkgeräte zu finden.
Protokollanalysatoren hören den Netzwerkverkehr mit und ermöglichen es Netzwerktechnikern, die Header und den Inhalt von Paketen einzusehen. Unter Sicherheitsaspekten ist der sogenannte Payload von Interesse, weil darin die vertraulichen Daten eines Benutzers stecken. Zur Fehlersuche ist es für Netzwerkexperten jedoch auch nützlich, Informationen über Quelle und Ziel oder die verwendeten Protokolle zu erfahren.
Tools wie Wireshark und tcpdump zeigen sowohl Quell- als auch Ziel-MAC-Adressen an. Hierbei handelt es sich um eindeutige Kennungen für die jeweiligen Netzwerkkarten (Network Interface Card, NIC), die Daten senden und empfangen. Protokollanalysatoren zeigen zudem Quell- und Ziel-IP-Adressen an, so dass die logische Adressierung der beiden Geräte ersichtlich ist und sich feststellen lässt, ob Router Informationen zwischen den Segmenten übertragen – oder übertragen sollten.
Wireshark und tcpdump sind zwei gängige Protokollanalysatoren, die beim Troubleshooting eingesetzt werden. Beide erfassen den Netzwerk-Traffic und protokollieren die Ergebnisse für eine spätere Untersuchung.
Übersicht über die Paketerfassung (Packet Capturing)
In diesem Artikel geht es nicht um die Einzelheiten bei der Verwendung von Protokollanalysatoren, sondern um deren Rolle beim Troubleshooting. Nachfolgend finden Sie jedoch eine kurze Zusammenfassung des Capturing-Verfahrens, damit Sie die Szenarien nachvollziehen können.
Wireshark
Installieren Sie Wireshark auf Ihrem Mac-, Windows- oder Linux-System. Nachdem Sie das Programm gestartet haben, können Sie auswählen, auf welcher NIC der Mitschnitt (Capture) erfolgen soll. Zudem besteht die Möglichkeit, einen Mitschnittfilter für bestimmte Traffic-Typen festzulegen. Die Filterung ist bei stark genutzten Netzwerken unerlässlich, da Sie sonst schnell eine große Menge an Informationen erhalten.
Klicken Sie in der Symbolleiste auf die Schaltfläche für den Start des Paketmitschnitts (sie sieht aus wie eine blaue Haifischflosse). Die Ergebnisse werden sofort angezeigt. Wenn Sie genug Daten erfasst haben, klicken Sie auf die Schaltfläche in Form eines roten Quadrats, um die Paketaufzeichnung zu beenden. Wählen Sie anschließend Speichern dieser Mitschnittdatei, um Ihre Ergebnisse zu sichern.
Die neueste Version von Wireshark verfügt über eine etwas andere Oberfläche als frühere Versionen. Nachfolgenden finden Sie die wichtigsten Bereiche, die angezeigt werden:
- Paketliste oben.
- Paketdetails unten links.
- Paket-Bytes unten rechts.
Hinweis: Bei der älteren Wireshark-Oberfläche waren die drei Bereiche übereinander angeordnet. Oben befand sich die Paketliste, in der Mitte waren die Paketdetails und darunter die Paket-Bytes.
Tcpdump
Das Tool tcpdump ist nicht so benutzerfreundlich wie Wireshark. Allerdings ist es schlank und lässt sich einfach über die Befehlszeile ausführen. Es ist leistungsstark und enthält viele Optionen, um genau die Daten herauszufiltern, die Sie benötigen. Üblicherweise ist das Tool auf Linux-Systemen zu finden.
Mit dem folgenden Befehl starten Sie ein Capture:
tcpdump -i eth0 -w dump.pcap
Um die Aufzeichnung zu beenden, drücken Sie Strg+C.
Das oben genannte Beispiel erfasst den Traffic auf der Schnittstelle eth0 und schreibt die Ergebnisse zur späteren Analyse in die Datei dump.pcap. Aus Kompatibilitätsgründen ist es am besten, die Dateierweiterung .pcap zu verwenden.
Die folgende Tabelle zeigt einige gängige Optionen für tcpdump.
Option | Ergebnis |
-i | Legt eine Schnittstelle für das Capture fest. Mit any wählen Sie alle verfügbaren Schnittstellen aus. |
-D | Listet die verfügbaren Geräte für die Erfassung auf. |
port 80 | Filtert die Aufzeichnung nach Portnummer, zum Beispiel Port 80. |
-n | IP-Adressen werden nicht in Namen aufgelöst (Captures werden nach IP-Adresse erfasst). |
-w dump.pcap | Schreibt das Capture in die Datei dump.pcap. |
-r dump.pcap | Liest das Capture aus der Datei dump.pcap. |
Sie können die Capture-Datei mit tcpdump -r dump.pcap anzeigen, aber es dürfte einfacher sein, die Capture-Datei mit Wireshark zu öffnen. Dieses Tool bietet bessere Such-, Filter- und Navigationsmöglichkeiten. Wählen Sie in Wireshark Datei > Öffnen und navigieren dann zum Speicherort der Datei dump.pcap. Wireshark liest Captures, die mit der Dateiendung pcap gespeichert wurden.
Protokollanalysatoren sind nicht nur für Penetrationstests und Lauschangriffe nützlich, sondern können Netzwerkadmins auch dabei helfen, den Netzwerk-Traffic zu untersuchen und Fehler zu beheben. Ganz gleich, ob Sie verschiedene Typen von Netzwerk-Traffic identifizieren, den Traffic überwachen oder Netzwerkgeräte aufspüren müssen – Mitschnitte von Tools wie Wireshark und tcpdump sind von entscheidender Bedeutung.
Sehen wir uns nun drei Möglichkeiten an, wie Netzwerkadministratoren Wireshark und tcpdump für das Troubleshooting im Netzwerk einsetzen können.
1. Traffic-Typen mit Paket-Captures identifizieren
Vielleicht machen Sie sich Gedanken über ungewöhnliche Traffic-Typen in Ihrem Netzwerk. Möglicherweise sind Sie auch besorgt, dass NICs ausfallen oder Schadsoftware sich breitmachen könnte. Wenn im Netzwerk etwas nicht in Ordnung zu sein scheint, wollen Admins in der Lage sein, zu überprüfen, ob der Traffic legitim und zulässig ist.
Hier zwei Beispiele für die Traffic-Identifizierung:
- Untersuchung der NIC-Kommunikation in einem Cluster: Intel-ANS-Probes (Advanced Network Services) erkennen in Teams zusammengefasste Netzwerkkarten und stellen sicher, dass sie in privaten Cloud Failover Clustern oder anderen Umgebungen arbeiten.
Sie können die Kommunikation zwischen den Teammitgliedern eines Clusters untersuchen oder herausfinden, warum so viele ANS-Probes vorhanden sind, was auf ein mögliches Problem mit einer der NICs hinweist. Die NIC könnte falsch konfiguriert sein, den falschen Treiber verwenden oder einen Fehler aufweisen. Wireshark enthält bereits einen Filter für ANS-Traffic, so dass dieses Capture relativ unkompliziert ist. - Erkennen der Virenverbreitung anhand von ARP-Anfragen (Address Resolution Protocol) oder bekannten Malware-Sites: Ein verdächtiges Traffic-Muster besteht aus einer hohen Anzahl von ARP-Anfragen, die von einem einzigen Gerät ausgehen. Möglicherweise hat ein Virus das Gerät infiziert und versucht nun, andere Systeme zu erreichen, um sich von dort aus weiterzuverbreiten. Ein Protokollanalysator kann helfen, diesen Traffic-Typ und seine Quelle aufzuspüren, so dass Sie den Rechner genauer unter die Lupe nehmen können.
Vielleicht haben Sie von Malware gelesen, die sich über das Netzwerk mithilfe bekannter URLs oder anderer Daten ausbreitet. Verwenden Sie die Dokumentation von Wireshark, um einen Filter zu erstellen, der anhand dieser Details feststellt, ob sich die Malware in Ihrem Netzwerk befindet.
Hinweis: Erfahren Sie zum Beispiel mehr über die Hancitor-Malware, die per E-Mail als Link zu einer Datei auf Google Docs versendet wird. Dies ist ein Paradebeispiel dafür, wie sich Wireshark nutzen lässt, um nach spezifischen Traffic-Informationen zu suchen, was die Erkennung von Malware erleichtert.
Der Vergleich eines aktuellen mit einem früheren Capture kann nützlich sein, wenn Sie mit Wireshark eine Baseline für den Netzwerk-Traffic erstellt haben und ein Host-Gerät plötzlich zu viel Traffic erzeugt. Sie können feststellen, ob sich etwas geändert hat, indem Sie die normale Traffic-Last und die Protokolle analysieren. Möglicherweise erkennen Sie auch Traffic von ungewöhnlichen oder unbekannten Hosts.
Verwenden Sie neben Ihrem üblichen Netzwerk-Intrusion-Detection-System und Host-basierter Antivirensoftware einen Paket-Sniffer als weitere Schicht, um Netzwerk-Malware abzuwehren oder um etwas genauer zu untersuchen, was das Intrusion Detection System bereits identifiziert hat.
2. Netzwerk-Performance-Monitoring anhand von Paket-Captures
Wireshark enthält ein statistisches Analyse-Tool, um Probleme mit der Netzwerkleistung in den Griff zu bekommen. Es bietet viele Optionen, um die Netzwerkeffizienz zu beurteilen und Verbesserungsmöglichkeiten zu erkennen.
Wählen Sie die folgenden Performance-Filter aus dem Statistiken-Menü von Wireshark aus:
- Eigenschaften der Mitschnittdatei: Liefert grundlegende Informationen über die Mitschnittdatei, unter anderem Dateigröße, Aufzeichnungsdauer, Schnittstelle und Filter. Diese Informationen sind vor allem nützlich bei der Archivierung von Baseline Captures für spätere Vergleiche.
- Protokollhierarchie: Identifiziert und ordnet alle Protokolle im Capture so an, dass Sie den prozentualen Anteil eines bestimmten Protokolls am Netzwerk-Traffic nachvollziehen können. Beispielsweise können Sie DNS- und DHCP-Traffic problemlos vergleichen oder herausfinden, wie hoch der Anteil von IPv6- gegenüber IPv4-Traffic in Ihrem Netzwerk ist.
- Verbindungen: Zeigt die gesamte Kommunikation zwischen den festgelegten Endpunkten an, etwa Startzeit, Traffic-Typ sowie Dauer und Umfang. Nutzen Sie die Informationen, um zu klären, welche Informationen zwischen zwei bestimmten Knoten ausgetauscht werden.
- IO Graph: Zeigt Informationen über den Netzwerk-Traffic in interaktiven Graphen an. Dadurch können Sie Inhalte filtern und Performance-Informationen visuell interpretieren. So können Sie etwa die Anzahl der Fehler im Vergleich zum legitimen Traffic anhand eines Graphen visualisieren, anstatt die numerische Ausgabe der Protokollhierarchie zu verwenden.
- TCP Stream Graphen: Zeigt den TCP-Traffic an, einschließlich Informationen zu Round-Trip-Zeit, Durchsatz und Window Skalierung. Wählen Sie ein TCP-basiertes Paket, um dieses Menü zu nutzen.
- IPv4 Statistics > Destinations and Ports: Filtert den Netzwerk-Traffic nach Zielkennungen, zum Beispiel IP-Adressen und Portnummern. Beachten Sie, dass diese Portnummern standardisiert sind, etwa Port 80 für HTTP oder 443 für HTTPS.
- IPv4 Statistics > Source and Destination Addresses: Zeigt den Netzwerk-Traffic nach IPv4-Quell- und -Zieladressen geordnet an, um den Untersuchungsbereich des Traffics weiter einzugrenzen. Diese Daten sind essenziell, um die Beziehung zwischen zwei Knoten zu verstehen, beispielsweise zwischen Routern, die Routing-Tabellen austauschen, oder Proxies und deren Clients.
Wireshark ist darüber hinaus in der Lage, IPv6-Netzwerk-Traffic zu verarbeiten. Die offizielle Wireshark-Website bietet eine umfangreiche Dokumentation.
3. Netzwerkgeräte anhand von Paket-Captures erkennen
Außerdem lassen sich Protokollanalysatoren dazu verwenden, die im Netzwerk kommunizierenden Geräte zu identifizieren und zu dokumentieren. Netzwerkprofis können die Netzwerkkommunikation auf verschiedene Arten kategorisieren und unter anderem folgende Fragen klären:
- Welche Hosts befinden sich im Netzwerk? Das Netzwerk-Capture zeigt Quell- und Ziel-MAC- und -IP-Adressen, wodurch klar ersichtlich wird, welche Hosts im Netzwerk aktiv sind. Vergleichen Sie dies mit Netzwerkdiagrammen, um sicherzustellen, dass die erwarteten Geräte vorhanden sind.
- Welche Protokolle gibt es im Netzwerk? Befinden sich Hosts in einem bestimmten Segment, die das Trivial File Transfer Protocol (TFTP) verwenden? Woher wissen Sie das? Ein Mitschnitt identifiziert eindeutig alle Traffic-Typen und ermöglicht es Ihnen, unbekannte oder nicht vorgesehene Protokolle zu untersuchen.
- Welche Anwendungen nutzen das Netzwerk? Ähnlich wie bei der oben erwähnten Identifizierung von Protokollen ist es nützlich, festzustellen, welche Anwendungen Netzwerkinformationen austauschen, um zu gewährleisten, dass die Firewall-Regeln und Einstellungen für die Paketfilterung korrekt sind. Sie können mit diesen Kriterien auch eine missbräuchliche Netzwerknutzung erkennen, etwa BitTorrent-Verbindungen.
- Welche Informationen sendet der Client an den Server? Sie können Client-Requests an Web-, FTP- oder Dateiserver anzeigen und so Anfragen oder Prozesse identifizieren, die Serverressourcen verbrauchen.
- Welche Informationen sendet der Server an den Client? Sie können Informationen erkennen, die an Clients gesendet werden, um nachzuvollziehen, was diese verarbeiten. Dazu könnten Meldungen von Ansible oder anderen Systemen für das automatische Konfigurationsmanagement gehören.
Fazit
Für Netzwerkfachleute sind Protokollanalysatoren fast immer Sicherheits-Tools, sei es als Hacker-Werkzeuge, die bei Lauschangriffen eingesetzt werden, oder als Utilities für Penetrationstests, die beim Schutz von Netzwerken hilfreich sind. Sie eignen sich jedoch auch hervorragend für die Fehlersuche und Netzwerkerkennung.
Wireshark ist leistungsfähiger und benutzerfreundlicher als tcpdump, aber Letzteres ist wegen seiner Einfachheit und Flexibilität erwähnenswert. Denken Sie daran, dass Sie mit tcpdump immer Inhalte erfassen und diese dann in Wireshark öffnen und analysieren können. Die Reporting Tools von Wireshark erleichtern es, Ihre Ergebnisse an technisch weniger versierte Stakeholder weiterzugeben.
Nachfolgend finden Sie drei Vorschläge, wie sich Protokollanalysatoren einsetzen lassen, um Ihr Netzwerk zu untersuchen. Sie können damit:
- die verschiedenen Protokolltypen in Ihrem Netzwerk identifizieren
- die Netzwerk-Performance untersuchen
- Netzwerkgeräte erkennen.
Jeder dieser Ansätze wird Ihr Troubleshooting optimieren und eine überraschende Fülle an Informationen liefern.