Tcpdump Tutorial

Aus Xinux Wiki
Version vom 10. Mai 2025, 08:52 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Einführung in tcpdump= ==tcpdump im Überblick== tcpdump ist das weltweit führende Tool zur Netzwerkanalyse – leistungsstark und einfach in einer einzige…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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'