tshark Protokolle

6 Protokoll-Filter
Die wichtigsten Protokoll-Filter und Analysen mit tshark: HTTP · DNS · TCP · UDP · TLS · DHCP Diese Filter und Feld-Extraktionen helfen Ihnen, gezielt bestimmte Protokolle zu analysieren – von Web-Traffic über Namensauflösung bis hin zu verschlüsselten Verbindungen.

HTTP – Web-Traffic analysieren

http · http.request · http.response
tshark -r capture.pcap -Y "http" -T fields -e http.request.uri -e http.response.code

HTTP-Filter ermöglichen die Analyse von Web-Traffic – Anfragen, Antworten, Statuscodes, User-Agents und mehr.

Wichtige HTTP-Felder

Feld Beschreibung
http.request.uri Angefragte URI
http.request.method HTTP-Methode (GET, POST, etc.)
http.response.code HTTP-Statuscode (200, 404, etc.)
http.user_agent User-Agent-String
http.host Host-Header
http.content_type Content-Type
http.content_length Content-Length
http.referer Referrer-Header
Beispiele
tshark -r capture.pcap -Y "http.request.method == GET" # Nur GET-Anfragen
tshark -r capture.pcap -Y "http.response.code >= 400" # Fehlerantworten
tshark -r capture.pcap -Y "http" -T fields -e http.host -e http.request.uri -e http.response.code
tshark -r capture.pcap -Y "http.user_agent contains Chrome" # Chrome-Browser
Typische Ausgabe:
www.example.com /index.html 200
api.example.com /data 404
cdn.example.com /style.css 304
Tipp: Mit http.request.uri und http.host können Sie vollständige URLs rekonstruieren – ideal für die Analyse von Web-Anfragen.

DNS – Namensauflösung analysieren

dns · dns.qry.name · dns.a
tshark -r capture.pcap -Y "dns" -T fields -e dns.qry.name -e dns.resp.addr

DNS-Filter ermöglichen die Analyse von Anfragen und Antworten des Domain Name Systems – einschließlich aufgelöster IP-Adressen.

Wichtige DNS-Felder

Feld Beschreibung
dns.qry.name Angefragter Domainname
dns.qry.type Anfrage-Typ (A, AAAA, MX, etc.)
dns.resp.addr Antwort-IP-Adresse
dns.flags.response Antwort (1) oder Anfrage (0)
dns.flags.rcode Rückgabecode (0 = No Error)
dns.a A-Record (IPv4)
dns.aaaa AAAA-Record (IPv6)
dns.cname CNAME-Record
Beispiele
tshark -r capture.pcap -Y "dns.flags.response == 0" # Nur DNS-Anfragen
tshark -r capture.pcap -Y "dns.qry.name contains google" # Anfragen mit "google"
tshark -r capture.pcap -Y "dns" -T fields -e dns.qry.name -e dns.a -e dns.cname
tshark -r capture.pcap -Y "dns.flags.rcode != 0" # Fehlerhafte DNS-Antworten
Typische Ausgabe:
www.example.com 93.184.216.34
www.google.com 142.250.185.78
api.example.com cname: api-1.example.com
Tipp: Mit dns.qry.type == 1 können Sie gezielt nach A-Record-Anfragen (IPv4) filtern, mit == 28 nach AAAA (IPv6).

TCP – Transportprotokoll analysieren

tcp · tcp.port · tcp.flags · tcp.stream
tshark -r capture.pcap -Y "tcp.port == 443" -T fields -e tcp.flags.syn -e tcp.seq

TCP-Filter ermöglichen die detaillierte Analyse von TCP-Verbindungen – Ports, Flags, Sequenznummern, Retransmissionen und mehr.

Wichtige TCP-Felder

Feld Beschreibung
tcp.port TCP-Port (Quelle oder Ziel)
tcp.srcport Quellport
tcp.dstport Zielport
tcp.flags.syn SYN-Flag (Verbindungsaufbau)
tcp.flags.ack ACK-Flag
tcp.flags.reset RST-Flag (Verbindungsabbau)
tcp.flags.fin FIN-Flag (ordentlicher Verbindungsabbau)
tcp.seq Sequenznummer
tcp.ack Bestätigungsnummer
tcp.window_size Fenstergröße
tcp.analysis.retransmission Retransmission (wird von tshark analysiert)
Beispiele
tshark -r capture.pcap -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" # SYN-Pakete
tshark -r capture.pcap -Y "tcp.analysis.retransmission" # Retransmissionen
tshark -r capture.pcap -Y "tcp.stream == 5" # Nur TCP-Stream 5
tshark -r capture.pcap -Y "tcp.port == 80" -T fields -e tcp.seq -e tcp.ack
Typische Ausgabe:
seq: 100, ack: 200
seq: 200, ack: 300
seq: 300, ack: 400
Tipp: tcp.stream ist nützlich, um einen gesamten TCP-Fluss zu verfolgen. Mit -z follow,tcp,5 können Sie den gesamten Stream als Text anzeigen.

UDP – Verbindungslose Kommunikation

udp · udp.port · udp.length
tshark -r capture.pcap -Y "udp.port == 53" -T fields -e udp.srcport -e udp.dstport

