GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beispiele für die Verwendung des Befehls tcpdump für die Netzwerkfehlerbehebung

Mit dem Dienstprogramm tcpdump können Sie Pakete erfassen, die innerhalb Ihres Netzwerks fließen, um die Netzwerkfehlerbehebung zu unterstützen. Im Folgenden finden Sie einige Beispiele für die Verwendung von tcpdump mit verschiedenen Optionen. Der Datenverkehr wird basierend auf einem angegebenen Filter erfasst. Es gibt eine Vielzahl von Optionen, darunter:

Optionen Beschreibung
-D Eine Liste der Netzwerkschnittstellen drucken.
-i Geben Sie eine Schnittstelle an, auf der erfasst werden soll.
-c Geben Sie die Anzahl der zu empfangenden Pakete an.
-v, -vv, -vvv Erhöhen Sie den Detaillierungsgrad (Ausführlichkeit).
-w Erfasste Daten in eine Datei schreiben.
-r Erfasste Daten aus einer Datei lesen.

Installieren des Dienstprogramms tcpdump

Auf den meisten Unix/Linux-Systemen finden Sie das tcpdump-Paket nicht bereits installiert. Um die neueste Version zu installieren, verwenden Sie den entsprechenden Paketmanager auf Ihrem System. Beispiel:Im Falle von CentOS/RHEL-Servern:

# yum install tcpdump

Beispiele für die Verwendung von tcpdump für die Netzwerkfehlerbehebung

1. Liste der Netzwerkschnittstellen anzeigen

So drucken Sie eine Liste der verfügbaren Netzwerkschnittstellen, auf denen tcpdump Pakete erfassen kann:

# tcpdump -D
1.eth0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.any (Pseudo-device that captures on all interfaces)
5.lo [Loopback]

2. Erfassung auf einer bestimmten Schnittstelle

Wie aus dem Befehl „tcpdump -D“ ersichtlich, wird für jede Netzwerkschnittstelle eine Nummer und ein Schnittstellenname gedruckt. Dem -i kann der Schnittstellenname oder die Nummer übergeben werden -Flag, um eine Schnittstelle anzugeben, auf der erfasst werden soll. Zum Beispiel, um die Pakete auf der Schnittstelle eth0 zu erfassen:

# tcpdump -i 1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
01:26:51.118038 IP ec2-54-159-106-120.compute-1.amazonaws.com.48021 > geeklab.31297: Flags [S], seq 3960153353, win 26883, options [mss 1460,sac
kOK,TS val 2229362922 ecr 0,nop,wscale 7], length 0
01:26:51.118072 IP geeklab.31297 > ec2-54-159-106-120.compute-1.amazonaws.com.48021: Flags [S.], seq 547340507, ack 3960153354, win 26847, optio
ns [mss 8961,sackOK,TS val 5714985 ecr 2229362922,nop,wscale 7], length 0

In diesem Beispiel ist die Ausgabe kontinuierlich, bis sie durch Drücken von Strg + C beendet wird.

3. Nur eine bestimmte Anzahl von Paketen erfassen

Um tcpdump nach Erhalt einer bestimmten Anzahl von Paketen zu beenden, verwenden Sie -c (count) Option gefolgt von der Anzahl der zu empfangenden Pakete. Das folgende Beispiel erfasst zwei Pakete:

# tcpdump -i 1 -c 2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
01:37:08.956549 IP 182.100.67.76.38819 > geeklab.ssh: Flags [P.], seq 542149092:542149176, ack 774431931, win 271, options [nop,nop,TS val 26493
51 ecr 6332468], length 84
01:37:08.956575 IP geeklab.ssh > 182.100.67.76.38819: Flags [.], ack 84, win 230, options [nop,nop,TS val 6332824 ecr 2649351], length 0
2 packets captured
6 packets received by filter
0 packets dropped by kernel

