Detaillierte Erklärung zur Verwendung des Befehls tcpdump zum Erfassen und Analysieren von Datenpaketen in Linux

Detaillierte Erklärung zur Verwendung des Befehls tcpdump zum Erfassen und Analysieren von Datenpaketen in Linux

Vorwort

tcpdump ist ein bekanntes Befehlszeilentool zur Paketanalyse. Mit dem Befehl tcpdump können wir TCP/IP-Pakete in Echtzeit erfassen, die auch in einer Datei gespeichert werden können. Diese erfassten Pakete können dann mit dem Befehl „tcpdump“ analysiert werden. Der Befehl tcpdump ist bei der Fehlerbehebung auf Netzwerkebene sehr praktisch.

tcpdump ist in den meisten Linux-Distributionen verfügbar und kann für Debian-basiertes Linux mit dem Befehl apt installiert werden.

# apt install tcpdump -y

Auf RPM-basierten Linux-Betriebssystemen können Sie tcpdump mit dem folgenden Yum-Befehl installieren.

# yum installiere tcpdump -y

Wenn wir den Befehl „tcpdump“ ohne Optionen ausführen, erfasst er Pakete auf allen Schnittstellen. Um den Befehl „tcpdump“ zu stoppen oder abzubrechen, geben Sie daher Strg+C ein. In diesem Tutorial besprechen wir anhand verschiedener praktischer Beispiele, wie Pakete erfasst und analysiert werden.

Beispiel: 1) Pakete von einer bestimmten Schnittstelle erfassen

Wenn wir den Befehl „tcpdump“ ohne Option ausführen, erfasst er die Pakete auf allen Schnittstellen. Um die Pakete von einer bestimmten Schnittstelle zu erfassen, verwenden Sie daher die Option -i gefolgt vom Schnittstellennamen.

Grammatik:

# tcpdump -i {Schnittstellenname}

Angenommen, ich möchte Pakete von der Schnittstelle enp0s3 erfassen.

Die Ausgabe sieht wie folgt aus:

tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
06:43:22.905890 IP compute-0-1.example.com.ssh > 169.144.0.1.39374: Flags [P.], Sequenz 21952160:21952540, ack 13537, Win 291, Optionen [nop,nop,TS val 26164373 ecr 6580205], Länge 380
06:43:22.906045 IP compute-0-1.example.com.ssh > 169.144.0.1.39374: Flags [P.], Sequenz 21952540:21952760, ack 13537, Win 291, Optionen [nop,nop,TS val 26164373 ecr 6580205], Länge 220
06:43:22.906150 IP compute-0-1.example.com.ssh > 169.144.0.1.39374: Flags [P.], Sequenz 21952760:21952980, ack 13537, Win 291, Optionen [nop,nop,TS val 26164373 ecr 6580205], Länge 220
06:43:22.906291 IP 169.144.0.1.39374 > compute-0-1.example.com.ssh: Flags [.], ack 21952980, win 13094, Optionen [nop,nop,TS val 6580205 ecr 26164373], Länge 0
06:43:22.906303 IP 169.144.0.1.39374 > compute-0-1.example.com.ssh: Flags [P.], Sequenz 13537:13609, ack 21952980, Win 13094, Optionen [nop,nop,TS val 6580205 ecr 26164373], Länge 72
06:43:22.906322 IP compute-0-1.example.com.ssh > 169.144.0.1.39374: Flags [P.], Sequenz 21952980:21953200, ack 13537, Win 291, Optionen [nop,nop,TS val 26164373 ecr 6580205], Länge 220
^C
109930 Pakete erfasst
110065 Pakete vom Filter empfangen
133 Pakete vom Kernel verworfen
[[email protected] ~]#

Beispiel:2) Erfassen Sie eine bestimmte Anzahl von Paketen von einer bestimmten Schnittstelle

Angenommen, wir möchten 12 Pakete von einer bestimmten Schnittstelle (z. B. enp0s3) erfassen. Dies lässt sich problemlos mit den Optionen -c {Nummer} -I {Schnittstellenname} erreichen.

root@compute-0-1 ~]# tcpdump -c 12 -i enp0s3

Der obige Befehl erzeugt die folgende Ausgabe:

N-Nummer-Paketsätze-TCPdump-Schnittstelle

