Tcpdump
# Tcpdump

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 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.

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

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

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.

