tcpdump ist eine freie Software zur Überwachung und Auswertung von Netzwerkverkehr. Sie wurde von Van Jacobson, Craig Leres und Steven McCanne geschrieben, wird aber mittlerweile von vielen anderen weiterentwickelt. Tcpdump arbeitet im Textmodus und wird über die Kommandozeile gesteuert.

tcpdump

Basisdaten

Entwickler Das tcpdump-Team
Aktuelle Version 4.99.5[1]
(30. August 2024)
Betriebssystem Unix-Derivate
Programmier­sprache C[2]
Kategorie Netzwerkverkehr-Analyseprogramm
Lizenz BSD-Lizenz
deutschsprachig nein
tcpdump.org

Tcpdump ist verfügbar für die meisten Unix-Systeme und Unix-Derivate, wie AIX, BSD, Linux, Solaris und wird von vielen Herstellern bereits im Grundsystem mitgeliefert. Für Windows steht die Portierung WinDump zur Verfügung. Aufgrund des direkten Zugriffs auf die Hardware benötigt der Benutzer zur Ausführung der Software unter Unix und vielen anderen Systemen die privilegierten Rechte des root-Benutzers (Ausnahme: unter BSD-Derivaten, Mac OS X, SunOS und Solaris reicht es, wenn der Benutzer die entsprechenden Rechte für die Netzwerk-Gerätedatei hat).

Das Programm liest Daten in Form von Paketen, die über das Netzwerk gesendet werden, und stellt diese auf dem Bildschirm dar oder speichert sie in Dateien. Durch die Umstellung eines Netzwerkadapters in den Promiscuous Mode ist es darüber hinaus möglich, Pakete, die nicht für diesen Netzwerkadapter bestimmt sind, zu empfangen und auszuwerten.[3]

Zusätzlich ermöglicht tcpdump die Auswertung von vorher in Dateien gespeicherten Paketen. Mittels Parametern, die bei Programmstart auf der Kommandozeile angegeben werden müssen, steuert der Benutzer das Verhalten von tcpdump und übergibt Filter an das Programm, nach denen die Pakete ausgewertet werden.

Haupteinsatzgebiete von tcpdump sind:

  • Fehlersuche in Programmen, die über das Netzwerk kommunizieren.
  • Fehlersuche im Netzwerkaufbau selbst.
  • Aufzeichnung und Darstellung der Kommunikation anderer Benutzer und Computer. Benutzern, die Zugriff auf Router oder Gateways innerhalb eines Netzwerkes haben, wird es hiermit ermöglicht, die Kommunikation zwischen verschiedenen Teilnehmern des Netzwerkes zu überwachen und mitzuschneiden. Da einige Protokolle ihre Übertragung unverschlüsselt abwickeln, ist es auf diese Weise möglich, Passwörter und Benutzerdaten aus dem Netzwerk zu erhalten.

Anwendungsbeispiel

Bearbeiten

Mit tcpdump können eingehende und/oder ausgehende Daten auf Netzwerkebene erfasst werden, um diese anschließend zu analysieren. Soll z. B. die Kommunikation eines HTTP-Clients mit einem HTTP-Server auf Port 80 erfasst werden, kann auf dem Server das Kommando

    sudo tcpdump port 80 -w tracefile.pcap

gestartet werden. Sobald die zu untersuchenden Daten ausgetauscht wurden, wird das Kommando mit Ctrl-C bzw. Strg-C abgebrochen. Die so erzeugte Datei tracefile.pcap wird auf den Arbeitsplatz des Entwicklers transferiert und dort mit einem GUI-Tool wie Wireshark analysiert. Häufig werden dabei neben "port 80" weitere Filterkriterien wie "host 192.189.9.2" oder "-i <Interfacename>" angegeben, um die zu erfassenden Daten auf ein überschaubares Minimum zu beschränken.

Ein Vorteil von tcpdump besteht darin, dass die zu erfassenden Daten nichtinvasiv gewonnen werden können. Eine spezielle Konfiguration des HTTP-Servers oder der darauf laufenden Anwendung ist nicht erforderlich, diese laufen einfach im Normalbetrieb weiter.

Einzelnachweise

Bearbeiten
  1. tcpdump-4.99.5. 30. August 2024 (abgerufen am 30. August 2024).
  2. The tcpdump Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  3. Chi Yu Chan: A Network Packet Analyzer with Database Support, Department of Computer Science Rensselaer Polytechnic Institute, Troy, New York, August 2002 (englisch)
Bearbeiten