Beispiel:3) Alle verfügbaren Schnittstellen mit tcpdump anzeigen

Verwenden Sie die Option -D, um alle verfügbaren Schnittstellen für den Befehl tcpdump anzuzeigen.

[root@compute-0-1 ~]# tcpdump -D
1.enp0s3
2.enp0s8
3.OVS-System
4.br-int
5.br-tun
6.nflog (Linux Netfilter Log (NFLOG)-Schnittstelle)
7.nfqueue (Linux-Netfilter-Warteschlangenschnittstelle (NFQUEUE))
8.usbmon1 (USB-Busnummer 1)
9.usbmon2 (USB-Busnummer 2)
10.qbra692e993-28
11.qvoa692e993-28
12.qvba692e993-28
13.tapa692e993-28
14.vxlan_sys_4789
15.any (Pseudogerät, das auf allen Schnittstellen erfasst)
16.lo [Schleife zurück]
[[email protected] ~]#

Ich führe den Befehl „tcpdump“ auf einem meiner OpenStack-Rechnerknoten aus. Deshalb sehen Sie in der Ausgabe numerische Schnittstellen, beschriftete Schnittstellen, Bridges und VXLAN-Schnittstellen.

Beispiel:4) Pakete mit lesbaren Zeitstempeln erfassen (Option -tttt)

Standardmäßig werden in der Ausgabe des Befehls tcpdump keine menschenlesbaren Zeitstempel angezeigt. Wenn Sie jedem erfassten Paket menschenlesbare Zeitstempel zuordnen möchten, verwenden Sie die Option -tttt. Ein Beispiel wird unten angezeigt.

[[email protected] ~]# tcpdump -c 8 -tttt -i enp0s3
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
25.08.2018 23:23:36.954883 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1449206247:1449206435, ack 3062020950, Win 291, Optionen [nop,nop,TS val 86178422 ecr 21583714], Länge 188
25.08.2018 23:23:36.955046 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 188, win 13585, Optionen [nop,nop,TS val 21583717 ecr 86178422], Länge 0
25.08.2018 23:23:37.140097 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57818: Flags [P.], Sequenz 814607956:814607964, Ack 2387094506, Win 252, Optionen [nop,nop,TS-Wert 86172228 ECR 86176695], Länge 8
25.08.2018 23:23:37.140175 IP compute-0-1.example.com.57818 > controller0.example.com.amqp: Flags [.], ack 8, win 237, Optionen [nop,nop,TS val 86178607 ecr 86172228], Länge 0
25.08.2018 23:23:37.355238 IP compute-0-1.example.com.57836 > controller0.example.com.amqp: Flags [P.], Sequenz 1080415080:1080417400, ack 1690909362, Win 237, Optionen [nop,nop,TS val 86178822 ecr 86163054], Länge 2320
25.08.2018 23:23:37.357119 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57836: Flags [.], ack 2320, Win 1432, Optionen [nop,nop,TS val 86172448 ecr 86178822], Länge 0
25.08.2018 23:23:37.357545 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57836: Flags [P.], Sequenz 1:22, Ack 2320, Win 1432, Optionen [nop,nop,TS-Wert 86172449 Ecr 86178822], Länge 21
25.08.2018 23:23:37.357572 IP compute-0-1.example.com.57836 > controller0.example.com.amqp: Flags [.], ack 22, win 237, Optionen [nop,nop,TS val 86178825 ecr 86172449], Länge 0
8 Pakete erfasst
134 Pakete vom Filter empfangen
69 Pakete vom Kernel verworfen
[[email protected] ~]#

Beispiel: 5) Pakete erfassen und in einer Datei speichern (Option -w)

Verwenden Sie die Option -w im Befehl „tcpdump“, um die erfassten TCP/IP-Pakete in einer Datei zu speichern, damit wir sie in Zukunft zur weiteren Analyse analysieren können.

Grammatik:

# tcpdump -w Dateiname.pcap -i {Schnittstellenname}

Hinweis: Die Dateierweiterung muss .pcap sein.

Angenommen, ich möchte die von der enp0s3-Schnittstelle erfassten Pakete in einer Datei mit dem Namen enp0s3-26082018.pcap speichern.

