Wie man tcpdump für die Paketaufzeichnung verwendet

So verwenden Sie Tcpdump zur Paketaufzeichnung

Paketaufzeichnung ist eine sehr nützliche Methode, um die inneren Abläufe eines Netzwerks zu analysieren. Es gibt eine Vielzahl von verschiedenen Tools, die zu diesem Zweck entwickelt wurden. Eines davon ist tcpdump. Hier zeigen wir Ihnen, wie Sie dieses großartige Tool für Netzwerktechniker und Penetrationstester optimal nutzen können.

Inhaltsverzeichnis

  • Was ist tcpdump?
  • Installation
  • Die Grundlagen
  • Spezifizieren einer Netzwerkschnittstelle
  • Spezifizieren eines Ports/Portbereichs
  • Spezifizieren eines Hosts oder Subnetzes
  • Spezifizieren der Ausführlichkeit
  • Speichern der Aufzeichnung in einer Datei
  • Häufig gestellte Fragen

Auch lesen: Tor vs. VPN: Ist eines besser als das andere?

Was ist tcpdump?

tcpdump ist ein Netzwerkanalysetool, das 1988 von einem Team von Informatikern, die im Lawrence Berkeley Laboratory und dessen Netzwerkforschungsgruppe arbeiteten, entwickelt und veröffentlicht wurde. Es wird verwendet, um den Inhalt von Paketen anzuzeigen, die ein Computer sendet und empfängt. Das Utility bietet eine Vielzahl von Optionen, um die Paketaufzeichnung spezifischer und fokussierter zu gestalten. Einige dieser Optionen beinhalten verschiedene Netzwerkprotokolle und Netzwerkschnittstellen.

Installation

Viele Linux-Distributionen kommen mit dem Tool direkt nach der Installation. Wenn Ihre bevorzugte Distribution dies jedoch nicht tut, ist die Installation glücklicherweise schnell und einfach.

Wenn Sie beispielsweise Ubuntu oder Debian verwenden, kann es mit apt installiert werden:

sudo apt install tcpdump

Auf CentOS geschieht dies auf die gleiche Weise mit yum:

sudo yum install tcpdump

Und auf Arch Linux verwenden Sie pacman:

sudo pacman -S tcpdump

Auch lesen: Was ist Onion Routing und Wie Sie Ihre Privatsphäre zurückbekommen

Die Grundlagen

Mit tcpdump installiert, können Sie die man-Seite mit dem -h-Flag aufrufen:

tcpdump -h

Dies zeigt Ihnen eine Liste der Flags, die Sie beim Verwenden des Tools nutzen können.

Tcpdump-Hilfebefehl

Wenn Sie einen umfassenderen und detaillierteren Handbuch einsehen möchten, können Sie die man-Seite (Handbuchseite) mit dem man-Befehl aufrufen:

man tcpdump

Tcpdump-Man-Seite

Sie können eine grundlegende Paketaufnahme durchführen, indem Sie eingeben:

tcpdump

Wenn Sie den Befehl alleine verwenden und keine Netzwerkschnittstelle spezifizieren, wählt das Tool eine der verfügbaren Schnittstellen auf Ihrem System aus.

Wenn Sie nicht möchten, dass tcpdump die Hostnamen auflöst und stattdessen nur IP-Adressen ausgeben möchte, können Sie das -n-Flag verwenden:

tcpdump -n

Wenn Sie die Anzahl der zu erfassenden Pakete festlegen möchten, verwenden Sie das -c-Flag:

tcpdump -c[Anzahl der Pakete]

Spezifizieren einer Netzwerkschnittstelle

Sie können Ihre bevorzugte Netzwerkschnittstelle mit dem -i-Flag angeben:

tcpdump -i[Schnittstelle]

Zwei der häufigsten Namen für Netzwerkschnittstellen auf den meisten Systemen sind eth0 und wlan0:

tcpdump -i eth0  
tcpdump -i wlan0

Wenn Sie Daten auf allen Schnittstellen erfassen möchten, können Sie die any-Option verwenden:

tcpdump -i any

Auch lesen: Ethernet-Switch vs. Hub vs. Splitter: Was ist der Unterschied?

