用Ethereal分析協議資料包

來源:互聯網
上載者:User

Ethereal是一個圖形使用者介面(GUI)的網路嗅探器,能夠完成與Tcpdump相同的功能,但操作介面要友好很 多。Ehtereal和Tcpdump都依賴於pcap庫(libpcap),因此兩者在許多方面非常相似(如都使用相同的過濾規則和關鍵字)。 Ethereal和其它圖形化的網路嗅探器都使用相同的介面模式,如果能熟練地使用Ethereal,那麼其它圖形化使用者介面的嗅探器基本都可以操作。

Ethereal的安裝

在http://www.ethereal.com網站上可以下載到最新的Ethereal源碼包。下面以Ethereal 0.9.9為例,講述如何安裝Ethereal,此處使用的作業系統是Red Hat 8.0。

首先下載最新的源碼包,並將其解壓縮:

# cp ethereal-0.9.9.tar.bz2 /usr/local/src/
# cd /usr/local/src/
# bzip2 -d ethereal-0.9.9.tar.bz2
# tar xvf ethereal-0.9.9.tar

同Tcpdump一樣,在編譯Ethereal之前應先確定已經安裝pcap庫(libpcap),這是編譯Ethereal時所必需的。如果該庫已經安裝,就可以執行下面的命令來編譯並安裝Ethereal:


# cd ethereal-0.9.9
# ./configure
# make
# make install

設定Ethereal的過濾規則

當編譯並安裝好Ethereal後,就可以執行“ethereal” 命令來啟動Ethereal。在用Ethereal截獲資料包之前,應該為其設定相應的過濾規則,可以只捕獲感興趣的資料包。Ethereal使用與 Tcpdump相似的過濾規則,並且可以很方便地儲存已經設定好的過濾規則。要為Ethereal配置過濾規則,首先單擊“Edit”選單,然後選擇 “Capture Filters...”功能表項目,開啟“Edit Capture Filter List”對話方塊(1所示)。因為此時還沒有添加任何過濾規則,因而該對話方塊右側的列表框是空的。

圖1 Ethereal過濾器配置對話方塊

在Ethereal 中添加過濾器時,需要為該過濾器指定名字及規則。例如,要在主機10.1.197.162和www.sohu.com間建立過濾器,可以在“Filter name”編輯框內輸入過濾器名字“sohu”,在“Filter string”編輯框內輸入過濾規則“host 10.1.197.162 and www.sohu.com”,然後單擊“New”按鈕即可,2所示。

圖2 為Ethereal添加一個過濾器

在Ethereal中使用的過濾規則和Tcpdump幾乎完全一致,這是因為兩者都基於pcap庫的緣故。Ethereal能夠同時維護很多個過濾器。網路系統管理員可以根據實際需要選用不同的過濾器,這在很多情況下是非常有用的。例如,一個過濾器可能用於截獲兩個主機間的資料包,而另一個則可能用於截獲ICMP包來診斷網路故障。

當 所有需要的過濾器都建立好後,單擊“Save”按鈕儲存建立的過濾器,然後單擊“Close”按鈕來關閉“Edit Capture Filter List”對話方塊。要將過濾器應用於嗅探過程,需要在截獲資料包之前或之後指定過濾器。要為嗅探過程指定過濾器,並開始截獲資料包,可以單擊 “Capture”選單,選擇“Start...”選單項,開啟“Capture Options”對話方塊,單擊該對話方塊中的“Filter:”按鈕,然後選擇要使用的過濾器,3所示。

圖3 為Ethereal指定過濾器

注意在“Capture Options”對話方塊中,“Update list of packets in real time”複選框被選中了。這樣可以使每個資料包在被截獲時就即時顯示出來,而不是在嗅探過程結束之後才顯示所有截獲的資料包。

在選擇了所需要的過濾器後,單擊“OK”按鈕,整個嗅探過程就開始了。Ethereal可以即時顯示截獲的資料包,因此能夠協助網路系統管理員及時瞭解網路的健全狀態,從而使其對網路效能和流量能有一個比較準確的把握。

用Ethereal分析資料包

Ethereal和其它的圖形化嗅探器使用基本類似的介面,整個視窗被分成三個部分:最上面為資料包列表,用來顯示截獲的每個資料包的總結性資訊;中間為協議樹,用來顯示選定的資料包所屬的協議資訊;最下邊是以十六進位形式表示的資料包內容,用來顯示資料包在物理層上傳輸時的最終形式。

使用Ethereal可以很方便地對截獲的資料包進行分析,包括該資料包的源地址、目的地址、所屬協議等。圖4是在Ethereal中對一個HTTP資料包進行分析時的情形。

