Einführung in die Wireshark-Befehlszeilenschnittstelle: Der TShark

TShark ist als CLI oder Befehlszeilenschnittstelle von Wireshark konzipiert, um Pakete direkt über die CLI zu erfassen und zu analysieren. Die meisten Menschen kennen TShark im Gegensatz zu dem häufig verwendeten Wireshark nicht. TShark ist im Lieferumfang von Wireshark enthalten. Das ist besonders hilfreich, wenn keine GUI verfügbar ist. Alle Optionen, die in Wireshark verwendet werden, werden auch hier unterstützt. So können z.B. aufgezeichnete Pakete in einer Datei gespeichert und später zur Analyse abgerufen werden. Das Standardformat der Erfassungsdatei ist pcapng, das gleiche wie das von Wireshark verwendete. Der Vorteil von TShark ist, dass es in Skripte eingebunden werden kann (es kann innerhalb eines Python-Skripts verwendet werden) und über SSH auf entfernten Systemen eingesetzt werden kann. Der Nachteil ist natürlich, dass es keine grafische Benutzeroberfläche hat.

Wie Wireshark ist auch TShark für die wichtigsten Betriebssysteme verfügbar: Linux, Mac OS und Windows.

Was werden wir hier behandeln?

In diesem Lernprogramm werden wir dir TShark erklären und dir einige grundlegende Anwendungsfälle vorstellen. Los geht’s mit TShark. Für diese Anleitung verwenden wir Kali Linux, das bereits mit WireShark und TShark ausgeliefert wird.

Was brauchst du?

Du brauchst ein tiefes Verständnis der Konzepte von Computernetzwerken und der zugehörigen Protokolle wie TCP/IP usw. In einigen Fällen können auch administrative Rechte erforderlich sein.

Installation von TShark

TShark ist auf Kali Linux vorinstalliert. Um TShark auf einem Ubuntu/Debian-System zu installieren, verwende den folgenden Befehl:

$ sudo apt install tshark

Bei anderen Distributionen kannst du TShark über die Standardinstallation installieren. Um die Version von TShark auf deinem System zu überprüfen, öffne ein Terminal und gib ein:

$ tshark -v

TShark vs. Tcpdump

TShark hat die gleichen Funktionen wie Wireshark. TShark funktioniert genauso wie tcpdump, wenn keine Option verwendet wird. TShark ist sogar in der Lage, tcpdump zu ersetzen. Lass uns die beiden Tools einen Moment lang vergleichen. Schau dir den Screenshot unten an, wir haben beide Tools ohne eine Option ausgeführt:

TShark vs. Tcpdump
Wenn du genau hinsiehst, wirst du feststellen, dass die Ausgabe von TShark im Vergleich zu tcpdump besser lesbar ist. TShark verwendet die pcap-Bibliothek zum Aufzeichnen von Paketen. Standardmäßig wird die Ausgabedatei im pcapng Format geschrieben. Wenn du ein anderes Format möchtest, kannst du mit der Option ‚-F‘ eine Liste der verfügbaren Formate erstellen und auswählen.

Praktische Anwendung von TShark

Sehen wir uns nun einige Anwendungsfälle für TShark an. Zuerst überprüfen wir die verfügbare Schnittstelle, über die TShark erfassen kann. Je nach Installationsmethode benötigst du eventuell „sudo“-Rechte. Führe den folgenden Befehl aus, um die Liste der verfügbaren Schnittstellen zu erhalten:

$ tshark -D

Auflistung der Schnittstellen

Auswählen der Schnittstelle, auf der gelauscht werden soll

Standardmäßig erfasst TShark die erste Schnittstelle, die es sieht. In der obigen Liste setzt TShark sein Ziel also auf „eth0“. Wenn wir also keine Schnittstelle angeben, wird automatisch die Schnittstelle „eth0“ verwendet. Wenn wir die Schnittstelle jedoch explizit festlegen wollen, müssen wir die Option „-i“ verwenden:

$ tshark -i eth0

Auf diese Weise erfasst TShark alles, was über diese Schnittstelle läuft. Wenn wir wollen, können wir die Erfassung auf wenige Pakete beschränken, z. B. auf 10 Pakete, indem wir die Option ‚-c‘ oder Packet Count verwenden:

$ tshark -i eth0 -c 10

Speichern der Capture-Dateien

Eine gute Eigenschaft von TShark ist, dass wir die Aufzeichnungen in einer Datei speichern können, um sie später zu verwenden. Verwende im obigen Befehl die Option „-w“, um das Capture in einer Datei zu speichern, zum Beispiel mycapture.pcap:

$ tshark -c 500 -w mycapture.pcap

Speichern der Capture-Datei

Um die obige Datei zu lesen, benutze den Befehl:

$ tshark -r mycapture.pcap

Die Ausgabe des obigen Befehls wird auf dem Terminal angezeigt.

Festlegen eines Zielhosts

Wir können TShark so einstellen, dass es den Datenverkehr zu und von einem bestimmten Host filtert, z. B. google.com. Um dies zu demonstrieren, senden wir eine Ping-Anfrage an „google.com“.

$ ping google.com

Nun führen wir den TShark-Befehl aus, um den obigen Datenverkehr zu erfassen:

$ tshark -i eth0 -c 10 host google.com

Festlegen eines Hosts für TShark

Hinweis: Wir können auch die IP-Adresse des Hosts anstelle des Hostnamens verwenden.

Der obige Befehl enthält alle Ping-Anfragen, die von und zu dem Host (google.com) gesendet werden. Um den eingehenden Datenverkehr herauszufiltern, verwende den folgenden Befehl:

$ tshark -i eth0 src host google.com

Anwenden eines Quellfilters auf dem Host
Auf die gleiche Weise filterst du den ausgehenden Datenverkehr mit dem folgenden Befehl heraus:

$ tshark -i eth0 dst host google.com

Einen Zielfilter auf dem Host anwenden

Ähnlich wie bei einer Ping-Anfrage können wir auch einen Nmap-Scan durchführen und unsere Ergebnisse in einer Datei speichern oder direkt mit TShark analysieren.

Fazit

TShark ist ein unverzichtbares Werkzeug für Sicherheitsanalysten. Dieser Artikel hat nur die Oberfläche berührt, um dir zu zeigen, was du mit TShark alles machen kannst. Es gibt eine ganze Welt voller großartiger Möglichkeiten mit TShark. Um mehr über TShark zu erfahren, besuche https://www.wireshark.org/docs/, wo du Schulungsvideos, Anleitungen usw. findest. Auch auf den Man Pages für TShark findest du umfangreiche Informationsquellen.

Das könnte dich auch interessieren …