圖文教學 ethereal網絡協議分析軟件
在我們不斷地對網絡協議進行學習的過程中,應該對網絡協議分析軟件有所了解。那么這里我們則重點結婚掃的是ethereal網絡協議分析軟件。ethereal網絡協議分析軟件可以用來從網絡上抓包,并能對包進行分析.下面介紹windows 下面ethereal 的使用方法。
安裝
1)安裝winpcap,下載地址http://netgroup-serv.polito.it/winpcap/install/Default.htm 2)安裝ethereal ,下載地址http://www.ethereal.com/
使用windows 程序,使用很簡單.
啟動ethereal 以后,選擇菜單Capature->Start ,就OK 了.當你不想抓的時候,按一下stop, 抓的包就會顯示在面板中,并且已經分析好了.
下面是一個截圖:
ethereal網絡協議分析軟件使用-capture選項
nterface: 指定在哪個接口(網卡)上抓包.一般情況下都是單網卡,所以使用缺省的就可以了Limit each packet: 限制每個包的大小,缺省情況不限制
Capture packets in promiscuous mode: 是否打開混雜模式.如果打開,抓取所有的數據包.一般情況下只需要監聽本機收到或者發出的包,因此應該關閉這個選項.Filter:過濾器.只抓取滿足過濾規則的包(可暫時略過) File:如果需要將抓到的包寫到文件中,在這里輸入文件名稱.use ring buffer: 是否使用循環緩沖.缺省情況下不使用,即一直抓包.注意,循環緩沖只有在寫文件的時候才有效.如果使用了循環緩沖,還需要設置文件的數目,文件多大時回卷
其他的項選擇缺省的就可以了
ethereal的抓包過濾器
抓包過濾器用來抓取感興趣的包,用在抓包過程中. 抓包過濾器使用的是libcap 過濾器語言,在tcpdump 的手冊中有詳細的解釋,基本結構是: [not] primitive [and|or [not] primitive ...]
個人觀點,如果你想抓取某些特定的數據包時,可以有以下兩種方法,你可以任選一種, 個人比較偏好第二種方式:
1、在抓包的時候,就先定義好抓包過濾器,這樣結果就是只抓到你設定好的那些類型的數 據包;
2、先不管三七二十一,把本機收到或者發出的包一股腦的抓下來,然后使用下節介紹的顯 示過濾器,只讓Ethereal 顯示那些你想要的那些類型的數據包;
etheral網絡協議分析軟件的顯示過濾器(重點內容)
在抓包完成以后,顯示過濾器可以用來找到你感興趣的包,可以根據1)協議2)是否存在某個域3)域值4)域值之間的比較來查找你感興趣的包.
舉個例子,如果你只想查看使用tcp 協議的包,在ethereal 窗口的左下角的Filter 中輸入tcp, 然后回車,ethereal 就會只顯示tcp 協議的包.如下圖所示:
#p#
值比較表達式可以使用下面的操作符來構造顯示過濾器自然語言類c 表示舉例eq == ip.addr==10.1.10.20 ne != ip.addr!=10.1.10.20 gt > frame.pkt_len>10 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 (過濾器)就是:
在ethereal網絡協議分析軟件 使用協議插件
ethereal 能夠支持許多協議,但有些協議需要安裝插件以后才能解,比如H.323,以H.323 協議為例,首先下載ethereal 的H.323 插件,下載地址http://www.voice2sniff.org/ 下載完了以后將文件(h323.dll) 解壓到ethereal 安裝目錄的plugin\0.9.x 目錄下面,比如我的是0.9.11 ,然后,需要進行一下設置1)啟動ethereal 2)菜單Edit->Preference 3)單擊Protocols 前面的"+"號,展開Protocols 4)找到Q931 ,并單擊5)確保"Desegment.... TCP segments" 是選中的(即方框被按下去)6)單擊TCP 7)確保"Allow....TCP streams" 是選中的8)確保沒有選中"Check....TCP checksum" 和"Use....sequence numbers" 9)單擊TPKT 10)確保"Desegment....TCP segments" 是選中的11)點擊Save,然后點擊Apply ,然后點擊OK 你也完全可以不斷地重新安裝新版本winpcap 和ethreal, 這樣就可以不需在舊的ethreal 的版本中安裝新的插件來支持新的協議插件.