Tcpdump Tutorial
Einführung in tcpdump
tcpdump im Überblick
tcpdump ist das weltweit führende Tool zur Netzwerkanalyse – leistungsstark und einfach in einer einzigen Befehlszeilenschnittstelle.
Funktionsweise
tcpdump ist ein Paketanalysator für die Kommandozeile zur Erfassung und Untersuchung von Netzwerkverkehr in Echtzeit.
Zielgruppe
Dieses Tool ist unverzichtbar für Netzwerkadministratoren, Sicherheitsexperten und alle, die Netzwerkverhalten analysieren wollen.
Was dieses Tutorial bietet
In diesem Tutorial werden 50 praktische Anwendungsbeispiele von tcpdump behandelt – von einfacher Erfassung bis zu komplexer Filterung.
Grundlegende Syntax
Syntaxaufbau
Die allgemeine Syntax besteht aus Optionen und einem Filterausdruck.
- tcpdump [optionen] [ausdruck]
Funktion von Optionen
Optionen steuern das Verhalten von tcpdump, z. B. Interface-Auswahl oder Ausgabeformat.
Funktion von Ausdrücken
Ein Ausdruck bestimmt, welche Art von Verkehr erfasst wird – über Hostnamen, IPs, Ports, Protokolle usw.
Verkehr auf einem Interface erfassen
Verkehr auf enp0s3 erfassen
Erfasst den gesamten Netzwerkverkehr auf dem Interface enp0s3.
- tcpdump -i enp0s3
Verfügbare Schnittstellen anzeigen
Listet alle verfügbaren Netzwerkinterfaces auf.
- tcpdump -D
Verkehr zu/von einem Host erfassen
Verkehr zu oder von 192.168.1.100 erfassen
Erfasst alle Pakete zwischen dem lokalen System und 192.168.1.100.
- tcpdump -i enp0s3 host 192.168.1.100
Verkehr zu oder von example.com erfassen
Zeigt den gesamten Verkehr mit example.com.
- tcpdump -i enp0s3 host example.com
Verkehr auf einem Port erfassen
HTTP-Verkehr erfassen
Erfasst Verkehr über Port 80.
- tcpdump -i enp0s3 port 80
HTTPS-Verkehr erfassen
Erfasst Verkehr über Port 443.
- tcpdump -i enp0s3 port 443
SSH-Verkehr erfassen
Erfasst Verkehr über Port 22.
- tcpdump -i enp0s3 port 22
FTP-Verkehr erfassen
Erfasst Verkehr über Port 21.
- tcpdump -i enp0s3 port 21
SMTP-Verkehr erfassen
Erfasst Verkehr über Port 25.
- tcpdump -i enp0s3 port 25
DNS-Verkehr erfassen
Erfasst Verkehr über Port 53.
- tcpdump -i enp0s3 port 53
Verkehr nach Richtung filtern
Verkehr von 192.168.1.100 erfassen
Zeigt alle Pakete mit dieser IP als Quelle.
- tcpdump -i enp0s3 src host 192.168.1.100
Verkehr zu 192.168.1.100 erfassen
Zeigt alle Pakete mit dieser IP als Ziel.
- tcpdump -i enp0s3 dst host 192.168.1.100
Verkehr mit Quellport 80 erfassen
Zeigt Pakete, die von Port 80 ausgehen.
- tcpdump -i enp0s3 src port 80
Verkehr mit Zielport 443 erfassen
Zeigt Pakete, die an Port 443 gehen.
- tcpdump -i enp0s3 dst port 443
Protokolle filtern
Nur TCP-Verkehr erfassen
Erfasst ausschließlich TCP-Pakete.
- tcpdump -i enp0s3 tcp
Nur UDP-Verkehr erfassen
Erfasst ausschließlich UDP-Pakete.
- tcpdump -i enp0s3 udp
Nur ICMP-Verkehr erfassen
Zeigt nur ICMP-Nachrichten.
- tcpdump -i enp0s3 icmp
Nach Subnetzen filtern
Verkehr im Subnetz 192.168.1.0/24 erfassen
Zeigt Verkehr innerhalb des Subnetzes.
- tcpdump -i enp0s3 net 192.168.1.0/24
Verkehr aus dem Subnetz erfassen
Zeigt Verkehr mit Quelladresse im Subnetz.
- tcpdump -i enp0s3 src net 192.168.1.0/24
Verkehr ins Subnetz erfassen
Zeigt Verkehr mit Zieladresse im Subnetz.
- tcpdump -i enp0s3 dst net 192.168.1.0/24
Kombinierte Filter
Verkehr zu Host und Port 80 erfassen
Filtert alle Pakete zu 192.168.1.100 auf Port 80.
- tcpdump -i enp0s3 dst host 192.168.1.100 and dst port 80
Verkehr von Host auf Port 443 erfassen
Filtert alle Pakete von 192.168.1.100 mit Port 443.
- tcpdump -i enp0s3 src host 192.168.1.100 and src port 443
Verkehr zu/von Host auf Port 80 oder 443 erfassen
Zeigt Verkehr zu/von 192.168.1.100 über Port 80 oder 443.
- tcpdump -i enp0s3 host 192.168.1.100 and \( port 80 or port 443 \)
Negation
Alle Pakete außer ICMP erfassen
Filtert alles außer ICMP.
- tcpdump -i enp0s3 not icmp
Alle Pakete außer Port 80 erfassen
Filtert alles außer HTTP.
- tcpdump -i enp0s3 not port 80
Nach TCP-Flags filtern
Nur SYN-Pakete erfassen
Erkennt TCP-Verbindungsaufbau.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-syn != 0'
Nur ACK-Pakete erfassen
Filtert alle Pakete mit gesetztem ACK-Flag.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-ack != 0'
Nur RST-Pakete erfassen
Zeigt TCP-Verbindungsabbrüche.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-rst != 0'
Nur FIN-Pakete erfassen
Erkennt Verbindungsabbau.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-fin != 0'
Nur URG-Pakete erfassen
Erkennt dringende TCP-Daten.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-urg != 0'
Nur PSH-Pakete erfassen
Zeigt Daten mit Push-Flag.
- tcpdump -i enp0s3 'tcp[tcpflags] & tcp-push != 0'
Alle TCP-Flags auf 0x01 prüfen
Erfasst Pakete mit exakt diesem Flagwert.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x01'
Keine TCP-Flags gesetzt
Filtert Pakete ohne gesetzte Flags.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x00'
SYN/ACK-Kombination prüfen
Zeigt Pakete mit SYN- und ACK-Flag.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x12'
SYN/RST-Kombination prüfen
Filtert Pakete mit SYN- und RST-Flag.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x14'
SYN/FIN-Kombination prüfen
Erkennt gleichzeitigen Aufbau/Abbau.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x11'
PSH/ACK-Kombination prüfen
Zeigt Pakete mit aktiver Datenübertragung.
- tcpdump -i enp0s3 'tcp[tcpflags] = 0x18'
Spezielle IP-Header-Felder
IP-Fragmentierung prüfen
Zeigt fragmentierte Pakete.
- tcpdump -i enp0s3 'ip[6:2] & 0x1fff != 0'
TTL-Wert 128 prüfen
Filtert Pakete mit Time-To-Live 128.
- tcpdump -i enp0s3 'ip[8] = 128'
DSCP-Wert prüfen
Zeigt Pakete mit Differentiated Services Code Point 46.
- tcpdump -i enp0s3 'ip[1] & 0xfc >> 2 = 46'
ECN-Wert prüfen
Filtert Pakete mit Explicit Congestion Notification 3.
- tcpdump -i enp0s3 'ip[1] & 0x03 = 3'
TCP-Sequenzdaten
TCP-Sequence-Number prüfen
Zeigt Pakete mit Sequenznummer 12345678.
- tcpdump -i enp0s3 'tcp[4:4] = 12345678'
TCP-Acknowledgement-Number prüfen
Zeigt Pakete mit ACK-Nummer 87654321.
- tcpdump -i enp0s3 'tcp[8:4] = 87654321'
Quellportbereich prüfen
Filtert TCP-Pakete mit Quellport zwischen 1024 und 65535.
- tcpdump -i enp0s3 'tcp[0:2] > 1023 and tcp[0:2] < 65536'
Zielportbereich prüfen
Filtert TCP-Pakete mit Zielport zwischen 1024 und 65535.
- tcpdump -i enp0s3 'tcp[2:2] > 1023 and tcp[2:2] < 65536'