UDP-Filter ermöglichen die Analyse von verbindungslosem Traffic – DNS, DHCP, SNMP, NTP und viele andere Protokolle nutzen UDP.

Wichtige UDP-Felder

Feld Beschreibung
udp.port UDP-Port (Quelle oder Ziel)
udp.srcport Quellport
udp.dstport Zielport
udp.length Paketlänge (inklusive Header)
udp.checksum Checksumme
Beispiele
tshark -r capture.pcap -Y "udp" # Alle UDP-Pakete
tshark -r capture.pcap -Y "udp.port == 53" # DNS (Port 53)
tshark -r capture.pcap -Y "udp.port == 123" # NTP (Port 123)
tshark -r capture.pcap -Y "udp.length > 1000" # Große UDP-Pakete
Typische Ausgabe:
src: 5353, dst: 53
src: 123, dst: 12345
src: 514, dst: 514
Tipp: UDP wird oft für Broadcast- und Multicast-Traffic verwendet – der Filter udp.dstport == 67 or udp.dstport == 68 zeigt DHCP.

TLS / SSL – Verschlüsselten Traffic analysieren

tls · ssl · tls.handshake · tls.sni
tshark -r capture.pcap -Y "tls.handshake.type == 1" -T fields -e tls.sni

TLS/SSL-Filter ermöglichen die Analyse von verschlüsselten Verbindungen – Handshake-Typen, Server Name Indication (SNI), Zertifikatsinformationen und mehr.

Wichtige TLS-Felder

Feld Beschreibung
tls.handshake.type Handshake-Typ (1 = Client Hello, 2 = Server Hello)
tls.sni Server Name Indication (Domainname)
tls.handshake.extensions_server_name SNI-Erweiterung
tls.handshake.certificate Zertifikat (Base64-kodiert)
tls.record.version TLS-Version (z.B. 0x0303 = TLS 1.2)
tls.cipher_suite Verschlüsselungssuite
tls.handshake.session_id Session-ID (für Session-Resumption)
Beispiele
tshark -r capture.pcap -Y "tls.handshake.type == 1" # Client Hello
tshark -r capture.pcap -Y "tls.sni" -T fields -e tls.sni # SNI-Domains
tshark -r capture.pcap -Y "tls.record.version == 0x0303" # TLS 1.2
tshark -r capture.pcap -Y "tls.cipher_suite" -T fields -e tls.cipher_suite # Verschlüsselungssuiten
Typische Ausgabe (SNI):
www.example.com
api.google.com
cdn.cloudflare.com
Tipp: Auch wenn TLS den Inhalt verschlüsselt, bleiben Metadaten wie SNI (Domainname) und das Handshake sichtbar – das ermöglicht die Identifikation von Zielen.

DHCP – IP-Adressvergabe analysieren

dhcp · dhcp.option · bootp
tshark -r capture.pcap -Y "dhcp" -T fields -e dhcp.option.hostname -e dhcp.option.dhcp_server

DHCP-Filter ermöglichen die Analyse der IP-Adressvergabe – Optionen, Hostname, DHCP-Server, Lease-Zeiten und mehr.

Wichtige DHCP-Felder

Feld Beschreibung
dhcp.option.dhcp_server IP-Adresse des DHCP-Servers
dhcp.option.hostname Hostname des Clients
dhcp.option.requested_ip_address Angeforderte IP-Adresse
dhcp.option.router Standard-Gateway
dhcp.option.domain_name_server DNS-Server
dhcp.option.domain_name DNS-Domain
dhcp.option.lease_time Lease-Zeit (Sekunden)
dhcp.option.message_type Nachrichtentyp (1=Discover, 2=Offer, 3=Request, 5=ACK)
Beispiele
tshark -r capture.pcap -Y "dhcp.option.message_type == 1" # DHCP Discover
tshark -r capture.pcap -Y "dhcp.option.message_type == 5" # DHCP ACK
tshark -r capture.pcap -Y "dhcp" -T fields -e dhcp.option.hostname -e dhcp.option.requested_ip_address
tshark -r capture.pcap -Y "dhcp.option.dhcp_server" -T fields -e dhcp.option.dhcp_server # DHCP-Server-IP
Typische Ausgabe:
hostname: PC-001, requested_ip: 192.168.1.50
hostname: Laptop, requested_ip: 192.168.1.60
Tipp: DHCP-Nachrichten verwenden die Ports 67 (Server) und 68 (Client). Der Filter udp.port == 67 or udp.port == 68 zeigt den gesamten DHCP-Traffic.

Protokoll-Filter im Überblick

HTTP Web-Traffic
Port 80, 8080
DNS Namensauflösung
Port 53 (UDP)
TCP Transport (verbindungsorientiert)
Ports, Flags, Streams
UDP Transport (verbindungslos)
Ports, Länge
TLS Verschlüsselung
SNI, Handshake, Zertifikate
DHCP IP-Adressvergabe
Optionen, Hostname

Quick Summary

http
Web-Traffic
dns
Namensauflösung
tcp
Transport (TCP)
udp
Transport (UDP)
tls
Verschlüsselung
dhcp
IP-Adressvergabe
tshark -r capture.pcap -Y http -T fields -e http.request.uri · tshark -r capture.pcap -Y dns -T fields -e dns.qry.name