[root@compute-0-1 ~]# tcpdump -w enp0s3-26082018.pcap -i enp0s3

Der obige Befehl erzeugt die folgende Ausgabe:

[root@compute-0-1 ~]# tcpdump -w enp0s3-26082018.pcap -i enp0s3
tcpdump: lauscht auf enp0s3, Link-Typ EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
^C841 Pakete erfasst
845 Pakete vom Filter empfangen
0 Pakete vom Kernel verworfen
[root@compute-0-1 ~]# ls
anaconda-ks.cfg enp0s3-26082018.pcap
[root@compute-0-1 ~]#

Erfassen und speichern Sie Pakete, die größer als N Bytes sind.

[root@compute-0-1 ~]# tcpdump -w enp0s3-26082018-2.pcap größer 1024

Erfassen und speichern Sie Pakete mit einer Größe von weniger als N Byte.

[root@compute-0-1 ~]# tcpdump -w enp0s3-26082018-3.pcap weniger 1024

Beispiel: 6) Pakete aus einer gespeicherten Datei lesen (Option -r)

Im obigen Beispiel haben wir die erfassten Pakete in einer Datei gespeichert. Wir können diese Pakete mit der Option -r aus der Datei lesen. Das Beispiel lautet wie folgt:

[root@compute-0-1 ~]# tcpdump -r enp0s3-26082018.pcap

Lesen Sie den Paketinhalt mit menschenlesbaren Zeitstempeln,

[root@compute-0-1 ~]# tcpdump -tttt -r enp0s3-26082018.pcap
Lesen aus Datei enp0s3-26082018.pcap, Link-Typ EN10MB (Ethernet)
25.08.2018 22:03:17.249648 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], seq 1426167803:1426167927, ack 3061962134, win 291, Optionen
[nop,nop,TS val 81358717 ecr 20378789], Länge 124
25.08.2018 22:03:17.249840 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 124, win 564, Optionen [nop,nop,TS val 20378791 ecr 81358
717], Länge 0
2018-08-25 22:03:17.454559 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57836: Flags [.], ack 1079416895, Win 1432, Optionen [nop,nop,TS v
al 81352560 ecr 81353913], Länge 0
25.08.2018 22:03:17.454642 IP compute-0-1.example.com.57836 > controller0.example.com.amqp: Flags [.], ack 1, win 237, Optionen [nop,nop,TS val 8135892
2 ecr 81317504], Länge 0
25.08.2018 22:03:17.646945 IP compute-0-1.example.com.57788 > controller0.example.com.amqp: Flags [.], Sequenz 106760587:106762035, ack 688390730, Win 237
, Optionen [nop,nop,TS val 81359114 ecr 81350901], Länge 1448
2018-08-25 22:03:17.647043 IP compute-0-1.example.com.57788 > controller0.example.com.amqp: Flags [P.], seq 1448:1956, ack 1, win 237, Optionen [nop,no
p,TS val 81359114 ecr 81350901], Länge 508
25.08.2018 22:03:17.647502 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57788: Flags [.], ack 1956, Win 1432, Optionen [nop,nop,TS val 813
52753 ecr 81359114], Länge 0
.................................................................................................................................

Beispiel: 7) Erfassen Sie nur IP-Adresspakete auf einer bestimmten Schnittstelle (Option -n).

Mit der Option -n im Befehl tcpdump können wir nur die IP-Adresspakete auf einer bestimmten Schnittstelle erfassen. Das Beispiel wird unten angezeigt.

[root@compute-0-1 ~]# tcpdump -n -i enp0s3

Die obige Befehlsausgabe lautet wie folgt:

tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
22:22:28.537904 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1433301395:1433301583, ack 3061976250, Win 291, Optionen [nop,nop,TS val 82510005 ecr 20666610], Länge 188
22:22:28.538173 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 188, win 9086, Optionen [nop,nop,TS val 20666613 ecr 82510005], Länge 0
22:22:28.538573 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 188:552, Ack 1, Win 291, Optionen [nop,nop,TS val 82510006 ecr 20666613], Länge 364
22:22:28.538736 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 552, win 9086, Optionen [nop,nop,TS val 20666613 ecr 82510006], Länge 0
22:22:28.538874 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 552:892, Ack 1, Win 291, Optionen [nop,nop,TS val 82510006 ecr 20666613], Länge 340
22:22:28.539042 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 892, win 9086, Optionen [nop,nop,TS val 20666613 ecr 82510006], Länge 0
22:22:28.539178 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 892:1232, Ack 1, Win 291, Optionen [nop,nop,TS val 82510006 ecr 20666613], Länge 340
22:22:28.539282 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 1232, win 9086, Optionen [nop,nop,TS val 20666614 ecr 82510006], Länge 0
22:22:28.539479 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1232:1572, Ack 1, Win 291, Optionen [nop,nop,TS val 82510006 ecr 20666614], Länge 340
22:22:28.539595 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 1572, win 9086, Optionen [nop,nop,TS val 20666614 ecr 82510006], Länge 0
22:22:28.539760 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1572:1912, ack 1, Win 291, Optionen [nop,nop,TS val 82510007 ecr 20666614], Länge 340
.................................................................................

Sie können auch die Optionen -c und -N im Befehl tcpdump verwenden, um Pakete für N IP-Adressen zu erfassen.

[root@compute-0-1 ~]# tcpdump -c 25 -n -i enp0s3

Beispiel:8) Erfassen Sie nur TCP-Pakete auf einer bestimmten Schnittstelle

Im Befehl „tcpdump“ können wir die Option „tcp“ verwenden, um nur TCP-Pakete zu erfassen.

[root@compute-0-1 ~]# tcpdump -i enp0s3 tcp
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
22:36:54.521053 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1433336467:1433336655, ack 3061986618, Win 291, Optionen [nop,nop,TS val 83375988 ecr 20883106], Länge 188
22:36:54.521474 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 188, win 9086, Optionen [nop,nop,TS val 20883109 ecr 83375988], Länge 0
22:36:54.522214 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 188:552, Ack 1, Win 291, Optionen [nop,nop,TS val 83375989 ecr 20883109], Länge 364
22:36:54.522508 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 552, win 9086, Optionen [nop,nop,TS val 20883109 ecr 83375989], Länge 0
22:36:54.522867 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 552:892, Ack 1, Win 291, Optionen [nop,nop,TS val 83375990 ecr 20883109], Länge 340
22:36:54.523006 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 892, win 9086, Optionen [nop,nop,TS val 20883109 ecr 83375990], Länge 0
22:36:54.523304 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 892:1232, Ack 1, Win 291, Optionen [nop,nop,TS val 83375990 ecr 20883109], Länge 340
22:36:54.523461 IP 169.144.0.1.39406 > 169.144.0.20.ssh: Flags [.], ack 1232, win 9086, Optionen [nop,nop,TS val 20883110 ecr 83375990], Länge 0
22:36:54.523604 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1232:1572, Ack 1, Win 291, Optionen [nop,nop,TS val 83375991 ecr 20883110], Länge 340
...................................................................................................................................................

Beispiel:9) Erfassen Sie Pakete von einem bestimmten Port auf einer bestimmten Schnittstelle

Mit dem Befehl tcpdump können wir Pakete von einem bestimmten Port (z. B. 22) auf einer bestimmten Schnittstelle enp0s3 erfassen.

Grammatik:

# tcpdump -i {Schnittstellenname} Port {Portnummer}
[root@compute-0-1 ~]# tcpdump -i enp0s3 port 22
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
22:54:45.032412 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1435010787:1435010975, ack 3061993834, Win 291, Optionen [nop,nop,TS val 84446499 ecr 21150734], Länge 188
22:54:45.032631 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 188, win 9131, Optionen [nop,nop,TS val 21150737 ecr 84446499], Länge 0
22:54:55.037926 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 188:576, ack 1, Win 291, Optionen [nop,nop,TS val 84456505 ecr 21150737], Länge 388
22:54:55.038106 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 576, win 9154, Optionen [nop,nop,TS val 21153238 ecr 84456505], Länge 0
22:54:55.038286 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 576:940, ack 1, Win 291, Optionen [nop,nop,TS val 84456505 ecr 21153238], Länge 364
22:54:55.038564 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 940, win 9177, Optionen [nop,nop,TS val 21153238 ecr 84456505], Länge 0
22:54:55.038708 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 940:1304, ack 1, Win 291, Optionen [nop,nop,TS val 84456506 ecr 21153238], Länge 364
............................................................................................................................

