- 1 Section
- 10 Lessons
- unbegrenzt
- Netzwerk-Troubleshooting & Diagnose10
tcpdump auf der Kommandozeile
Du stehst per SSH auf einem Linux-Server und willst wissen, was über die Netzwerkkarte geht – aber Wireshark mit seiner GUI hilft dir hier nicht. Genau für diesen Fall existiert tcpdump: dieselbe Paket-Mitschnitt-Funktion, aber komplett auf der Kommandozeile, schon seit den 1980er-Jahren – und auf praktisch jedem Linux-/Unix-System bereits installiert.
Die Analogie: Wireshark ist das Mikroskop mit Monitor, Maus und drehbarem Objektivrevolver. tcpdump ist die Lupe, die du dir an die Stirn klemmst – kleiner, leichter, immer dabei, aber jeder Handgriff ist Handarbeit. Eine zweite Analogie: Wireshark ist die Foto-DSLR, tcpdump die Smartphone-Kamera – das Smartphone macht jedes Foto, das du brauchst, aber für die Profi-Bearbeitung lädst du es später auf den großen Bildschirm.
1) Wann tcpdump – und wann nicht?
Die Entscheidung zwischen tcpdump und Wireshark ist selten ein „entweder/oder", sondern fast immer ein „erst tcpdump, dann Wireshark". tcpdump zeichnet auf, Wireshark analysiert. Die Stärken im Überblick:
| Stärke von tcpdump | Stärke von Wireshark |
|---|---|
| Auf jedem Linux-/Unix-Server vorinstalliert | Komfortable GUI mit Such-, Filter- und Highlight-Funktionen |
| Per SSH einsetzbar – keine GUI nötig | Protokoll-Decoder für hunderte Anwendungsprotokolle |
| Minimaler Ressourcenverbrauch – läuft auf Routern, Switches, Embedded | Statistik-Funktionen (Conversations, I/O-Graph, Expert Info) |
| Skripttauglich, perfekt für automatisierte Mitschnitte | „Follow TCP Stream", grafische Decodierung von TLS-Sitzungen |
| Schreibt PCAP-Dateien, die Wireshark direkt öffnet | Live-Analyse mit Echtzeit-Filtern |
Der klassische Praxis-Workflow: tcpdump auf dem betroffenen Server starten, in eine PCAP-Datei schreiben, anschließend per scp herunterziehen und in Wireshark auf dem eigenen Laptop in Ruhe analysieren. So bekommst du das Beste aus beiden Welten.
2) Command-Builder – tcpdump zusammenstecken
Ein tcpdump-Kommando besteht aus drei Bausteinen: dem Interface, dem BPF-Filter und der Output-Option. Wähle aus, was du brauchst – die Kommandozeile entsteht live:
sudo tcpdump …. Tipp: -nn verhindert sowohl DNS- als auch Service-Name-Auflösung – das macht den Output schneller und vermeidet, dass tcpdump deinen Mitschnitt durch eigene DNS-Anfragen verfälscht.3) Eine tcpdump-Ausgabe lesen
Die Standard-Ausgabe von tcpdump wirkt anfangs einschüchternd – ein langer Strom aus Zeitstempeln, IPs, Ports und Flags. Mit etwas Übung erkennt man die Muster aber sofort. Eine typische Zeile bei einem TCP-Handshake:
15:42:01.145789 IP 142.250.74.195.443 > 10.0.0.5.51244: Flags [S.], seq 0, ack 1, win 65535
15:42:01.145900 IP 10.0.0.5.51244 > 142.250.74.195.443: Flags [.], ack 1
15:42:01.146012 IP 10.0.0.5.51244 > 142.250.74.195.443: Flags [P.], seq 1:518, ack 1, length 517 # TLS Client Hello
[S] = SYN, [S.] = SYN+ACK, [.] = ACK, [P.] = PUSH+ACK (Daten), [F.] = FIN+ACK, [R] = RST. Der Punkt steht jeweils für ein zusätzliches ACK-Flag. Diese Schreibweise ist tcpdump-typisch – Wireshark nennt dieselben Flags ausgeschrieben.4) Klassische tcpdump-Befehle für den Alltag
Eine kleine Sammlung an Kommandos, die in der Praxis immer wieder gebraucht werden. Wer diese kennt, deckt 80 % aller Diagnose-Aufgaben ab:
| Frage | Befehl |
|---|---|
| Kommt überhaupt etwas auf eth0 an? | sudo tcpdump -i eth0 -nn -c 20 |
| Wer redet mit meinem Webserver? | sudo tcpdump -i any -nn 'tcp port 443' |
| DNS-Verkehr live mitlesen | sudo tcpdump -i any -nn 'udp port 53' |
| HTTP-Klartext sehen (nur unverschlüsselt!) | sudo tcpdump -i any -nn -A 'tcp port 80' |
| Alles von/zu einer IP in Datei sichern | sudo tcpdump -i any -w cap.pcap 'host 192.168.1.50' |
| Mitschnitt nach Größe rotieren | sudo tcpdump -i eth0 -C 100 -W 5 -w r.pcap |
| ARP-Verkehr (z. B. bei IP-Konflikt-Verdacht) | sudo tcpdump -i any -nn arp |
| Nur eingehender Verkehr an Port 80 | sudo tcpdump -i eth0 'tcp dst port 80' |
5) Der Profi-Workflow: tcpdump + Wireshark kombinieren
Die mit Abstand häufigste Nutzung in der Praxis: tcpdump läuft auf einem Linux-Server, schreibt eine PCAP-Datei, du holst die Datei rüber und analysierst sie in Wireshark mit voller GUI-Power. Das funktioniert auch in Echtzeit – per SSH-Pipe direkt in den Wireshark auf dem Laptop:
sudo tcpdump -i eth0 -w /tmp/c.pcap 'host 10.0.0.5'scp srv:/tmp/c.pcap .Standardformat, Wireshark öffnet es direkt.
wireshark c.pcapVolle GUI-Power für Analyse.
ssh server "sudo tcpdump -U -w - -i eth0 'not port 22'" | wireshark -k -i - – pipet den Mitschnitt direkt in einen laufenden Wireshark. not port 22 filtert die eigene SSH-Sitzung raus (sonst Endlos-Schleife). Dieselbe BPF-Syntax funktioniert auch bei Wireshark-Capture-Filtern.Zusammenfassung
tcpdump ist das CLI-Pendant zu Wireshark: ein Paket-Sniffer für die Kommandozeile, auf jedem Linux-System vorhanden. Aufbau eines Befehls: tcpdump -i Interface -nn 'BPF-Filter' -w datei.pcap. Die BPF-Syntax (port 443, host x.x.x.x, tcp and not arp) ist dieselbe wie bei Wireshark-Capture-Filtern. Standard-Output zeigt Zeitstempel, IPs/Ports und TCP-Flags in Kompaktnotation ([S], [S.], [.]). Profi-Workflow: tcpdump auf dem Server zur Aufzeichnung, PCAP-Datei in Wireshark auf dem Desktop analysieren. Immer mit sudo, immer mit -c oder Dateirotation, um den Daten-Tsunami zu begrenzen.
Verwandte Lektionen: Wireshark-Grundlagen · Datenkapselung & OSI · netstat & ss · und mehrWeitere relevante Lektionenping & ICMPtraceroutenslookup & digSystematische FehlersucheTypische FehlerszenarienTCP/UDP & Schicht 4Dienste auf Linux-ServernNmap-GrundlagenDSGVO & Mitschnitt
