tcpdump學習

tcpdump 學習

參考: https://www。cnblogs。com/ggjucheng/archive/2012/01/14/2322659。html

安裝

yun install -y tcpdump

監視指定網路介面的資料包

tcpdump -i eth1

如果不指定網絡卡,預設tcpdump只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。

我本地在一個docker環境中跑,由於本地網路的問題,所以換成了docker

12:37:56。185732 IP localhost。59368 > localhost。webcache: Flags [S], seq 2181335277, win 43690, options [mss 65495,sackOK,TS val 7257280 ecr 0,nop,wscale 7], length 012:37:56。185799 IP localhost。webcache > localhost。59368: Flags [S。], seq 1890086146, ack 2181335278, win 43690, options [mss 65495,sackOK,TS val 7257280 ecr 7257280,nop,wscale 7], length 012:37:56。185845 IP localhost。59368 > localhost。webcache: Flags [。], ack 1, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 012:37:56。185985 IP localhost。59368 > localhost。webcache: Flags [P。], seq 1:83, ack 1, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 82: HTTP: GET /echo HTTP/1。112:37:56。186000 IP localhost。webcache > localhost。59368: Flags [。], ack 83, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 012:37:56。186859 IP localhost。webcache > localhost。59368: Flags [P。], seq 1:175, ack 83, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 174: HTTP: HTTP/1。1 200 OK12:37:56。186915 IP localhost。59368 > localhost。webcache: Flags [。], ack 175, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 012:37:56。187187 IP localhost。59368 > localhost。webcache: Flags [F。], seq 83, ack 175, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 012:37:56。187435 IP localhost。webcache > localhost。59368: Flags [F。], seq 175, ack 84, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 012:37:56。187514 IP localhost。59368 > localhost。webcache: Flags [。], ack 176, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 0

命令介紹:

-i

: 選擇要捕獲的介面,通常是乙太網卡或無線網絡卡,也可以是

vlan

或其他特殊介面。如果該系統上只有一個網路介面,則無需指定。

-nn

: 單個 n 表示不解析域名,直接顯示 IP;兩個 n 表示不解析域名和埠。這樣不僅方便檢視 IP 和埠號,而且在抓取大量資料時非常高效,因為域名解析會降低抓取速度。

-s0

: tcpdump 預設只會擷取前

96

位元組的內容,要想擷取所有的報文內容,可以使用

-s number

number

就是你要擷取的報文位元組數,如果是 0 的話,表示擷取報文的全部內容。

-v

: 使用

-v

-vv

-vvv

來顯示更多的詳細資訊,通常會顯示更多與特定協議相關的資訊。

-p : 監聽埠好

port 80

: 這是一個常見的埠過濾器,表示僅抓取

80

埠上的流量,通常是 HTTP。

-e

: 顯示資料鏈路層資訊

-p

: 不讓網路介面進入混雜模式。預設情況下使用 tcpdump 抓包時,會讓網路介面進入混雜模式。一般計算機網絡卡都工作在非混雜模式下,此時網絡卡只接受來自網路埠的目的地址指向自己的資料。當網絡卡工作在混雜模式下時,網絡卡將來自介面的所有資料都捕獲並交給相應的驅動程式。如果裝置接入的交換機開啟了混雜模式,使用

-p

選項可以有效地過濾噪聲。