Wie in diesem Beispiel gezeigt, meldet tcpdump nach Abschluss der Paketerfassung Folgendes:

  • Pakete erfasst :Dies ist die Anzahl der Pakete, die tcpdump empfangen und verarbeitet hat.
  • vom Filter empfangene Pakete :Ein Filter kann auf der Kommandozeile angegeben werden und nur die Pakete, die dem definierten Filter entsprechen, werden von tcpdump verarbeitet und gezählt.
  • vom Kernel verworfene Pakete :Dies ist die Anzahl der Pakete, die aufgrund von Pufferspeicherplatzmangel verworfen wurden. Verwenden Sie die Option -B, um die Puffergröße einzustellen.

4. Erhöhen Sie die Details (Ausführlichkeit) der Ausgabe

Um die Details (Ausführlichkeit) der Ausgabe zu erhöhen, verwenden Sie -v Option oder -vv für eine noch ausführlichere Ausgabe oder -vvv für die ausführlichste Ausgabeebene:

# tcpdump –i 1 –v
# tcpdump –i 1 -vv
# tcpdump –i 1 –vvv

5. Erfassen Sie die Daten in einer Datei

Verwenden des Dienstprogramms tcpdump mit -w Mit der Option können Sie erfasste Daten in eine Datei schreiben. Dadurch können die erfassten Daten von anderen Netzwerkanalyse-Tools wie Wireshark gelesen werden. Das folgende Beispiel erfasst Daten in einer Datei namens capture.out:

# tcpdump –i 1 –v –c2 –w capture.out

6. Lesen erfasster Daten

Sie können auch erfasste Daten aus einer Datei lesen, indem Sie –r verwenden Möglichkeit:

# tcpdump –r capture_file

Einige weitere Beispiele für den Befehl tcpdump

Viele andere Optionen und Argumente können mit tcpdump verwendet werden. Im Folgenden finden Sie einige spezifische Beispiele für die Leistungsfähigkeit des Dienstprogramms tcpdump.

1. Datenverkehr zwischen 2 Hosts anzeigen

So zeigen Sie den gesamten Datenverkehr zwischen zwei Hosts an (dargestellt durch die Variablen host1 und host2):

# tcpdump host host1 and host2

2. Nur Datenverkehr von einem Quell- oder Zielhost anzeigen

So zeigen Sie Datenverkehr nur von einem Quell- (src) oder Zielhost (dst) an:

# tcpdump src host
# tcpdump dst host

3. Datenverkehr für ein bestimmtes Protokoll anzeigen

Geben Sie das Protokoll als Argument an, um nur Datenverkehr für ein bestimmtes Protokoll anzuzeigen, z. B. tcp, udp, icmp, arp:

# tcpdump protocol

Zum Beispiel, um den Verkehr nur für den TCP-Verkehr anzuzeigen:

# tcpdump tcp

4. Filtern nach Quell- oder Zielport

So filtern Sie basierend auf einem Quell- oder Zielport:

# tcpdump src port ftp
# tcpdump dst port http

Das Dienstprogramm tcpdump akzeptiert auch boolesche Operatoren (AND, NOT, OR) und die Gruppierung von Operatoren, wodurch Sie komplexe Filter zum Erfassen von Netzwerkdaten erstellen können.


Linux
  1. DNF-Befehlsbeispiele für Anfänger

  2. Verwenden des SS-Tools für die Netzwerkfehlerbehebung

  3. 10 praktische Beispiele für die Verwendung des scp-Befehls

  4. Beispiele für die Verwendung des Befehls dmsetup unter Linux

  5. dsniff-Befehlsbeispiele in Linux

Linux tcpdump Command Tutorial für Anfänger (8 Beispiele)

Linux ifconfig-Befehlsbeispiele

Linux-tcpdump-Befehl

Nützliche tcpdump-Linux-Beispiele für den Netzwerkadministrator

10 Beispiele für Linux-brctl-Befehle für die Ethernet-Netzwerkbrücke

Packet Analyzer:15 Beispiele für TCPDUMP-Befehle