Der „tcpdump“ ist ein Paketanalysator und wird verwendet, um Netzwerkprobleme zu diagnostizieren und zu analysieren. Es erfasst den Netzwerkverkehr, der durch Ihr Gerät fließt, und überprüft ihn. Das Tool „tcpdump“ ist ein leistungsstarkes Tool zur Behebung von Netzwerkproblemen. Es kommt mit vielen Optionen, was es zu einem vielseitigen Befehlszeilen-Dienstprogramm macht, um Netzwerkprobleme zu beheben.
Dieser Beitrag ist eine detaillierte Anleitung zum Dienstprogramm "tcpdump", das seine Installation, allgemeine Funktionen und Verwendung mit verschiedenen Optionen enthält includes. Beginnen wir mit der Installation:
So installieren Sie „tcpdump“:
In vielen Distributionen kommt das "tcpdump" aus der Box, und um es zu überprüfen, verwenden Sie:
$welches tcpdump
Wenn es in Ihrer Distribution nicht gefunden wird, installieren Sie es mit:
$sudo apt install tcpdumpDer obige Befehl wird für Debian-basierte Distributionen wie Ubuntu und LinuxMint verwendet. Für „Redhat“ und „CentOS“ verwenden Sie:
$sudo dnf install tcpdumpSo erfassen Sie Pakete mit tcpdump:
Zur Erfassung von Paketen können verschiedene Schnittstellen verwendet werden. Um eine Liste der Schnittstellen abzurufen, verwenden Sie:
$sudo tcpdump -D
Oder verwenden Sie einfach „any“ mit dem Befehl „tcpdump“, um Pakete von der aktiven Schnittstelle abzurufen. Um mit der Paketerfassung zu beginnen, verwenden Sie:
$sudo tcpdump --interface any
Der obige Befehl verfolgt Pakete von allen aktiven Schnittstellen. Die Pakete werden kontinuierlich erfasst, bis eine Unterbrechung vom Benutzer (Strg-C) erfolgt.
Wir können auch die Anzahl der zu erfassenden Pakete begrenzen, indem wir das Flag „-c“ verwenden, das die „Anzahl“ angibt.” Um 3 Pakete zu erfassen, verwenden Sie:
$sudo tcpdump -i any -c3
Der obige Befehl ist nützlich, um ein bestimmtes Paket zu filtern. Darüber hinaus erfordert die Behebung der Konnektivitätsprobleme nur die Erfassung einiger anfänglicher Pakete.
Das "tcpdump”-Befehl erfasst standardmäßig Pakete mit IP- und Port-Namen, aber um das Chaos zu beseitigen und die Ausgabe verständlicher zu machen; die Namen können mit „-nein" und "-nn” für die Port-Option:
$sudo tcpdump -i any -c3 -nn
Wie in der obigen Ausgabe gezeigt, wurden die IP- und Portnamen herausgenommen.
Informationen zu einem erfassten Paket verstehen:
Um mehr über die verschiedenen Felder eines erfassten Pakets zu erfahren, nehmen wir ein Beispiel für ein TCP-Paket:
Ein Paket kann verschiedene Felder haben, aber die allgemeinen werden oben angezeigt. Das erste Feld „09:48:18.960683,” steht für eine Zeit, zu der das Paket empfangen wird. Als nächstes kommen IP-Adressen; die erste IP [216.58.209.130] ist die Quell-IP und die zweite IP [10.0.2.fünfzehn.55812] ist die Ziel-IP. Dann bekommst du die Flagge [P.]; eine Liste typischer Flags ist unten aufgeführt:
Flagge | Art | Beschreibung |
“.” | ACK | Bedeutet Anerkennung |
S | SYN | Flag zum Starten einer Verbindung |
F | FLOSSE | Flag für eine geschlossene Verbindung |
P | DRÜCKEN | Zeigt den Push von Daten vom Absender an |
R | RST | Verbindung zurücksetzen |
Und als nächstes kommt die Sequenznummer “Fortsetzung 185:255”. Client und Server verwenden beide die 32-Bit-Sequenznummer, um Daten zu verwalten und zu überwachen.
Das "ack” ist eine Flagge; wenn es 1 ist, bedeutet dies, dass die Quittungsnummer gültig ist und der Empfänger das nächste Byte erwartet.
Die Fensternummer gibt die Puffergröße an. “gewinnen 65535” steht für die Datenmenge, die gepuffert werden kann.
Und am Ende kommt die Länge [70] des Pakets in Bytes, was eine Differenz von „185:255”.
Filtern von Paketen, um die Netzwerkprobleme zu beheben:
Das Tool „tcpdump“ erfasst Hunderte von Paketen, von denen die meisten weniger wichtig sind, was es sehr komplex macht, die gewünschten Informationen für die Fehlerbehebung zu erhalten. In diesem Fall spielt die Filterung ihre Rolle. Wenn Sie beispielsweise bei der Fehlerbehebung nicht an einer bestimmten Art von Datenverkehr interessiert sind, können Sie ihn mithilfe von „tcpdump“ filtern, das Pakete nach IP-Adressen, Ports und Protokollen filtert.
So erfassen Sie ein Paket mit dem Hostnamen mit dem Befehl tcpdump:
Um das Paket nur von einem bestimmten Host abzurufen, verwenden Sie:
$sudo tcpdump -i any -c4 host 10.0.2.fünfzehn
Wenn Sie nur Einbahnstraßenverkehr erhalten möchten, verwenden Sie „src" und "dst” Optionen anstelle von “Gastgeber.”
So erfassen Sie ein Paket mithilfe der Portnummer mit dem Befehl tcpdump:
Um Pakete mit der Portnummer zu filtern, verwenden Sie:
$sudo tcpdump -i any -c3 -nn port 443
„443“ ist die HTTPS-Portnummer.
So erfassen Sie ein Paket mithilfe des Protokolls mit dem Befehl tcpdump:
Mit dem Befehl „tcpdump“ können Sie Pakete nach jedem Protokoll wie udp, icmp, arp usw. filtern. Geben Sie einfach den Protokollnamen ein:
$sudo tcpdump -i any -c6 udp
Die obigen Befehle erfassen nur Pakete, die zum „udp“-Protokoll gehören.
So kombinieren Sie Filteroptionen mit logischen Operatoren:
Mit logischen Operatoren wie „und/oder“ können verschiedene Filteroptionen kombiniert werden:
$sudo tcpdump -i any -c6 -nn host 10.0.2.15 und Port 443
So speichern Sie erfasste Daten:
Die erfassten Daten können in einer Datei gespeichert werden, um sie später zu überwachen, und dafür wird die Option „-w“ verwendet, und „w“ bedeutet „write“:
$sudo tcpdump -i any -c5 -w packetData.pcap
Die Erweiterung der Datei wäre „.pcap“, was für „Paketerfassung“ steht.” Sobald die Aufnahme abgeschlossen ist, wird die Datei auf Ihrem lokalen Laufwerk gespeichert. Diese Datei kann mit keinem Texteditorprogramm geöffnet oder gelesen werden. Um es zu lesen, verwenden Sie die „-r” Flag mit “tcpdump”:
$tcpdump -r Paketdaten.pcap
Fazit:
Der „tcpdump“ ist ein wertvolles und flexibles Tool zum Erfassen und Analysieren des Netzwerkverkehrs zur Behebung von Netzwerkproblemen. Der Schwerpunkt dieses Handbuchs besteht darin, die grundlegende und fortgeschrittene Verwendung des Befehlszeilenprogramms „tcpdump“ zu erlernen. Aber wenn es Ihnen schwerfällt, dann gibt es ein weniger komplexes GUI-basiertes Programm namens „Wireshark“, das so ziemlich die gleiche Arbeit leistet, aber mit verschiedenen zusätzlichen Funktionen.