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.