tcpdump ist der klassische Kommandozeilen-Paketanalysator für Linux und macOS. Er zeichnet Netzwerkverkehr direkt am Interface mit und filtert ihn nach Host, Port und Protokoll. Die gespeicherten .pcap-Dateien lassen sich später mit Wireshark, tshark oder erneut mit tcpdump auswerten.
Erste Schritte
sudo tcpdump -i eth0 # Alle Pakete auf eth0 anzeigen
sudo tcpdump -i any # Alle Interfaces
sudo tcpdump -nn -i eth0 # Keine Namens- und Portauflösung (schneller, präziser)
sudo tcpdump -c 50 -i eth0 # Nach 50 Paketen automatisch stoppen
tcpdump braucht root-Rechte, weil es das Interface in den Promiscuous Mode versetzt. Ohne sudo meldet es meist „You don't have permission to perform this capture".
Wichtige Filter
sudo tcpdump -i eth0 host 192.168.1.10 # Verkehr einer IP
sudo tcpdump -i eth0 src 192.168.1.10 # Nur als Quelle
sudo tcpdump -i eth0 dst port 443 # Nur Ziel-Port 443
sudo tcpdump -i eth0 tcp port 22 # SSH-Verbindungen
sudo tcpdump -i eth0 udp port 53 # DNS-Abfragen
sudo tcpdump -i eth0 net 192.168.1.0/24 # Komplettes Subnetz
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0' # SYN-Pakete (raw-Filter)
Filter lassen sich mit and, or und not kombinieren — komplexe Ausdrücke gehören in einfache Anführungszeichen, damit die Shell sie nicht interpretiert.
In Dateien speichern und auswerten
sudo tcpdump -i eth0 -w capture.pcap # In Datei schreiben
sudo tcpdump -i eth0 -w capture.pcap -C 100 # Rotation alle 100 MB
tcpdump -nn -r capture.pcap # Gespeicherte Datei lesen
tcpdump -nn -r capture.pcap 'tcp port 443' # In der Datei filtern
tcpdump -nn -r capture.pcap -A # ASCII-Inhalt anzeigen (z. B. HTTP)
Ausgabe verstehen
14:32:05.123456 IP 192.168.1.10.54322 > 93.184.216.34.443: Flags [P.], seq 1:145, ack 1, win 501, length 144
Die Zeile nennt Zeitstempel, Quell- und Zieladresse mit Port, TCP-Flags (S = SYN, P = PUSH, F = FIN, R = RST), Sequenznummern und Paketlänge. Das hilft beim Erkennen von Verbindungsaufbau, Retransmissions oder gescannten Ports.
Praxis-Tipps
- Nur Metadaten bei HTTPS: Verschlüsselter Verkehr zeigt sich als IP- und Port-Paare, der Inhalt bleibt unsichtbar — wie beim verwandten tshark.
- Sicherheit: tcpdump ist das Werkzeug der Wahl für Sniffing-Analysen und Netzwerk-Forensik.
- Kombination mit netcat: Während netcat-befehle Verbindungen aktiv aufbaut oder testet, beobachtet tcpdump passiv den Datenverkehr.
- Wireshark-Anschluss: Die
.pcap-Datei direkt in Wireshark öffnen, um Filter grafisch zu bauen.
Verwandte Grundlagen: TCP, Port, IP-Adresse.