tshark ·
-i ·
-r ·
-w ·
-c ·
-Y ·
-T
tshark ist die Kommandozeilen-Version von Wireshark und ermöglicht das Erfassen, Analysieren und Filtern von Netzwerkverkehr – ideal für Skripte, Remote-Server und automatisierte Analysen.
tshark (Terminal Wireshark) ist ein Kommandozeilenwerkzeug zur Paketanalyse. Es kann Live-Traffic erfassen, Capture-Dateien lesen und analysieren sowie Filter und Ausgabeformate flexibel konfigurieren.
| Option | Beschreibung |
|---|---|
| -i <interface> | Netzwerkschnittstelle für Live-Capture |
| -r <datei> | Capture-Datei lesen (.pcap, .pcapng) |
| -w <datei> | Capture in Datei schreiben |
| -c <n> | Nur n Pakete erfassen |
| -Y <filter> | Display-Filter anwenden (Wireshark-Syntax) |
| -f <filter> | Capture-Filter (libpcap-Syntax) |
| -T <format> | Ausgabeformat (z.B. fields, json, ek) |
| -e <feld> | Feld für Ausgabe (mit -T fields) |
| -V | Detaillierte Paket-Informationen |
| -D | Verfügbare Schnittstellen auflisten |
| -h | Hilfe anzeigen |
tshark -D:sudo oder Administrator-Rechte für Live-Captures auf den meisten Systemen. Verwenden Sie sudo tshark -i eth0.
Live-Capture ermöglicht die Erfassung von Netzwerkverkehr in Echtzeit. Sie können die Anzahl der Pakete begrenzen, Filter anwenden und die Ausgabe formatieren.
-f verwendet die libpcap-Filtersyntax (wie bei tcpdump) und ist effizienter für die Erfassung. -Y verwendet Wireshark-Display-Filter (nach der Erfassung).
Dateien lesen ermöglicht die Analyse von gespeicherten Captures (.pcap, .pcapng). Sie können Filter anwenden, detaillierte Informationen anzeigen und die Ausgabe formatieren.
tshark -r capture.pcap -Y "http" -T fields -e ip.src -e http.request.uri:-r mit -T fields und -e, um gezielt Informationen aus großen Capture-Dateien zu extrahieren – ideal für Skripte.
Dateien schreiben ermöglicht das Speichern von Captures für die spätere Analyse. Unterstützt werden Formate wie pcap, pcapng und andere.
-b filesize oder -b files) ist nützlich für langfristige Captures – alte Dateien werden automatisch überschrieben.
Filter sind das Herzstück von tshark. Capture-Filter (-f) werden vor der Erfassung angewendet (effizienter). Display-Filter (-Y) werden nach der Erfassung angewendet (flexibler).
| Filter | Beschreibung | Typ |
|---|---|---|
| port 80 | HTTP-Traffic | Capture |
| port 443 | HTTPS-Traffic | Capture |
| host 192.168.1.1 | Verkehr zu/von einer IP | Capture |
| tcp.port == 443 | HTTPS-Traffic (Display) | Display |
| http.request.method == GET | HTTP-GET-Anfragen | Display |
| dns | DNS-Anfragen und -Antworten | Display |
| ip.src == 192.168.1.100 | Pakete von einer IP | Display |
| tcp.flags.syn == 1 | SYN-Pakete (Verbindungsaufbau) | Display |
| frame contains "password" | Pakete mit dem String "password" | Display |
-f) reduzieren die Datenmenge bereits vor der Erfassung – das spart Speicher und CPU. Display-Filter (-Y) sind flexibler für die Analyse.
Ausgabe-Formate ermöglichen die flexible Darstellung von Paketdaten – als CSV, JSON, ek (Elastic Common Schema) oder benutzerdefinierte Felder. Ideal für die Weiterverarbeitung in Skripten und Tools.
| Format | Beschreibung |
|---|---|
| -T fields | Benutzerdefinierte Felder ausgeben |
| -T json | JSON-Format |
| -T jsonraw | JSON mit Raw-Feldern |
| -T ek | Elastic Common Schema (für Elasticsearch) |
| -T psml | PSML (Packet Summary Markup Language) |
| -T pdml | PDML (Packet Details Markup Language) |
| Option | Beschreibung |
|---|---|
| -e <feld> | Feld auswählen (mehrfach möglich) |
| -E separator=<char> | Trennzeichen (z.B. , oder ;) |
| -E header=y | Kopfzeile mit Feldnamen anzeigen |
| -E quote=d | Felder in doppelte Anführungszeichen setzen |
| -E occurrence=f | Nur erstes Vorkommen eines Feldes |
-T fields mit -E header=y und -E separator=, erzeugt CSV-Dateien, die direkt in Excel, Python (pandas) oder anderen Tools importiert werden können.
tshark
-i
-r
-w
-Y
-T
tshark -i eth0 -c 10 ·
tshark -r capture.pcap -Y http ·
tshark -r capture.pcap -T fields -e ip.src