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 看上去,第乙個簡單一些,但很類似,不過如果要實現 刪除那些沒有指定字尾的檔...