首頁 > 軟體

Linux tcpdump命令幫助和範例

2020-06-16 16:29:09

Tcpdump是用於網路封包分析的基本命令列實用工具。它顯示網路上的TCP/IP和其他傳輸的網路封包,tcpdump 適用於大多數的類Unix系統作業系統(如Linux,BSD等)。類Unix系統的 tcpdump 需要使用libpcap這個捕捉資料的庫就像 Windows下的WinPcap。

Tcpdump使用libpcap庫,該庫有助於捕獲所有Linux/Unix發行版中可用的網路封包。

Tcpdump命令用於從網路介面讀取網路封包的資料。您還可以使用以前建立的封包檔案通過tcpdump進行讀取和分析。您可以將tcpdump用作root使用者或具有sudo特權使用者的命令。

在本教學的此處,我們將討論tcpdump命令在安裝中的用法以及一些基本範例。

讓我們從安裝tcpdump工具開始。

Tcpdump安裝:

在大多數預裝的Linux發行版tcpdump中,如果未將其安裝在系統中,則可以使用以下方法將其安裝在系統中。

CentOS/RHEL

您可以使用以下命令在CentOS/RHEL中安裝tcpdump,

$ sudo yum install tcpdump

Fedora

在fedora上,您應該使用以下命令安裝tcpdump,

$ dnf install tcpdump

Ubuntu/Debian/Linux Mint

同樣,您可以在Ubuntu或Debian或Linux Mint上使用以下命令來安裝tcpdump,

現在,我們來看一下tcpdump命令範例。

例子:

我們將使用下面建立的檔案作為範例命令的輸入

範例1:從所有介面捕獲封包

使用命令tcpdump捕獲網路軟體包,如下所示:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:15:28.897761 IP linuxidc.49164 > 183.222.96.208.https: Flags [.], ack 3243612939, win 501, options [nop,nop,TS val 1582584396 ecr 1860790567], length 0
20:15:28.899731 IP linuxidc.41411 > _gateway.domain: 30792+ PTR? 208.96.222.183.in-addr.arpa. (45)
20:15:28.965333 IP 183.222.96.208.https > linuxidc.49164: Flags [.], ack 1, win 643, options [nop,nop,TS val 1860800808 ecr 1582543782], length 0
20:15:29.058203 IP _gateway.domain > linuxidc.41411: 30792 ServFail 0/0/0 (45)
20:15:29.153761 IP linuxidc.49168 > 183.222.96.208.https: Flags [.], ack 179524709, win 501, options [nop,nop,TS val 1582584652 ecr 1860790821], length 0
20:15:29.234028 IP 183.222.96.208.https > linuxidc.49168: Flags [.], ack 1, win 251, options [nop,nop,TS val 1860801061 ecr 1582543871], length 0
20:15:32.847078 IP 192.168.1.113.mdns > 224.0.0.251.mdns: 0 PTR (QM)? _leboremote._tcp.local. (40)

......

範例2:從特定介面捕獲封包

您可以將“ tcpdump”命令與選項“ -i”和介面名稱一起使用,以從特定介面捕獲網路軟體包。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo tcpdump -i wlp2s0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:14:05.697766 IP linuxidc.49154 > 183.222.96.208.https: Flags [.], ack 991288211, win 501, options [nop,nop,TS val 1582501196 ecr 1860707369], length 0
20:14:05.699550 IP linuxidc.42223 > _gateway.domain: 49981+ PTR? 208.96.222.183.in-addr.arpa. (45)
20:14:05.755355 IP 183.222.96.208.https > linuxidc.49154: Flags [.], ack 1, win 285, options [nop,nop,TS val 1860717618 ecr 1582450090], length 0
20:14:05.834046 IP linuxidc.58056 > 156.99.224.35.bc.googleusercontent.com.http: Flags [S], seq 1741286821, win 64240, options [mss 1460,sackOK,TS val 1163018628 ecr 0,nop,wscale 7], length 0
20:14:05.893904 IP _gateway.domain > linuxidc.42223: 49981 ServFail 0/0/0 (45)
20:14:05.898067 IP linuxidc.40699 > _gateway.domain: 28863+ PTR? 156.99.224.35.in-addr.arpa. (44)
20:14:06.067226 IP 156.99.224.35.bc.googleusercontent.com.http > linuxidc.58056: Flags [S.], seq 2057714007, ack 1741286822, win 28160, options [mss 1420,sackOK,TS val 2436647274 ecr 1163018628,nop,wscale 7], length 0
20:14:06.067271 IP linuxidc.58056 > 156.99.224.35.bc.googleusercontent.com.http: Flags [.], ack 1, win 502, options [nop,nop,TS val 1163018861 ecr 2436647274], length 0

......

範例3:檢查可用介面

您可以將“ tcpdump”命令與“ -D”選項一起使用,以顯示系統中所有可用介面,如下所示。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo tcpdump -D
[sudo] linuxidc 的密碼:
1.wlp2s0 [Up, Running]
2.any (Pseudo-device that captures on all interfaces) [Up, Running]
3.lo [Up, Running, Loopback]
4.enp1s0 [Up]
5.bluetooth0 (Bluetooth adapter number 0)
6.nflog (Linux netfilter log (NFLOG) interface)
7.nfqueue (Linux netfilter queue (NFQUEUE) interface)
8.usbmon1 (USB bus number 1)
9.usbmon2 (USB bus number 2)

......


IT145.com E-mail:sddin#qq.com