1. 程式人生 > >Ethereal使用入門(轉載)

Ethereal使用入門(轉載)

ethereal可以用來從網路上抓包,並能對包進行分析。下面介紹windows下面ethereal 的使用方法。
一、安裝
1、下載安裝winpcap
http://coolersky.com/download/hacker/aidance/2005/0805/87.html
2、下載安裝ethereal
http://coolersky.com/download/hacker/sniffer/2005/1227/152.html
說明:新版本ethereal已經整合winpcap,下載ethereal即可完成安裝。
二、使用
啟動ethereal以後,選擇選單Capature->Start,就OK了。當你不想抓的時候,按一下stop, 抓的包就會顯示在面板中,並且已經分析好了。
下面是一個截圖:

1、ethereal使用-capture選項

nterface:指定在哪個介面(網絡卡)上抓包。一般情況下都是單網絡卡,所以使用預設的就可以了。
Limit each packet:限制每個包的大小,預設情況不限制。
Capture packets in promiscuous mode:是否開啟混雜模式。如果開啟,抓取所有的資料包。一般情況下只需要監聽本機收到或者發出的包,因此應該關閉這個選項。
Filter:過濾器。只抓取滿足過濾規則的包(可暫時略過)。
File:如果需要將抓到的包寫到檔案中,在這裡輸入檔名稱。
use ring buffer:是否使用迴圈緩衝。預設情況下不使用,即一直抓包。注意,迴圈緩衝只有在寫檔案的時候才有效。如果使用了迴圈緩衝,還需要設定檔案的數目,檔案多大時回捲。
其他的項選擇預設的就可以了。
2、ethereal的抓包過濾器
抓包過濾器用來抓取感興趣的包,用在抓包過程中。抓包過濾器使用的是libcap過濾器語言,在tcpdump的手冊中有詳細的解釋,基本結構是:[not] primitive [and|or [not] primitive ...]
個人觀點:如果你想抓取某些特定的資料包時,可以有以下兩種方法,你可以任選一種,個人比較偏好第二種方式:
(1)在抓包的時候,就先定義好抓包過濾器,這樣結果就是隻抓到你設定好的那些型別的資料包;
(2)先不管三七二十一,把本機收到或者發出的包一股腦的抓下來,然後使用下節介紹的顯示過濾器,只讓Ethereal 顯示那些你想要的那些型別的資料包;
3、etheral的顯示過濾器(重點內容)
在抓包完成以後,顯示過濾器可以用來找到你感興趣的包,可以根據協議、是否存在某個域、域值、域值之間的比較來查詢你感興趣的包。
舉個例子,如果你只想檢視使用tcp協議的包,在ethereal視窗的左下角的Filter中輸入tcp, 然後回車,ethereal就會只顯示tcp 協議的包。如下圖所示:

值比較表示式可以使用下面的操作符來構造顯示過濾器自然語言類c 表示舉例
eq ==
ip.addr==10.1.10.20
ne !=
ip.addr!=10.1.10.20
gt >
frame.pkt_len>10
lt <
lt < frame.pkt_len<10
ge >=
frame.pkt_len>=10
le <=
frame.pkt_len<=10

表示式組合可以使用下面的邏輯操作符將表示式組合起來自然語言類c 表示舉例
and &&:邏輯與
ip.addr=10.1.10.20&&tcp.flag.fin
or ||:邏輯或
ip.addr=10.1.10.20||ip.addr=10.1.10.21
xor ^^:異或
tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == not
!:邏輯非
!llc

例如:我想抓取IP地址是192.168.2.10 的主機,它所接收收或傳送的所有的HTTP報文,那麼合適的顯示Filter (過濾器)就是:

4、在ethereal 使用協議外掛
ethereal 能夠支援許多協議,但有些協議需要安裝外掛以後才能解,比如H.323,以H.323 協議為例:
(1)首先下載ethereal 的H.323 外掛,下載地址http://www.voice2sniff.org/
(2)下載完了以後將檔案(h323.dll) 解壓到ethereal 安裝目錄的plugin\0.9.x 目錄下面,比如我的是0.9.11。
(3)進行一下設定
a、啟動ethereal
b、選單Edit->Preference
c、單擊Protocols 前面的"+"號,展開Protocols
d、找到Q931 ,並單擊
e、確保"Desegment.... TCP segments" 是選中的(即方框被按下去)
f、單擊TCP
g、確保"Allow....TCP streams" 是選中的
h、確保沒有選中"Check....TCP checksum" 和"Use....sequence numbers"
i、單擊TPKT
j、確保"Desegment....TCP segments" 是選中的
k、點選Save,然後點選Apply ,然後點選OK

當然你也完全可以不斷地重新安裝新版本winpcap 和ethreal, 這樣就可以不需在舊的ethreal 的版本中安裝新的外掛來支援新的協議外掛,這也是懶人的一種做法。