So erfassen und analysieren Sie die Pakete anhand eines Beispiels mit Tcpdump

So Erfassen Und Analysieren Sie Die Pakete Anhand Eines Beispiels Mit Tcpdump



Tcpdump ist ein leistungsstarkes Netzwerkanalysetool, das zur Netzwerkverkehrsanalyse in Linux-Systemen und macOS verwendet wird. Netzwerkadministratoren verwenden tcpdump zum Netzwerk-Sniffing, Erfassen und Analysieren der TCP/IP-Pakete. Es verwendet eine „libpcap“-Bibliothek, die bei der effizienten Erfassung des Netzwerkverkehrs hilft. Darüber hinaus hilft tcpdump bei der Fehlerbehebung im Netzwerk und der regelmäßigen Überwachung der Netzwerkaktivitäten. Dieses Tool speichert die erfassten Daten in einer „pcap“-Datei. Diese Dateien werden mit einem TCP/IP-Paketanalysetool wie Wireshark oder über ein anderes Befehlszeilentool weiter analysiert.

In dieser Anleitung zeigen wir, wie man tcpdump auf einem Linux-System installiert und wie man die TCP/IP-Pakete mit tcpdump erfasst und analysiert.

So installieren Sie Tcpdump

Tcpdump ist auf vielen Linux-Distributionen vorinstalliert. Wenn es jedoch noch nicht auf Ihrem System installiert ist, können Sie tcpdump auf Ihrem Linux-System installieren. Um tcpdump auf dem Ubuntu 22.04-System zu installieren, verwenden Sie den folgenden Befehl:







$ sudo apt install tcpdump

Um tcpdump unter Fedora/CentOS zu installieren, verwenden Sie den folgenden Befehl:



$ sudo dnf installiere tcpdump

So erfassen Sie die Pakete mit dem Tcpdump-Befehl

Um die Pakete mit tcpdump zu erfassen, starten Sie das Terminal mit sudo-Berechtigungen mit „Strg+Alt+t“. Dieses Tool enthält verschiedene Optionen und Filter zum Erfassen der TCP/IP-Pakete. Wenn Sie alle fließenden Pakete der aktuellen oder Standardnetzwerkschnittstelle erfassen möchten, verwenden Sie den Befehl „tcpdump“ ohne Option.



$ sudo tcpdump

Der angegebene Befehl erfasst die Pakete der Standardnetzwerkschnittstelle Ihres Systems.





Am Ende der Ausführung dieses Befehls werden alle erfassten und gefilterten Paketzahlen auf dem Terminal angezeigt.



Lassen Sie uns die Ausgabe verstehen.

Tcpdump ermöglicht die Analyse der TCP/IP-Paketheader. Für jedes Paket wird eine einzelne Zeile angezeigt, und der Befehl wird so lange ausgeführt, bis Sie „Strg+C“ drücken, um ihn zu stoppen.

Jede von tcpdump bereitgestellte Zeile enthält die folgenden Details:

  • Unix-Zeitstempel (z. B. 02:28:57.839523)
  • Protokoll (IP)
  • Quellhostname oder IP und Portnummer
  • Hostname oder IP des Ziels und Portnummer
  • TCP-Flags (z. B. Flags [F.]), die den Verbindungsstatus mit Werten wie S (SYN), F (FIN) angeben. (ACK), P (PUSH), R (RST)
  • Sequenznummer der Daten im Paket (z. B. seq 5829:6820)
  • Bestätigungsnummer (z. B. Ack 1016)
  • Fenstergröße (z. B. Win 65535), die die verfügbaren Bytes im Empfangspuffer darstellt, gefolgt von TCP-Optionen
  • Länge der Datennutzlast (z. B. Länge 991)

Um alle Netzwerkschnittstellen Ihres Systems aufzulisten, verwenden Sie den Befehl „tcpdump“ mit der Option „-D“.

$ sudo tcpdump -D

oder

$ tcpdump --list-interfaces

Dieser Befehl listet alle Netzwerkschnittstellen auf, die mit Ihrem Linux-System verbunden sind oder darauf ausgeführt werden.

Erfassen Sie die Pakete der angegebenen Netzwerkschnittstelle

