tcpdump ist ein leistungsstarker Befehlszeilen-Paketanalysator, mit dem Sie den Netzwerkverkehr erfassen und überprüfen können. Eine der nützlichsten Funktionen ist die Möglichkeit, den Datenverkehr nach Port zu filtern, sodass Sie sich auf bestimmte Dienste oder Anwendungen konzentrieren können.
Grundlegende Portfiltersyntax
Um den Datenverkehr an einem bestimmten Port zu erfassen, verwenden Sie die port Stichwort:
sudo tcpdump port 80
Dadurch wird der gesamte Datenverkehr (sowohl ein- als auch ausgehend) auf Port 80 (HTTP) erfasst.
Quell- und Zielports
Sie können angeben, ob nach Quell- oder Zielport gefiltert werden soll:
## Capture traffic FROM port 443
sudo tcpdump src port 443
## Capture traffic TO port 443
sudo tcpdump dst port 443
Mehrere Ports
Um mehrere Ports zu überwachen, verwenden Sie or oder portrange:
## Capture HTTP and HTTPS traffic
sudo tcpdump port 80 or port 443
## Capture a range of ports
sudo tcpdump portrange 8000-8080
Kombination von Portfiltern mit anderen Kriterien
Kombinieren Sie Portfilter mit Host- oder Protokollfiltern mithilfe logischer Operatoren:
## Capture SSH traffic from specific host
sudo tcpdump port 22 and host 192.168.1.100
## Capture DNS traffic (UDP port 53)
sudo tcpdump udp and port 53
## Exclude specific port
sudo tcpdump not port 22
Nützliche Optionen
Erweitern Sie Ihre tcpdump-Ausgabe mit diesen Optionen:
## Save capture to file
sudo tcpdump port 80 -w capture.pcap
## Show packet contents in ASCII and hex
sudo tcpdump port 443 -X
## Limit number of packets
sudo tcpdump port 25 -c 100
## Don't resolve hostnames (faster)
sudo tcpdump port 80 -n
Häufige Anwendungsfälle
- Webverkehr:
sudo tcpdump port 80 or port 443 - E-Mail:
sudo tcpdump port 25 or port 587 or port 993 - Datenbank:
sudo tcpdump port 3306(MySQL) oderport 5432(PostgreSQL) - SSH:
sudo tcpdump port 22
Die Portfilterung mit tcpdump ist für die Fehlerbehebung im Netzwerk, die Sicherheitsanalyse und die Überwachung bestimmter Anwendungen unerlässlich, ohne unnötigen Datenverkehr zu erfassen.
Eroberungsstrategie, die skaliert
Ein guter TCPdump-Workflow vermeidet riesige nutzlose Captures:
- Hypothese definieren (welcher Host/Port/Protokoll)
- schmalen Filter erstellen
- Paketanzahl oder -dauer begrenzen
- pcap für tiefere Analyse in Wireshark speichern
Beispiel:
sudo tcpdump -n -i eth0 host 10.0.0.15 and port 443 -c 500 -w tls-check.pcap
Dadurch erhalten Sie einen fokussierten Datensatz, anstatt alles auf der Benutzeroberfläche zu erfassen.
Ringpuffererfassungen für lange Vorfälle
Bei zeitweise auftretenden Problemen verwenden Sie rotierende Feilen:
sudo tcpdump -i eth0 port 443 -C 20 -W 10 -w web-%Y%m%d%H%M%S.pcap
Dadurch bleibt der Speicher unter Kontrolle, während die aktuellen Verkehrsfenster erhalten bleiben.
Häufige Fallstricke bei Filtern
Fehlende Klammern mit and / or
Die Priorität der Filterlogik kann Sie überraschen. Gruppenbedingungen klar:
sudo tcpdump '(port 80 or port 443) and host 192.168.1.20'
Aufnehmen ohne -n
Reverse-DNS-Lookups verlangsamen die Erfassung und verursachen Rauschen. Benutzen -n in Fehlerbehebungssitzungen, es sei denn, eine Namensauflösung ist erforderlich.
Aufnahme auf falscher Schnittstelle
Überprüfen Sie zuerst die Schnittstelle (ip a / ifconfig) vor der Annahme eth0 ist aktiv.
Sicherheits- und Compliance-Erinnerung
Paketerfassungen können Anmeldeinformationen, Cookies, Token und persönliche Daten umfassen. Behandeln Sie PCAP-Dateien als sensible Artefakte:
- Zugriff einschränken
- im Ruhezustand verschlüsseln
- nach Untersuchung löschen
Fazit (betrieblich)
Portfilterung ist leistungsstark, wenn sie präzise ist. Verwenden Sie kleine, hypothesengesteuerte Erfassungen mit klaren BPF-Ausdrücken und analysieren Sie sie dann offline. Das ermöglicht eine schnellere Ursachenanalyse und weniger falsche Schlussfolgerungen.
Schnelles Triage-Muster für Serviceausfälle
Wenn ein Dienst ausgefallen zu sein scheint:
- Erfassen Sie das SYN/SYN-ACK-Verhalten am Service-Port
- Bestätigen Sie, dass Pakete die richtige Schnittstelle erreichen
- vergleichen Sie clientseitige und serverseitige Erfassungen
- Firewall-Zähler/Protokolle validieren
Dadurch erfahren Sie schnell, ob der Fehler auf dem Pfad, der Host-Firewall oder dem Dienstprozess liegt.
Fazit (Reaktion auf Vorfälle)
Bei Vorfällen ist tcpdump mit strengen Portfiltern eine der schnellsten Möglichkeiten, von Vermutungen zu Beweisen auf Paketebene zu gelangen.