Heim  >  Artikel  >  Computer-Tutorials  >  Wie Tcpdump Pakete erfasst und analysiert

Wie Tcpdump Pakete erfasst und analysiert

WBOY
WBOYnach vorne
2024-03-20 19:36:18846Durchsuche

Wie Tcpdump Pakete erfasst und analysiert

Tcpdump ist ein leistungsstarkes Netzwerkanalysetool, das hauptsächlich für die Netzwerkverkehrsanalyse in Linux-Systemen und macOS verwendet wird. Netzwerkadministratoren können den Netzwerkverkehr über tcpdump erfassen und analysieren, um Netzwerk-Sniffing durchzuführen und TCP/IP-Pakete zu überwachen. Es basiert auf einer Bibliothek namens „libpcap“, um den Netzwerkverkehr effizient zu erfassen. TCPdump hilft Netzwerkadministratoren nicht nur dabei, Netzwerkprobleme zu identifizieren und Probleme zu beheben, sondern hilft auch dabei, die Netzwerkaktivität regelmäßig zu überwachen und die Netzwerksicherheit zu überprüfen. Die erfassten Daten werden in einer Datei namens „pcap“ gespeichert, die dann mit TCP/IP-Paketanalysetools (wie Wireshark) oder anderen Befehlszeilentools weiter analysiert werden kann, um Erkenntnisse über den Netzwerkverkehr und die Netzwerkkommunikation zu gewinnen.

In dieser Anleitung zeigen wir, wie man TCPDUMP auf einem Linux-System installiert und wie man TCPDUMP zum Erfassen und Analysieren von TCP/IP-Paketen verwendet.

So installieren Sie Tcpdump

Bei vielen Linux-Distributionen ist tcpdump vorinstalliert. Wenn tcpdump noch nicht auf Ihrem System installiert ist, können Sie es problemlos auf Ihrem Linux-System installieren. In Ubuntu 22.04-Systemen können Sie tcpdump mit einem einfachen Befehl installieren.

$sudo apt install tcpump

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

$sudo DNF install tcpump

So erfassen Sie Pakete mit dem Tcpdump-Befehl

Um ein Terminal zu starten und tcpdump mit Sudo-Berechtigungen zum Erfassen von Paketen auszuführen, drücken Sie „Strg + Alt + T“, um das Terminal zu öffnen. tcpdump ist ein leistungsstarkes Tool, das viele Optionen und Filter zum Erfassen von TCP/IP-Paketen bietet. Wenn Sie alle Verkehrspakete auf der aktuellen oder Standard-Netzwerkschnittstelle erfassen möchten, verwenden Sie einfach den einfachen Befehl „tcpdump“ ohne zusätzliche Optionen. Auf diese Weise können Sie den Netzwerkverkehr überwachen und den Inhalt und die Herkunft von Paketen analysieren. Denken Sie daran, bei der Verwendung von tcpdump mit erfassten Paketen vorsichtig umzugehen, um die Offenlegung vertraulicher Informationen oder die Verletzung der Privatsphäre zu vermeiden.

tcpdump

Der angegebene Befehl erfasst Pakete von der Standardnetzwerkschnittstelle des Systems.

Am Ende dieser Befehlsausführung werden alle erfassten und gefilterten Paketzahlen auf dem Terminal angezeigt.

Lassen Sie uns die Ausgabe verstehen.

Tcpdump unterstützt die Analyse von TCP/IP-Paketheadern. Für jedes Paket wird eine Zeile angezeigt und der Befehl wird so lange ausgeführt, bis Sie ihn durch Drücken von „Strg + C“ stoppen.

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

  • Unix-Zeitstempel (z. B. 02:28:57.839523)
  • Schema (IP)
  • Quellhostname oder IP und Portnummer
  • Zielhostname oder IP und Portnummer
  • TCP-Flags (zum Beispiel Flags [F.]) verwenden S (SYN), F (FIN), . (ACK), P (PUSH), R (PUSH)
  • Die Sequenznummer der Daten im Paket (z. B. SEQ 5829:6820)
  • Bestätigungsnummer (zum Beispiel (ACK 1016)
  • Fenstergröße (z. B. Win 65535), Angabe der verfügbaren Bytes im Empfangspuffer, gefolgt von TCP-Optionen
  • Die Länge der Datennutzlast (z. B. Länge 991)

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

$sudo tcpump -D

oder

$tcpdump – Liste – Unterbrechungen

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

Pakete von der angegebenen Netzwerkschnittstelle erfassen

Wenn Sie 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 – ich liebe

Der angegebene Befehl erfasst den Datenverkehr an der Schnittstelle „lo“. Wenn Sie Paketdetails 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 starken und sicheren Netzwerkumgebung bei.

Ähnlich können Sie den Datenverkehr von jeder Schnittstelle mit dem folgenden Befehl erfassen:

$sudo tcpump -i any

Pakete über einen bestimmten Port erfassen

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

$tcpdump – ich enp0s3 Port 22

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

Verwenden Sie Tcpdump, um begrenzte Pakete zu erfassen

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

$tcpdump – i enp0s3 – c 4

Ersetzen Sie den Schnittstellennamen durch den Ihres Systems.

Nützlicher Tcpdump-Befehl zum Erfassen des Netzwerkverkehrs

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

Mit dem Befehl „tcpump“ können Sie Pakete für eine Schnittstelle mit einer definierten Ziel-IP oder Quell-IP erfassen.

$tcpdump – i {Schnittstelle – Name} dst {Ziel – IP}

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

$tcpdump – i enp0s3 – s 65535

So speichern Sie erfasste Pakete in einer Datei

Wenn Sie die erfassten Daten zur weiteren Analyse in einer Datei speichern möchten, können Sie dies tun. Wenn der Datenverkehr der angegebenen Schnittstelle erfasst wird, wird er in einer „.pcap“-Datei gespeichert. Speichern Sie die erfassten Daten mit dem folgenden Befehl in einer Datei:

$tcpdump – i – s 65535 – pcap

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

$sudo tcpdump – i enps03 – w dump.pcap

Zukünftig können Sie Wireshark oder andere Netzwerkanalysetools verwenden, um diese erfasste Datei zu lesen. Wenn Sie Wireshark zum Analysieren von Paketen verwenden möchten, verwenden Sie daher den Parameter „-w“ und speichern Sie ihn in einer „.pcap“-Datei.

Fazit

In diesem Tutorial zeigen wir anhand verschiedener Beispiele, wie Pakete mit tcpump erfasst und analysiert werden. Wir haben außerdem gelernt, wie man erfassten Datenverkehr in einer „.pCap“-Datei speichert, die Sie mit Wireshark und anderen Netzwerkanalysetools anzeigen und analysieren können.

Das obige ist der detaillierte Inhalt vonWie Tcpdump Pakete erfasst und analysiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:mryunwei.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen