Ethereal是當(dāng)前較為流行的一種計算機網(wǎng)絡(luò)調(diào)試和數(shù)據(jù)包嗅探軟件。Ethereal是免費的網(wǎng)絡(luò)協(xié)議檢測程序,支持Unix,Windows。讓您經(jīng)由程序抓取運行的網(wǎng)站的相關(guān)資訊,包括每一封包流向及其內(nèi)容、資訊可依操作系統(tǒng)語系看出,方便查看、監(jiān)控TCP session動態(tài)等等.
Ethereal網(wǎng)絡(luò)分析系統(tǒng)也需要一個底層的抓包平臺,在Linux中是采用Libpcap函數(shù)庫抓包,在windows系統(tǒng)中采用winpcap函數(shù)庫抓包。
Ethereal 基本類似于tcpdump,但Ethereal 還具有設(shè)計完美的 GUI 和眾多分類信息及過濾選項。用戶通過 Ethereal,同時將網(wǎng)卡插入混合模式,可以查看到網(wǎng)絡(luò)中發(fā)送的所有通信流量。 Ethereal 應(yīng)用于故障修復(fù)、分析、軟件和協(xié)議開發(fā)以及教育領(lǐng)域。它具有用戶對協(xié)議分析器所期望的所有標(biāo)準(zhǔn)特征,并具有其它同類產(chǎn)品所不具備的有關(guān)特征。
Ethereal 主要特征:
在實時時間內(nèi),從網(wǎng)絡(luò)連接處捕獲數(shù)據(jù),或者從被捕獲文件處讀取數(shù)據(jù);
Ethereal 可以讀取從 tcpdump(libpcap)、網(wǎng)絡(luò)通用嗅探器(被壓縮和未被壓縮)、SnifferTM 專業(yè)版、NetXrayTM、Sun snoop 和 atmsnoop、Shomiti/Finisar 測試員、AIX 的 iptrace、Microsoft 的網(wǎng)絡(luò)監(jiān)控器、Novell 的 LANalyzer、RADCOM 的 WAN/LAN 分析器、 ISDN4BSD 項目的 HP-UX nettl 和 i4btrace、Cisco 安全 IDS iplog 和 pppd 日志( pppdump 格式)、WildPacket 的 EtherPeek/TokenPeek/AiroPeek 或者可視網(wǎng)絡(luò)的可視 UpTime 處捕獲的文件。此外 Ethereal 也能從 Lucent/Ascend WAN 路由器和 Toshiba ISDN 路由器中讀取跟蹤報告,還能從 VMS 的 TCPIP 讀取輸出文本和 DBS Etherwatch。
從以太網(wǎng)、FDDI、PPP、令牌環(huán)、IEEE 802.11、ATM 上的 IP 和回路接口(至少是某些系統(tǒng),不是所有系統(tǒng)都支持這些類型)上讀取實時數(shù)據(jù)。
通過 GUI 或 TTY 模式 tethereal 程序,可以訪問被捕獲的網(wǎng)絡(luò)數(shù)據(jù)。
通過 editcap 程序的命令行交換機,有計劃地編輯或修改被捕獲文件。
當(dāng)前602協(xié)議可被分割。
輸出文件可以被保存或打印為純文本或 PostScript格式。
通過顯示過濾器精確顯示數(shù)據(jù)。
顯示過濾器也可以選擇性地用于高亮區(qū)和顏色包摘要信息。
所有或部分被捕獲的網(wǎng)絡(luò)跟蹤報告都會保存到磁盤中。
Ethereal 的使用方法:
安裝
1)安裝winpcap
2)安裝Ethereal
使用
windows 程序,使用很簡單。
啟動ethereal 以后,選擇菜單Capture->Start ,就OK 了。當(dāng)你不想抓的時候,按一下stop, 抓的包就會顯示在面板中,并且已經(jīng)分析好了。
Ethereal使用-capture選項
interface: 指定在哪個接口(網(wǎng)卡)上抓包。一般情況下都是單網(wǎng)卡,所以使用缺省的就可以了
Limit each packet: 限制每個包的大小,缺省情況不限制
Capture packets in promiscuous mode: 是否打開混雜模式。如果打開,抓取所有的數(shù)據(jù)包。一般情況下只需要監(jiān)聽本機收到或者發(fā)出的包,因此應(yīng)該關(guān)閉這個選項。
Filter:過濾器。只抓取滿足過濾規(guī)則的包(可暫時略過)
File:如果需要將抓到的包寫到文件中,在這里輸入文件名稱。
use ring buffer: 是否使用循環(huán)緩沖。缺省情況下不使用,即一直抓包。注意,循環(huán)緩沖只有在寫文件的時候才有效。如果使用了循環(huán)緩沖,還需要設(shè)置文件的數(shù)目,文件多大時回卷
其他的項選擇缺省的就可以了
Ethereal的抓包過濾器:
抓包過濾器用來抓取感興趣的包,用在抓包過程中。 抓包過濾器使用的是libcap 過濾器語言,在tcpdump 的手冊中有詳細(xì)的解釋,基本結(jié)構(gòu)是: [not] primitive [and|or [not] primitive ...]
個人觀點,如果你想抓取某些特定的數(shù)據(jù)包時,可以有以下兩種方法,你可以任選一種, 個人比較偏好第二種方式:
1、在抓包的時候,就先定義好抓包過濾器,這樣結(jié)果就是只抓到你設(shè)定好的那些類型的數(shù) 據(jù)包;
2、先不管三七二十一,把本機收到或者發(fā)出的包一股腦的抓下來,然后使用下節(jié)介紹的顯 示過濾器,只讓Ethereal 顯示那些你想要的那些類型的數(shù)據(jù)包;
etheral的顯示過濾器(重點內(nèi)容)
在抓包完成以后,顯示過濾器可以用來找到你感興趣的包,可以根據(jù)1)協(xié)議2)是否存在某個域3)域值4)域值之間的比較來查找你感興趣的包。
舉個例子,如果你只想查看使用tcp 協(xié)議的包,在ethereal 窗口的左下角的Filter 中輸入tcp, 然后回車,Ethereal 就會只顯示tcp 協(xié)議的包。
值比較表達(dá)式可以使用下面的操作符來構(gòu)造顯示過濾器自然語言類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
表達(dá)式組合可以使用下面的邏輯操作符將表達(dá)式組合起來自然語言類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