Beispiel:10) Erfassen Sie Pakete von einer bestimmten Quell-IP auf einer bestimmten Schnittstelle

Im Befehl „tcpdump“ können wir mit dem Schlüsselwort „src“, gefolgt von einer IP-Adresse, Pakete von einer bestimmten Quell-IP erfassen.

Grammatik:

# tcpdump -n -i {Schnittstellenname} src {IP-Adresse}

Nachfolgend sind einige Beispiele aufgeführt:

[root@compute-0-1 ~]# tcpdump -n -i enp0s3 src 169.144.0.10
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
23:03:45.912733 IP 169.144.0.10.amqp > 169.144.0.20.57800: Flags [.], ack 526623844, win 243, Optionen [nop,nop,TS val 84981008 ecr 84982372], Länge 0
23:03:46.136757 IP 169.144.0.10.amqp > 169.144.0.20.57796: Flags [.], ack 2535995970, win 252, Optionen [nop,nop,TS val 84981232 ecr 84982596], Länge 0
23:03:46.153398 IP 169.144.0.10.amqp > 169.144.0.20.57798: Flags [.], ack 3623063621, win 243, Optionen [nop,nop,TS val 84981248 ecr 84982612], Länge 0
23:03:46.361160 IP 169.144.0.10.amqp > 169.144.0.20.57802: Flags [.], ack 2140263945, win 252, Optionen [nop,nop,TS val 84981456 ecr 84982821], Länge 0
23:03:46.376926 IP 169.144.0.10.amqp > 169.144.0.20.57808: Flags [.], ack 175946224, win 252, Optionen [nop,nop,TS val 84981472 ecr 84982836], Länge 0
23:03:46.505242 IP 169.144.0.10.amqp > 169.144.0.20.57810: Flags [.], ack 1016089556, win 252, Optionen [nop,nop,TS val 84981600 ecr 84982965], Länge 0
23:03:46.616994 IP 169.144.0.10.amqp > 169.144.0.20.57812: Flags [.], ack 832263835, win 252, Optionen [nop,nop,TS val 84981712 ecr 84983076], Länge 0
23:03:46.809344 IP 169.144.0.10.amqp > 169.144.0.20.57814: Flags [.], ack 2781799939, win 252, Optionen [nop,nop,TS val 84981904 ecr 84983268], Länge 0
23:03:46.809485 IP 169.144.0.10.amqp > 169.144.0.20.57816: Flags [.], ack 1662816815, Win 252, Optionen [nop,nop,TS val 84981904 ecr 84983268], Länge 0
23:03:47.033301 IP 169.144.0.10.amqp > 169.144.0.20.57818: Flags [.], ack 2387094362, win 252, Optionen [nop,nop,TS val 84982128 ecr 84983492], Länge 0
^C
10 Pakete erfasst
12 Pakete vom Filter empfangen
0 Pakete vom Kernel verworfen

Beispiel: 11) Erfassen von Paketen von einer bestimmten Ziel-IP auf einer bestimmten Schnittstelle

Grammatik:

# tcpdump -n -i {Schnittstellenname} dst {IP-Adresse}

[root@compute-0-1 ~]# tcpdump -n -i enp0s3 dst 169.144.0.1
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
23:10:43.520967 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1439564171:1439564359, ack 3062005550, Win 291, Optionen [nop,nop,TS val 85404988 ecr 21390356], Länge 188
23:10:43.521441 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 188:408, Ack 1, Win 291, Optionen [nop,nop,TS val 85404988 ecr 21390359], Länge 220
23:10:43.521719 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 408:604, Ack 1, Win 291, Optionen [nop,nop,TS val 85404989 ecr 21390359], Länge 196
23:10:43.521993 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 604:800, Ack 1, Win 291, Optionen [nop,nop,TS val 85404989 ecr 21390359], Länge 196
23:10:43.522157 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 800:996, Ack 1, Win 291, Optionen [nop,nop,TS val 85404989 ecr 21390359], Länge 196
23:10:43.522346 IP 169.144.0.20.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 996:1192, Ack 1, Win 291, Optionen [nop,nop,TS val 85404989 ecr 21390359], Länge 196
.................................................................................................

