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:

Befehl
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:

Befehl
## 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:

Befehl
## 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:

Befehl
## 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:

Befehl
## 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) oder port 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:

  1. Hypothese definieren (welcher Host/Port/Protokoll)
  2. schmalen Filter erstellen
  3. Paketanzahl oder -dauer begrenzen
  4. pcap für tiefere Analyse in Wireshark speichern

Beispiel:

Befehl
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:

Befehl
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:

Befehl
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:

  1. Erfassen Sie das SYN/SYN-ACK-Verhalten am Service-Port
  2. Bestätigen Sie, dass Pakete die richtige Schnittstelle erreichen
  3. vergleichen Sie clientseitige und serverseitige Erfassungen
  4. 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.