借助sniffer診斷Linux網絡故障(一)
發表于:2007-05-26來源:作者:點擊數:
標簽:
上次介紹了嗅探器的基本原理,以及如何用Tcpdump來截獲 網絡 上的數據包。但Tcpdump只是一個命令行方式下的網絡嗅探器,雖然功能強大,可分析起數據包來卻不是很方便。好在 Linux 下還有一些具有良好GUI界面的嗅探器可以借助。Ethereal和EtherApe就是其中的
上次介紹了嗅探器的基本原理,以及如何用Tcpdump來截獲網絡上的數據包。但Tcpdump只是一個命令行方式下的網絡嗅探器,雖然功能強大,可分析起數據包來卻不是很方便。好在Linux下還有一些具有良好GUI界面的嗅探器可以借助。Ethereal和EtherApe就是其中的佼佼者。有了Tcpdump的基礎,再使用這兩個嗅探器就感覺很輕松。
用Ethereal分析協議數據包
Ethereal是一個圖形用戶接口(GUI)的網絡嗅探器,能夠完成與Tcpdump相同的功能,但操作界面要友好很多。Ehtereal和Tcpdump都依賴于pcap庫(libpcap),因此兩者在許多方面非常相似(如都使用相同的過濾規則和關鍵字)。Ethereal和其它圖形化的網絡嗅探器都使用相同的界面模式,如果能熟練地使用Ethereal,那么其它圖形用戶界面的嗅探器基本都可以操作。
Ethereal的安裝
在http://www.ethereal.com網站上可以下載到最新的Ethereal源碼包。下面以Ethereal0.9.9為例,講述如何安裝Ethereal,此處使用的操作系統是RedHat8.0。
首先下載最新的源碼包,并將其解壓縮:
#cpethereal-0.9.9.tar.bz2/usr/local/src/
#cd/usr/local/src/
#bzip2-dethereal-0.9.9.tar.bz2
#tarxvfethereal-0.9.9.tar
同Tcpdump一樣,在編譯Ethereal之前應先確定已經安裝pcap庫(libpcap),這是編譯Ethereal時所必需的。如果該庫已經安裝,就可以執行下面的命令來編譯并安裝Ethereal:
#cdethereal-0.9.9
#./configure
#make
#makeinstall
設置Ethereal的過濾規則
當編譯并安裝好Ethereal后,就可以執行“ethereal”命令來啟動Ethereal。在用Ethereal截獲數據包之前,應該為其設置相應的過濾規則,可以只捕獲感興趣的數據包。Ethereal使用與Tcpdump相似的過濾規則,并且可以很方便地存儲已經設置好的過濾規則。要為Ethereal配置過濾規則,首先單擊“Edit”選單,然后選擇“CaptureFilters...”菜單項,打開“EditCaptureFilterList”對話框(如圖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的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能夠以圖形的方式顯示網絡流量。用戶看到的是一個很直觀的用于表示網絡上各主機間流量大小的圖,而不是單個的數據包,因而更容易從整體上把握整個網絡的運行狀況,在定位網絡故障時相對來說也變得更加容易。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|