Netzwerkanalyse über die Kommandozeile
Aufgepasst
Termshark wirkt wie aus einer anderen Zeit. Bei der Fernwartung von Systemen ohne GUI kann es jedoch wertvolle Dienste leisten.
Viele Administratoren verwenden Wireshark zur Netzwerkanalyse. Jedoch ist auf Servern oft kein grafisches User Interface aktiv. Wer dort nun über einen Paketmitschnitt eine Netzwerkanalyse erstellen muss, nutzt meist tcpdump oder den Wireshark-Ableger tshark.
Für mehr Effizienz und bessere Übersicht ist eine grafische Auswertung sinnvoll. Diese funktioniert mit den genannten Tools jedoch nicht. Hierfür sind die Daten auf dem entfernten Server zunächst im PCAP-Format aufzuzeichnen und danach auf den Administratorenrechner zu übertragen. Dort lassen sie sich mit GUI in Wireshark auswerten. Dieses Vorgehen birgt – insbesondere bei langsamer WAN-Anbindung des Servers oder bei großen Aufzeichnungen einer Langzeitanalyse – die Gefahr, dass der Transport der Aufzeichnungen die Engpässe noch verschärft.
Für eine Analyse direkt auf dem Quellsystem gibt es seit Kurzem das in Go geschriebene Tool Termshark. Dessen Entwickler haben das Look-and-Feel an Wireshark angelehnt. Die Software liegt auf GitHub und baut primär auf tshark auf. Zusätzlich benötigt sie die ebenfalls in Go geschriebenen Open-Source-Pakete tcell für die Terminal-Darstellung und gowid unter anderem für die verwendeten Wigdets.
Anwendung und Filter
Termshark arbeitet von der Kommandozeile und kann sowohl PCAP-Dateien als auch den Netzwerk-Traffic analysieren. Bei Live-Traffic arbeiten die Filter als Capture-Filter, das heißt, das Tool schneidet nur die Pakete mit, die die Bedingungen des Filters erfüllen. Solche Filter nutzt man, wenn sich das Interesse auf bestimmte Pakete konzentriert oder weil die Datenschutzregelungen das vorgeben. Letztere sind auf jeden Fall zu beachten. Wie in Abbildung 1 gezeigt, liefert der Aufruf
termshark -i en0 icmp
einen Mitschnitt des ICMP-Live-Traffics auf der Schnittstelle en0. Im Fenster analysiert Termshark live den in einem anderen Terminal per ping
generierten Netzwerk-Traffic. Der Aufruf
termshark -i ipsec0 -f "port 53 or (host www.heise.de and port 443)"
liefert als Capture-Filter für Verbindungen von und zu www.heise.de den DNS- und HTTPS-Traffic. Zum Auswerten eines bestehenden Mitschnitts dient
termshark -r test.pcap
Hierbei öffnet Termshark die als Parameter übergebene pcap-Datei zur Analyse. Der angegebene Filter arbeitet nur als Display-Filter. Das Anlegen im Programm funktioniert über einen Forward Slash gefolgt vom gewünschten Filter. Termshark kann die Display-Filter aus Wireshark nutzen. Der obere Teil von Abbildung 2 zeigt einen Display-Filter auf TCP-Retransmissions. Der wirkt zusätzlich zum in der Applikation angegebenen Filter als Capture-Filter auf www.heise.de. Termshark filtert hier den HTTPS-Traffic inklusive des zugehörigen DNS per Capture-Filter und prüft im Nachgang per Display-Filter auf TCP-Retransmissions. Die sichtbare erneute Übertragung eines initialen TCP-SYN hatte ihren Ursprung in schlechtem Mobilfunkempfang.
Letzterer lässt sich auch an der langsamen DNS-Antwortzeit im unteren Teil der Abbildung erkennen: Das Eintreffen dauerte über eine Sekunde. Um sich hierfür nicht alle DNS-Anfragen ansehen zu müssen, kam eine Verknüpfung des Display-Filters für den FQDN im DNS-Query (dns.qry.name) und auf den DNS-Server 192.168.178.1 zum Einsatz.
Per Tabulatortaste kann man zwischen den einzelnen Menüs wechseln, ein Druck auf die Leertaste klappt die Elemente auf. Beenden lässt sich das Tool über q
mit anschließender Bestätigung.
Termshark bietet nicht den vollen Wireshark-Funktionsumfang. Grafiken und einige Zusatzfunktionen beherrscht es nicht, etwa solche für Performancedaten, Voice over IP, den RTP-Player oder SSL-Decryption. Ebenso fehlen im Vergleich zur GUI-Vorlage absolute Zeitanzeigen. Im Gegenzug überzeugt das Tool mit kürzeren Ladezeiten als sein GUI-Pendant, was besonders bei größeren Mitschnitten hilfreich ist. Gerade für eine schnelle Analyse auf einem Server über langsame WAN-Verbindungen ist Termshark eine interessante Alternative. (avr@ix.de)
- Benjamin Pfister
-
ist IT-Systemadministrator der Stadt Kassel und Inhaber der Pfister IT-Beratung. Seine Fachgebiete sind Routing/Switching, Security und IP-Telefonie.