Beispiel: 12) Erfassen Sie die TCP-Paketkommunikation zwischen zwei Hosts

Angenommen, ich möchte TCP-Pakete zwischen zwei Hosts 169.144.0.1 und 169.144.0.20 erfassen. Das Beispiel lautet wie folgt:

[root@compute-0-1 ~]# tcpdump -w two-host-tcp-comm.pcap -i enp0s3 tcp und \(Host 169.144.0.1 oder Host 169.144.0.20\)

Verwenden Sie den Befehl tcpdump, um nur den SSH-Paketfluss zwischen den beiden Hosts zu erfassen.

[root@compute-0-1 ~]# tcpdump -w ssh-comm-two-hosts.pcap -i enp0s3 src 169.144.0.1 und Port 22 und dst 169.144.0.20 und Port 22

Beispiel:13) Erfassen Sie UDP-Netzwerkpakete zwischen zwei Hosts (hin und her)

Grammatik:

# tcpdump -w -s -i udp und \(Host und Host \)

[root@compute-0-1 ~]# tcpdump -w two-host-comm.pcap -s 1000 -i enp0s3 udp und \(Host 169.144.0.10 und Host 169.144.0.20\)

Beispiel:14) Erfassen Sie Pakete im Hex- und ASCII-Format

Mit dem Befehl „tcpdump“ können wir TCP/IP-Pakete im ASCII- und Hexadezimalformat erfassen.

Um Pakete im ASCII-Format mit der Option -A zu erfassen, lautet das Beispiel wie folgt:

[root@compute-0-1 ~]# tcpdump -c 10 -A -i enp0s3
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
00:37:10.520060 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1452637331:1452637519, ack 3062125586, Win 333, Optionen [nop,nop,TS val 90591987 ecr 22687106], Länge 188
E...[root@compute-0-1 @...............V.|...T....MT......
.fR..Z-....b.:..Z5...{.'p....]."}...Z..9.?......."root@compute-0-1 <.....V..C.....{,...OKP.2.*...`..-sS..1S...........:.O[.....{G..%ze.Pn.T..N.... ....qB..5...n.....`...:=...[..0....k.....S.:..5!.9..G....!-..'..
00:37:10.520319 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 188, win 13930, Optionen [nop,nop,TS val 22687109 ecr 90591987], Länge 0
root@compute-0-1 @.|+..............TV}O..6j.d.....
.Z-..fR.
00:37:11.687543 IP-Controller0.example.com.amqp > Compute-0-1.example.com.57800: Flags [.], ack 526624548, Win 243, Optionen [nop,nop,TS val 90586768 ecr 90588146], Länge 0
root@compute-0-1@.!L…
.....(..g....c.$...........
.f>..fC.
00:37:11.687612 IP compute-0-1.example.com.57800 > controller0.example.com.amqp: Flags [.], ack 1, win 237, Optionen [nop,nop,TS val 90593155 ecr 90551716], Länge 0
root@compute-0-1@..........
...(.c.$g.......Se.....
.fW..e..
.................................................................................................................................................................................

Um Pakete sowohl im Hexadezimal- als auch im ASCII-Format zu erfassen, verwenden Sie die Option -XX.

[root@compute-0-1 ~]# tcpdump -c 10 -XX -i enp0s3
tcpdump: ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für die vollständige Protokolldekodierung
lauscht auf enp0s3, Verbindungstyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
00:39:15.124363 IP compute-0-1.example.com.ssh > 169.144.0.1.39406: Flags [P.], Sequenz 1452640859:1452641047, ack 3062126346, Win 333, Optionen [nop,nop,TS val 90716591 ecr 22718257], Länge 188
0x0000: 0a00 2700 0000 0800 27f4 f935 0800 4510 ..'.....'..5..E.
0x0010: 00f0 5bc6 4000 4006 8afc a990 0014 a990 ..[root@compute-0-1@.........
0x0020: 0001 0016 99ee 5695 8a5b b684 570a 8018 ......V..[..W...
0x0030: 014d 5418 0000 0101 080a 0568 39af 015a .MT........h9..Z
0x0040: a731 adb7 58b6 1a0f 2006 df67 c9b6 4479 .1..X......g..Dy
0x0050: 19fd 2c3d 2042 3313 35b9 a160 fa87 d42c ..,=.B3.5..`...,
0x0060: 89a9 3d7d dfbf 980d 2596 4f2a 99ba c92a ..=}....%.O*...*
0x0070: 3e1e 7bf7 3af2 a5cc ee4f 10bc 7dfc 630d >.{.:....O..}.c.
0x0080: 898a 0e16 6825 56c7 b683 1de4 3526 ff04 ....h%V.....5&..
0x0090: 68d1 4f7d babd 27ba 84ae c5d3 750b 01bd hO}..'.....u...
0x00a0: 9c43 e10a 33a6 8df2 a9f0 c052 c7ed 2ff5 .C..3......R../.
0x00b0: bfb1 ce84 edfc c141 6dad fa19 0702 62a7 .......Am.....b.
0x00c0: 306c db6b 2eea 824e eea5 acd7 f92e 6de3 0l.k...N......m.
0x00d0: 85d0 222d f8bf 9051 2c37 93c8 506d 5cb5 .."-...Q,7..Pm\.
0x00e0: 3b4a 2a80 d027 49f2 c996 d2d9 a9eb c1c4 ;J*..'I.........
0x00f0: 7719 c615 8486 d84c e42d 0ba3 698c w......L.-..i.
00:39:15.124648 IP 169.144.0.1.39406 > compute-0-1.example.com.ssh: Flags [.], ack 188, win 13971, Optionen [nop,nop,TS val 22718260 ecr 90716591], Länge 0
0x0000: 0800 27f4 f935 0a00 2700 0000 0800 4510 ..'..5..'.....E.
0x0010: 0034 6b70 4000 4006 7c0e a990 0001 a990 root@compute-0-1@.|.......
0x0020: 0014 99ee 0016 b684 570a 5695 8b17 8010 ........WV....
0x0030: 3693 7c0e 0000 0101 080a 015a a734 0568 6.|........Z.4.h
0x0040: 39af
............................................................................

Das ist alles für diesen Artikel. Ich hoffe, Sie verstehen jetzt, wie Sie mit dem Befehl „tcpdump“ TCP/IP-Pakete erfassen und analysieren. Bitte teilen Sie uns Ihr Feedback und Ihre Kommentare mit.

über: https://www.linuxtechi.com/capture-analyze-packets-tcpdump-command-linux/

Von Pradeep Kumar

Thema: lujun9972

Übersetzer: ypingcn

Korrekturlesen: wxy

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So verwenden Sie tcpdump zum Erfassen von Paketen im Linux-System
  • Detaillierte Erläuterung der TCPdump-Befehlsbeispiele in Linux
  • Einige Funktionen der Verwendung von tcpdump zum Erfassen von Paketen in der Linux-Befehlszeile
  • Linux-Grundlagenlernen mit tcpdump zum Erfassen von Paketbeispielcode
  • Detaillierte Erläuterung der TCPdump-Befehlsbeispiele in Linux
  • So verwenden Sie tcpdump zum Erfassen von Paketen in Linux
  • So verwenden Sie den Befehl tcpdump zum Überwachen bestimmter Netzwerkdatenpakete in Linux
  • Detaillierte Analyse der Verwendung des Linux-Befehls tcpdump
  • Detaillierte Erläuterung der Linux-TCPDUMP-Operationsbefehle
  • Detaillierte Analyse und Verwendung des Befehls tcpdump unter Linux

<<:  Zusammenfassung der Vue-Datenreaktionsfähigkeit

>>:  MySQL-Lernhinweise: Daten-Engine

Artikel empfehlen

CSS Skills Collection – Klassiker unter den Klassikern

Entfernen Sie das gepunktete Kästchen auf dem Link...

Beschreibung der Nginx-Zugriffsprotokoll- und Fehlerprotokollparameter

veranschaulichen: Es gibt zwei Haupttypen von Ngi...

Docker erstellt MySQL-Erklärung

1. MySQL-Image herunterladen Befehl: docker pull ...

So beheben Sie die durch MySQL DDL verursachte Synchronisierungsverzögerung

Inhaltsverzeichnis Vorwort Lösung Tool-Einführung...

Tutorial zum Ändern des Root-Passworts in MySQL 5.7

Versionsupdate, das Passwortfeld im Originalbenut...