Wenn Sie die TCP/IP-Pakete erfassen möchten, die eine bestimmte Schnittstelle passieren, verwenden Sie das Flag „-i“ mit dem Befehl „tcpdump“ und geben Sie den Namen der Netzwerkschnittstelle an.

$ sudo tcpdump -i lo

Der angegebene Befehl erfasst den Datenverkehr an der Schnittstelle „lo“. Wenn Sie ausführliche oder detaillierte Informationen zum Paket anzeigen möchten, verwenden Sie das Flag „-v“. Um umfassendere Details auszudrucken, verwenden Sie das Flag „-vv“ mit dem Befehl „tcpdump“. Regelmäßige Nutzung und Analyse tragen zur Aufrechterhaltung einer robusten und sicheren Netzwerkumgebung bei.

Ebenso können Sie den Datenverkehr an jeder Schnittstelle mit dem folgenden Befehl erfassen:

$ sudo tcpdump -i beliebig

Erfassen Sie die Pakete über einen bestimmten Port

Sie können die Pakete erfassen und filtern, indem Sie den Schnittstellennamen und die Portnummer angeben. Um beispielsweise die Netzwerkpakete zu erfassen, die die Schnittstelle „enp0s3“ über Port 22 passieren, verwenden Sie den folgenden Befehl:

$ tcpdump -i enp0s3 Port 22

Der vorherige Befehl erfasst alle fließenden Pakete von der Schnittstelle „enp0s3“.

Erfassen Sie die begrenzten Pakete mit Tcpdump

Sie können das Flag „-c“ mit dem Befehl „tcpdump“ verwenden, um eine bestimmte Anzahl von Paketen zu erfassen. Um beispielsweise vier Pakete an der Schnittstelle „enp0s3“ zu erfassen, verwenden Sie den folgenden Befehl:

$ tcpdump -i enp0s3 -c 4

Ersetzen Sie den Schnittstellennamen durch Ihr System.

Nützliche Tcpdump-Befehle zum Erfassen des Netzwerkverkehrs

Im Folgenden haben wir einige nützliche „tcpdump“-Befehle aufgelistet, die Ihnen dabei helfen, den Netzwerkverkehr oder die Pakete effizient zu erfassen und zu filtern:

Mit dem Befehl „tcpdump“ können Sie die Pakete einer Schnittstelle mit einer definierten Ziel-IP oder Quell-IP erfassen.

$ tcpdump -i {Schnittstellenname} dst {Ziel-IP}

Sie können die Pakete mit einer Snapshot-Größe von 65535 Bytes erfassen, was sich von der Standardgröße von 262144 Bytes unterscheidet. In den älteren Versionen von tcpdump war die Erfassungsgröße auf 68 oder 96 Byte begrenzt.

$ tcpdump -i enp0s3 -s 65535

So speichern Sie die erfassten Pakete in einer Datei

Wenn Sie die erfassten Daten zur weiteren Analyse in einer Datei speichern möchten, können Sie dies tun. Es erfasst den Datenverkehr an einer bestimmten Schnittstelle und speichert ihn dann in einer „.pcap“-Datei. Verwenden Sie den folgenden Befehl, um die erfassten Daten in einer Datei zu speichern:

$ tcpdump -i -s 65535 -w .pcap

Wir haben zum Beispiel die Schnittstelle „enps03“. Speichern Sie diese erfassten Daten in der folgenden Datei:

$ sudo tcpdump -i enps03 -w dump.pcap

In Zukunft können Sie diese erfasste Datei mit Wireshark oder anderen Netzwerkanalysetools lesen. Wenn Sie also Wireshark zum Analysieren der Pakete verwenden möchten, verwenden Sie das Argument „-w“ und speichern Sie es in einer „.pcap“-Datei.

Abschluss

In diesem Tutorial haben wir anhand verschiedener Beispiele gezeigt, wie man die Pakete mit tcpdump erfasst und analysiert. Wir haben auch gelernt, wie Sie den erfassten Datenverkehr in einer „.pcap“-Datei speichern, die Sie mit Wireshark und anderen Netzwerkanalysetools anzeigen und analysieren können.