Tcpdump Basics
Version vom 15. Juni 2026, 16:00 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= tcpdump – Referenz = '''tcpdump''' schneidet Netzwerkverkehr mit und filtert ihn über '''BPF'''-Ausdrücke. Aufbau: <pre> tcpdump [ OPTIONEN ] [ FILTER-…“)
tcpdump – Referenz
tcpdump schneidet Netzwerkverkehr mit und filtert ihn über BPF-Ausdrücke. Aufbau:
tcpdump [ OPTIONEN ] [ FILTER-AUSDRUCK ]
Hinweis: meist als root. Für die Übungen zwei Terminals – eins mit tcpdump (mitschneiden), eins zum Traffic erzeugen.
Wichtige Optionen
- -D
- verfügbare Interfaces auflisten
- -i eth0
- Interface wählen (
-i any= alle) - -n
- keine Namensauflösung von Hosts (schneller, IPs statt Namen)
- -nn
- zusätzlich keine Port-Namen (Zahlen statt http, ssh)
- -c N
- nach N Paketen aufhören
- -w datei.pcap
- roh in Datei schreiben (für Wireshark / spätere Analyse)
- -r datei.pcap
- aus Datei lesen
- -A
- Paketinhalt als ASCII (Klartext mitlesen)
- -X
- Inhalt als Hex + ASCII
- -e
- Layer-2-Header (MAC-Adressen) mit anzeigen
- -v / -vv / -vvv
- ausführlicher
- -s 0
- ganze Pakete erfassen (Snaplength, bei alten Versionen wichtig)
- -Q in|out
- nur ein- bzw. ausgehend
tcpdump -D tcpdump -i eth0 -nn tcpdump -i eth0 -c 10 -w mitschnitt.pcap tcpdump -r mitschnitt.pcap
Filter: Primitive
Aufbau aus Typ, Richtung und Protokoll.
- host 10.0.2XX.5
- Verkehr von/zu diesem Host
- src host / dst host
- nur Quelle bzw. Ziel
- net 10.0.2XX.0/24
- ganzes Netz
- port 53
- Quell- oder Zielport
- src port / dst port
- nur Quell- bzw. Zielport
- portrange 22-80
- Portbereich
Protokolle direkt als Schlüsselwort:
- icmp / icmp6
- ICMP bzw. ICMPv6 (Ping, Neighbor Discovery)
- arp
- ARP
- tcp / udp
- Transportprotokoll
- broadcast / multicast
- Broadcast- bzw. Multicast-Verkehr
tcpdump -i eth0 host 10.0.2XX.104 tcpdump -i eth0 dst port 22 tcpdump -i eth0 icmp tcpdump -i eth0 arp tcpdump -i eth0 port 53
Filter: Verknüpfen
Mit and, or, not kombinieren (Klammern ggf. in '...' quoten):
tcpdump -i eth0 tcp or udp tcpdump -i eth0 'host 10.0.2XX.104 and port 80' tcpdump -i eth0 'tcp and not port 22'
Filter: TCP-Flags
Byte 13 im TCP-Header trägt die Flags. Wertigkeiten: FIN=1, SYN=2, RST=4, PSH=8, ACK=16, URG=32.
- nur SYN (Verbindungsaufbau / Portscan-Erkennung)
- SYN gesetzt, ACK nicht – also kein SYN-ACK
# numerisch tcpdump 'tcp[13] & 2 != 0 and tcp[13] & 16 == 0' # lesbar (gleiches Ergebnis) tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn'
Klartext mitlesen
# HTTP ist Klartext -> Inhalt sichtbar tcpdump -i eth0 -A port 80 # gezielt nach HTTP-Methode filtern tcpdump -i eth0 -A port 80 | grep "GET"
Merksatz: bei port 443 (HTTPS) bleibt der Inhalt verschlüsselt, aber Ziel-IP, Port und SNI (Hostname) sind weiterhin sichtbar.
Bezug zu den Übungen
Jede Aufgabe ist eine Kombination aus genau diesen Bausteinen:
- Interface wählen →
-i, vorher-D - Host/Port eingrenzen →
host,port,dst/src - Protokoll eingrenzen →
icmp,icmp6,arp,tcp/udp,broadcast - Mitschnitt sichern/lesen →
-w/-r - Inhalt sehen →
-A - Verbindungsaufbau erkennen → TCP-Flag-Filter