Spezifizieren eines Ports/Portbereichs

Wenn Sie nur Daten erfassen möchten, die einen bestimmten Port verwenden, verwenden Sie den Befehl:

tcpdump -i[Schnittstelle] port [Portnummer]

Angenommen, Sie möchten den Verkehr auf der Schnittstelle eth0 für Port 443 (HTTPS) erfassen. Geben Sie Folgendes ein:

tcpdump -i eth0 port 443

Darüber hinaus erlaubt es tcpdump, einen Bereich von Ports anzugeben:

tcpdump -i[Schnittstelle] portrange [Portbereich]

Spezifizieren eines Hosts oder Subnetzes

Es wird Zeiten geben, in denen Sie die erfassten Pakete nur auf die von einem bestimmten Host oder Subnetz gesendeten/empfangenen beschränken möchten. Glücklicherweise erlaubt es tcpdump, dies zu tun.

Sie können einen Host mit dem folgenden Format angeben:

tcpdump -i[Schnittstelle] host [Host]

Als Beispiel können Sie den Verkehr auf der Schnittstelle eth0 erfassen und den Host auf 127.0.0.1 (Ihre eigene Loopback-IP-Adresse) festlegen:

tcpdump -i eth0 host 127.0.0.1

Wenn Sie ein Netzwerk-Subnetz unter Verwendung der CIDR-Notation angeben möchten, können Sie das folgende Format verwenden:

tcpdump -i[Schnittstelle] net [Subnetz]

Zum Beispiel:

tcpdump -i eth0 net 10.0.0.0/8

Sie können auch einen Quellhost direkt angeben:

tcpdump -i[Schnittstelle] src [Host]

Und einen Zielhost:

tcpdump -i[Schnittstelle] dst [Host]

Auch lesen: Wie man Nmap ohne Root oder Sudo ausführt

Spezifizieren der Ausführlichkeit

tcpdump ermöglicht es Ihnen, die Ausführlichkeit der Paketaufzeichnung festzulegen. Dies ist sehr nützlich, wenn Sie während einer Aufzeichnung nicht von der Menge an Informationen überwältigt werden möchten.

Es gibt drei inkrementelle Optionen für die Ausführlichkeit, die Flags -v, -vv und -vvv:

tcpdump -i[Schnittstelle]-v  
tcpdump -i[Schnittstelle]-vv  
tcpdump -i[Schnittstelle]-vvv

Die erste Option legt die geringste Ausführlichkeit fest, während die dritte die höchste Ausführlichkeit angibt.

Speichern der Aufzeichnung in einer Datei

Es ist oft nützlich, die erfassten Daten in einer Datei zu speichern, damit sie weiter analysiert und interpretiert werden können.

Dies erfolgt mit dem -w-Flag:

tcpdump -i[Schnittstelle]-w[Dateiname]

Als Beispiel können Sie die erfassten Daten in eine Datei namens „capture.txt“ speichern:

tcpdump -i eth0 -w capture.txt

Auch lesen: Wie man Ports öffnet und Portweiterleitung auf Ihrem Router einrichtet

Häufig gestellte Fragen

1. Ich habe einen „Operation not permitted“-Fehler erhalten. Wie kann ich das beheben?

Folgendes ist ein häufiger Fehler, den Benutzer erhalten, wenn sie versuchen, tcpdump zu verwenden:

Tcpdump-Betrieb nicht erlaubt Fehler

tcpdump gibt Ihnen diesen Fehler, wenn Sie nicht über die erforderlichen Berechtigungen verfügen, um eine Paketaufzeichnung durchzuführen. In den meisten Szenarien können Sie dies lösen, indem Sie sudo verwenden. Zum Beispiel:

sudo tcpdump -i eth0

2. Wie weiß ich, welche Netzwerkschnittstellen verfügbar sind?

tcpdump verfügt über eine eingebaute Funktion, die es Ihnen ermöglicht, die verfügbaren Netzwerkschnittstellen auf Ihrem System zu überprüfen.

Um die Schnittstellen zu überprüfen, verwenden Sie das -D-Flag:

tcpdump -D