tcpdump 高階應用

2021-06-29 00:36:48 字數 3085 閱讀 2182

tcpdump

-i any: 監聽所有網路埠

-n: 不把網路位址顯示為網域名稱

-nn: 不顯示網域名稱和埠名

-x: 在輸出行同時列印ascii字元和hex十六進製制顯示的包資訊

-xx: 在-x基礎上,增加了資料鏈路層的頭部資訊的顯示

-v, -vv, -vvv: 逐步提高抓取資訊的詳細程度

-c: 抓取c個包即停止

-s: 列印絕對序列號

-e: 在輸出行列印出資料鏈路層的頭部資訊

-s: 設定預設抓取的包資料的長度(如果不設定,預設只抓乙個包前面 96 位元組)

-w:直接將包寫入檔案中,並不分析和列印出來

表示式是乙個正規表示式,tcpdump利用它作為過濾報文的條件,如果乙個報文滿足表示式的條件,則這個報文將會**獲。如果沒有給出任何條件,則網路上所有的資訊包將會被截獲。

表示式的幾種關鍵字:

第一種是關於型別的關鍵字,主要包括host,net,port,例如 host  210.27.48.2,指明 210.27.48.2是一台主機,net  202.0.0.0指明 202.0.0.0是乙個網路位址,port 23 指明埠號是23。如果沒有指定型別,預設的型別是host.

第二種是確定傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst andsrc,這些關鍵字指明了傳輸的方向。舉例說明,src 210.27.48.2,指明ip包中源位址是210.27.48.2 , dst net 202.0.0.0 指明目的網路位址是202.0.0.0。如果沒有指明方向關鍵字,則預設是src or dst關鍵字。

第三種是協議的關鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等型別。fddi指明是在fddi(分布式光纖資料介面網路)上的特定的網路協議,實際上它是"ether"的別名,fddi和ether具有類似的源位址和目的位址,所以可以將fddi協議包當作ether的包進行處理和分析。其他的幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有協議的資訊包。

除了這三種型別的關鍵字之外,其他重要的關鍵字如下:gateway,broadcast,less,greater,還有三種邏輯運算,取非運算是'not ' '! ', 與運算是'and','&&';或運算 是'or' ,'||';

幾個簡單的例子:

src,dst// 根據ip只抓乙個方向的包

# tcpdump src 2.3.4.5

# tcpdump dst 3.4.5.6

net// 抓取乙個區域網內的包

proto// 根據協議抓包

port// 根據埠抓包

src, dst port// 根據埠只抓乙個流向的包

# tcpdump src port 1025

# tcpdump dst port 389

port ranges// 根據埠範圍抓包

# tcpdump portrange 21-23

packet size filter// 根據包大小抓包

# tcpdump less 32

# tcpdump greater 128

// 也可以下面這種形式

# tcpdump > 32

# tcpdump <= 128

1.1.2  高階應用

關鍵字可以組合起來構成強大的組合條件來滿足人們的需要,下面舉幾個例子來說明

// 抓取源位址 10.5.2.3 目的埠 3389 的包,列印中等詳細的資訊,不顯示網域名稱和埠名

#tcpdump -nnvvs  and src 10.5.2.3 and dst port 3389

// 抓從網路 192.168 發向網路 10 或 172.16 的流量,同時列印ascii和hex的資訊

#tcpdump -nvx  src net 192.168.0.0/16 and dst net10.0.0.0/8 or 172.16.0.0/16

# 抓目的位址為 192.168.0.2 的非 icmp 協議的包,每個包抓 1514 位元組

tcpdump -nvvxss 1514 dst 192.168.0.2 and src net and noticmp

還可以類似程式設計的風格,用偏移量等精確到tcp包的某些位元組,如

//show me all urgent(urg)packets...

# tcpdump 'tcp[13] & 32!=0'

//show me all acknowledge(ack)packets...

# tcpdump 'tcp[13] & 16!=0'

//show me all push(psh)packets...

# tcpdump 'tcp[13] & 8!=0'

//show me all reset(rst)packets...

# tcpdump 'tcp[13] & 4!=0'

//show me all synchronize(syn)packets...

# tcpdump 'tcp[13] & 2!=0'

//show me all finish(fin)packets...

# tcpdump 'tcp[13] & 1!=0'

tcpdump引數解釋及抓包應用

一,tcpdump的引數介紹 a 將網路位址和廣播位址轉變成名字 d 將匹配資訊包的 以人們能夠理解的彙編格式給出 dd 將匹配資訊包的 以c語言程式段的格式給出 ddd 將匹配資訊包的 以十進位制的形式給出 e 在輸出行列印出資料鏈路層的頭部資訊,包括源mac和目的mac,以及網路層的協議 f 將...

Apache MINA 應用高階

li.zhongnan hotmail.com 1。mina 框架簡介 下圖為本人根據對mina的簡要理解,所畫出來的框架簡圖 session可以理解為伺服器與客戶端的特定連線,該連線由伺服器位址 埠以及客戶端位址 埠來決定。客戶端發起請求時,指定伺服器位址和埠,客戶端也會指定或者根據網路路由資訊自...

vi高階應用

linux 2008 10 29 23 33 53 閱讀39 字型大小 大 中小訂閱 find name doc exec rm 2,用find grep,xargs 的組合 find grep doc xargs i rm 看上去,第乙個簡單一些,但很類似,不過如果要實現 刪除那些沒有指定字尾的檔...