事實上,ethereal本身並不能抓包,它只能用來解析資料報;要抓取資料報,它需要借助於pcap。pcap在windows下面的實現稱作winpcap,現在最高的穩定版本是3.0。在linux下面,pcap一般都已經被預設安裝;
常用的capture filter
常用的display filter
1. 操作符:
eq, == equal
ne, != not equal
gt, > greater than
lt, < less than
ge, >= greater than or equal to
le, <= less than or equal to
舉例:udp.port == 10002
sip.method == invite
2. 搜尋操作
contains 協議,包,包含指定內容
matches perl標準表示式
舉例:sip contains invite 這個將列出所有sip包中含有invite字元的包;
wsp.user_agent matches "(?i)cldc" 查詢wsp.user_agent中含有cldc字元的包,並且不區分大小寫。(?option)這個表示式是perl表示式,不是所有的ethereal版本都支援的,使用前檢查自己的版本是否包含「with the pcre library」;
舉例:frame .pkt_len > 100 包的資料長度大於100的包
ip.src == 192.168.214.12 源位址是192.168.214.12
ip.dst == www.yahoo.com 目標位址是www.yahoo.com的包
ip.addr == 129.111.0.0/16 位址範圍在129.111.*.*子網的包,類似於capture filter的host
http.request.method == "head" 在http包中查詢request命令含head的包
http.request.method == "\x48ead" 和上面的一樣,只是使用\x48來表示『h』
4. 陣列操作
[i:j] i = 起點, j = 長度
[i-j] i = 起點, j = 末點, 包含.
[i] i = 起點, 長度1
[:j] 起點等於 0, 長度= j
[i:] 起點 = i, 至最後
還是直接舉例吧:
eth.src[0:3] == 00:00:83 乙太網位址的前3位
http.content_type[0:4] == "text" content_type的前四位
frame[-4:4] == 0.1.2.3 起點為負表示終點-4 長度4位,就是末四位啦,怎麼樣夠靈活吧~
5.邏輯操作
and, && logical and
or, || logical or
not, ! logical not
這個我就不多舉例啦,應該都理解的j
6.位操作
bitwise_and, & bitwise and
舉例:tcp.flags & 0x02 過濾所有的tcp syn包
至於capture的filter我就不多說啦,可以到linux下面去man tcpdumpj
需要說明的是,ethereal是基於圖形介面的,所以如果你是通過ssh或者telnet使用unix工作站,你可能會感覺麻煩。而如果你打算使用tcpdump,只要你開啟一下tcpdump的手冊頁,你肯定就會望而卻步了;更糟糕的是,tcpdump的手冊頁只是提供了最基本的幫助。我常用的乙個方法是,在遠端終端執行tcpdump,加以最少的引數。比如: tcpdump -i eth0 -s 1500 -w a.dmp 這個語句機會可以在任何情況下使用。簡單解釋一下,-i eth0是在eth0介面上監聽, -s 1500是乙個很重要的引數,它指抓取的資料報的前1500個位元組,否則你可能只能看到資料報的前68個位元組,因為tcpdump的預設抓取長度是68, -w a.dmp是表示把抓取的資料寫入a.dmp中。抓取介紹後,ctl+c,你可以看到a.dmp已經生成。然後用sftp傳到本機使用ethereal解析。
Java Filter過濾器使用
1 建立乙個servlet並且實現filter介面 該類需要實現filter介面中的init dofilter destory 方法 其中init 方法自動在專案啟動的時候載入,dofilter 在呼叫xml配置的路徑是載入,destory 方法在退出專案的時候進行。public class tes...
ethereal的抓包過濾器
抓包過濾器用來抓取感興趣的包,用在抓包過程中。抓包過濾器使用的是libcap過濾器語言,在tcpdump的手冊中有詳細的解釋,基本結構是 not primitive and or not primitive 個人觀點 如果你想抓取某些特定的資料報時,可以有以下兩種方法,你可以任選一種,個人比較偏好第...
ApiController的過濾器使用
2.過濾器 message userinfo puserid,賬號密碼不正確!除錯使用 伺服器端獲取請求使用者的ip 1就是ip位址,估計你是win7或 vista的系統 或安裝了ipv6,這是ipv6的本地回環位址就是ipv4中的127.0.0.1 else 使用 伺服器 return useri...