在圖3最上邊的資料包列表中,顯示了被截獲的資料包的基本資料。可以看出,當前選中資料包的源地址是10.1.197.162,目的地址為61.135.150.65,該資料包所屬的協議是超文字傳輸通訊協定 (HTTP)(HTTP)。更詳細的資訊表明該資料包中含有一個HTTP的GET命令,要求下載starrtlog.js檔案到用戶端的Web瀏覽器。

圖4 用Ethereal分析資料包內容

圖4中間是協議樹,通過協議樹可以得到被截獲的資料包的更多資訊,如主機的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP連接埠號碼(Transmission Control Protocol),以及HTTP協議的具體內容(Hypertext Trnasfer Protocol)。通過擴充協議樹中的相應節點,可以得到該資料包中攜帶的更詳盡的資訊。

圖4最下邊是以十六制顯示的資料包的具體內容,這是被截獲的資料包在物理媒體上傳輸時的最終形式,當在協議樹中選中某行時,與其對應的十六進位代碼同樣會被選中,這樣就可以很方便地對各種協議的資料包進行分析。

Ethereal提供的圖形化使用者介面非常友好,管理員可以很方便地查看到每個資料包的詳細資料,協議樹及其對應的十六進位表示對分析每個資料包的目的很有協助,綜合使用Ethereal和Tcpdump能夠基本滿足網路系統管理員在Linux系統上的所有嗅探要示。

用EtherApe查看網路流量

EtherApe 也是一個圖形化的網路嗅探器。與Ehtereal不同,EtherApe通過驗證主機與主機之間的連結,圖形化地顯示網路目前所處的狀態。 EtherApe使用不同顏色的連線來表示位於不同主機之間的串連,而連線的粗細則表明主機間資料流量的大小。這些資訊都是即時變化的,因而能夠協助管理員隨時瞭解到網路中各部分流量的變化情況。

EtherApe的安裝

EhterApe支援Ethernet、FDDI和Token Ring等多種網路,能夠即時地從網路或檔案中讀取網路流量的變化情況。此外它還可以將網路流量資訊儲存下來,以便在之後需要時再顯示出來。在http: //www.sourceforge.net/projects/etherape/網站上可以下載到最新的EtherApe源碼包。下面以 Ethereal 0.8.2為例,講述如何安裝EtherApe(使用的作業系統是RedHat 8.0)。

首先下載最新的源碼包並將其解壓縮,代碼如下:


# cp etherape-0.8.2.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar xzvf etherape-0.8.2.tar.gz

EtherApe 使用的是GNOME這一圖形使用者介面庫。與Ethereal和Tcpdump一樣,它也使用pcap庫(libpcap)對網路上傳輸的資料包進行截獲和 過濾。在編譯EtherApe之前,應先確定所需的這些庫已經安裝好,因為這是編譯EtherApe時所必需的。如果這些庫已經安裝,就可以執行下面的命 令來編譯並安裝EtherApe:


# cd etherape-0.8.2
# ./configure
# make
# make install

用EtherApe分析網路流量

當編譯並安裝好EtherApe後,就可以執行“etherape”命令來啟動EtherApe。

當 用EtherApe截獲在網路上傳輸的資料包時,也需要先為其指定過濾規則,否則EthreApe將捕獲網路中的所有資料包。單擊工具列上的 “Pref.”按鈕,開啟“Preferences”對話方塊,在該對話方塊中的“Capture”屬性頁面中,可以找到用於設定過濾規則的“Capture filter”下拉框。由於採用的都是pcap庫,因此EtherApe過濾規則的設定與Tcpdump和Ethereal是相同的。

設定好過濾規則後,單擊工具列上的“Start”按鈕,就可以開始對網路中感興趣的資料包進行嗅探。EhterApe圖形化地顯示網路流量,圖5是當EtherApe處於Ethernet模式下時的網路流量圖。

圖5 EtherApe監測的Ethernet流量圖

EtherApe提供了Token Ring、FDDI、Ethernet、IP和TCP五種監聽模式。當處於Ethernet模式下時,EtherApe會截獲所有符合過濾規則的乙太網路資料包,但有時網路系統管理員可能只對IP資料包感興趣,這時可以將EtherApe切換到IP模式。單擊“Capture”菜單,選擇“Mode”功能表項目,然後再選擇相應的模式,就可以完成模式之間的切換。圖6是當EhterApe處於IP模式下時的網路流量圖。

圖6 EtherApe監測的IP流量圖

EtherApe能夠以圖形的方式顯示網路流量。使用者看到的是一個很直觀的用於表示網路上各主機間流量大小的圖,而不是單個的資料包,因而更容易從整體上把握整個網路的健全狀態,在定位網路故障時相對來說也變得更加容易。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.