close

按此前往linux完整教學目錄

 

 

tcpdump指令來查看本機所接收與發送的封包:

tcpdump是一款軟體(有些版本的Linux系統可能在預設上並沒有安裝此軟體),其功能多元、用法複雜,在此僅介紹一些常用且基本的功能,即是查看封包的接收(或發送)時間、來源、目標、甚至是封包內容等等。用法如下:

tcpdump 選項 -i 網卡代號 篩選格式

輸入此指令後,系統開始進入監聽模式而對該網卡進行監聽,並且持續回報監聽的內容。若要終止監聽模式,可按<ctrl>+<c>

※ 註:另有許多圖形介面軟體可查看封包,如wireshark…等,在此不介紹。

(1) 其中,選項有:

-q:簡化查詢結果,再顯示出來。

-nn:顯示來源主機和目標主機時,用其IP位址以及埠號來表示(預設是主機名稱來表示)

-A:用ASCII解碼封包資料後顯示出來。

-X:用16進位碼顯示封包資料,也用ASCII解碼封包資料後顯示,兩者可做對照。

-e:顯示封包中之訊框的表頭(預設是顯示TCP封包的表頭)。因此顯示來源主機和目標主機時,會用實體位址來表示。

-c N:表示在監聽到N個封包後就停止監聽。

-w 檔案名:將進入監聽模式後、直到退出監聽模式期間,所有的監聽內容儲存在該檔案中(而非顯示在螢幕上)。不過所儲存的內容可能是經過編碼,需要用tcpdump -r 檔案名 來解碼才能讀取。

(2) 監聽模式可以透過篩選格式的設定,篩選掉使用者不感興趣的封包,而只顯示一些特定的封包。篩選格式條件式組成。

(2-1) 條件式代表要篩選留下的封包,常用的條件式如下:

host 主機名稱host IP位址:表示與該主機名稱IP位址有關的封包。

net 某個網段的net ID:表示與網段有關的封包。

src host IP位址src net 某個網段的net ID:表示其來源主機IP位址是IP位址的封包,或其來源主機的網段net ID某個網段的net ID的封包。

dst host IP位址dst net 某個網段的net ID:表示其目標主機IP位址是IP位址的封包,或其目標主機的網段net ID某個網段的net ID的封包。

port N:和N號埠口有關的封包。

src port N:來源埠口為N號埠口的封包。

dst port N:目標埠口為N號埠口的封包。

通訊協定:表示使用該通訊協定的封包。通訊協定可為tcpudp等。

(2-2) 條件式條件式之間可用and連接,表示條件式之間交集;亦可用or連接,表示條件式的聯集。

(3) 監聽模式中會顯示監聽結果。一個封包的資訊,顯示在同一行。例如,輸入tcpdump -nn -c 5 -i eth0 tcp,顯示的封包資訊為:

01:28:52.426090 IP 192.168.1.103.55952 > 202.43.192.109.443: Flags [P.], seq 1:374, ack 1, win 92, options [nop,nop,TS val 1572161 ecr 1846681710], length 373

其中,各項目說明如下:

01:28:52.426090

表示此封包由主機接收或者由主機發送的時間,在01時、28分、52.426090秒。

IP

表示此封包透過IP協定來傳輸。

192.168.1.103.55952 >

表示此封包的來源主機之IP位址。最後面的55932是埠號。

202.43.192.109.443:

表示此封包的目標主機之IP位址。最後面的443是埠號。

Flags [P.]

[]內的字母表示此封包的控制旗標。

seq 1:374

表示此封包的「封包序號」。在資料開頭的序號為1,資料結尾的序號為374,結尾序號與開頭序號相減之值,代表封包資料量大小(僅是封包所要傳輸的資料量,並非封包總長度),單位是byte

※註:一般所謂的「封包序號」,是指資料開頭的序號。

ack 1

表示此封包的「確認序號」。

win 92

表示此封包的「window(剩餘緩衝器容量) 」為92 bytes

options [nop,nop,TS val 1572161 ecr 1846681710]

表示此封包的「options」,不在此討論。

length 373

表示此封包的資料量是 373 bytes

 

 

 

上一篇:linux wget下載指令

下一篇:linux 遠端連線簡介

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()