Ⅰ.協(xié)議分析用途
協(xié)議分析(Protocol Analysis)破镰,也稱作網(wǎng)絡(luò)分析(Network Analysis),是進(jìn)入網(wǎng)絡(luò)通信系統(tǒng)压储,捕獲穿行在網(wǎng)絡(luò)中的數(shù)據(jù)鲜漩,收集網(wǎng)絡(luò)統(tǒng)計信息,將數(shù)據(jù)包解碼為可閱讀形式的過程集惋。
本質(zhì)上講孕似,協(xié)議分析是在竊聽網(wǎng)絡(luò)通信,協(xié)議分析的同時刮刑,也在揭示不同類型的喉祭、有潛在價值的信息,甚至能夠破壞信息雷绢。
協(xié)議分析泛烙,需要用到協(xié)議分析器。協(xié)議分析器通常用于診斷網(wǎng)絡(luò)故障翘紊,分析器安裝在網(wǎng)絡(luò)上蔽氨,并配置相關(guān)文件,用來抓取存在問題的通信序列帆疟,也能通過讀取電纜系統(tǒng)中傳輸?shù)臄?shù)據(jù)包鹉究,識別出通信過程中存在的缺陷和錯誤。
例如踪宠,在我們?nèi)粘I钪凶耘猓绻鸚eb客戶端不能連接到指定的Web服務(wù)器上,協(xié)議分析器就可以用來捕獲它們之間的通信柳琢。通過查看通信的內(nèi)容就可以發(fā)現(xiàn)客戶端解析Web服務(wù)器IP地址的過程匿级,定位本地路由器的硬件地址蟋滴,查看提交給Web服務(wù)器的連接請求。
協(xié)議分析器也能用來測試網(wǎng)絡(luò)痘绎,通過偵聽不同尋常的通信津函,這種方式比較被動,只有當(dāng)通信真的出問題時才能偵測出來孤页。當(dāng)然尔苦,也可以選擇主動的方式來完成偵測,向網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)包行施,偵測某方面問題允坚。
比如,假設(shè)防火墻被配置為阻塞特定類型的數(shù)據(jù)流進(jìn)入本地網(wǎng)絡(luò)蛾号,為了確定這一功能是否正常實(shí)現(xiàn)稠项,可以有兩種方法。一種是協(xié)議分析器從防火墻后偵聽數(shù)據(jù)流鲜结,確定要被阻擋的數(shù)據(jù)流是否被轉(zhuǎn)發(fā)展运;另一種方法是,協(xié)議分析器向防火墻發(fā)送測試數(shù)據(jù)包精刷,以便確定某些不可到達(dá)的數(shù)據(jù)流是否會被防火墻轉(zhuǎn)發(fā)拗胜。
協(xié)議分析器還能夠被用于收集網(wǎng)絡(luò)性能的趨勢數(shù)據(jù)。大多數(shù)的分析器都有能力跟蹤網(wǎng)絡(luò)數(shù)據(jù)流的短期和長期趨勢變化怒允。常見的趨勢包含網(wǎng)絡(luò)利用率埂软、每秒鐘數(shù)據(jù)包的速率、數(shù)據(jù)包長度分布以及在用協(xié)議等纫事,我們可以利用這些信息跟蹤網(wǎng)絡(luò)隨時間發(fā)生的細(xì)微變化勘畔。
Ⅱ.協(xié)議分析器的基本要素
協(xié)議分析器一般要具有如下的一些要素:
·混雜模式的網(wǎng)卡和驅(qū)動程序
·包過濾器
·跟蹤緩沖區(qū)
·解碼功能
·警報器
·統(tǒng)計功能
①混雜模式的網(wǎng)卡和驅(qū)動程序
如要素圖所示,數(shù)據(jù)包從網(wǎng)絡(luò)(分析器使用網(wǎng)卡與之連接)進(jìn)入分析器系統(tǒng)丽惶。協(xié)議分析器所使用的網(wǎng)卡和驅(qū)動程序必須支持混雜模式操作(Promiscuous Mode Operation)咖杂。
運(yùn)行在混雜模式下的網(wǎng)卡能夠捕獲發(fā)送給其他設(shè)備的廣播數(shù)據(jù)包、多播數(shù)據(jù)包蚊夫、單播數(shù)據(jù)包和錯誤數(shù)據(jù)包诉字。
我們可以在與混雜模式網(wǎng)卡和驅(qū)動程序一起運(yùn)行的分析器能夠看到以太網(wǎng)沖突碎片(Ethernet collision fragment)、超長數(shù)據(jù)包知纷、超短數(shù)據(jù)包(超短包)和在非法邊界上結(jié)束的數(shù)據(jù)包壤圃。后面的這些類型的數(shù)據(jù),反映了傳輸錯誤琅轧,在正常情況下伍绳,非混雜模式的網(wǎng)卡會忽略這些數(shù)據(jù)。
以太網(wǎng)沖突碎片乍桂,是網(wǎng)絡(luò)上出現(xiàn)的一種竄改數(shù)據(jù)流冲杀。當(dāng)兩個數(shù)據(jù)包幾乎同時發(fā)送時效床,出現(xiàn)相互竄改,就會產(chǎn)生隨即混雜信號权谁。隨著數(shù)據(jù)流的增大剩檀,相互竄改的沖突出現(xiàn)的頻率增加。
超長數(shù)據(jù)包旺芽,是指數(shù)據(jù)包大谢铩(以字節(jié)為單位)超過了所用網(wǎng)絡(luò)的MTU(最大傳輸單元),表明網(wǎng)卡或驅(qū)動程序軟件存在某種類型的問題采章。
超短數(shù)據(jù)包运嗜,也叫超短包(Runt),不滿足最小數(shù)據(jù)包長度的要求悯舟,表明發(fā)生了某些潛在的硬件或驅(qū)動程序問題担租。
非法邊界結(jié)束的數(shù)據(jù)包,是指沒有正確結(jié)尾的數(shù)據(jù)包抵怎,可能是受到硬件或軟件問題的影響而被截斷奋救。
②包過濾器
包過濾器定義了協(xié)議分析器想要捕獲的數(shù)據(jù)包的類型。假設(shè)要抓取網(wǎng)絡(luò)中穿行的廣播(broadcast)類型數(shù)據(jù)包便贵,可以設(shè)置一個僅僅允許廣播數(shù)據(jù)包流入分析器的過濾器。
當(dāng)過濾器應(yīng)用到入站數(shù)據(jù)上時冗荸,通常稱為捕獲過濾器(Capture Filter)承璃,或者也可以叫作預(yù)過濾器(Pre-Filter)。
還可以把過濾器應(yīng)用到已經(jīng)捕獲的一組數(shù)據(jù)包上蚌本。與捕獲全部數(shù)據(jù)相比盔粹,這種方法可以創(chuàng)建更容易觀察的感興趣的數(shù)據(jù)包子集。
如果我們已經(jīng)設(shè)立了一個捕獲廣播數(shù)據(jù)包的過濾器程癌,并且已經(jīng)捕獲到了1000個廣播數(shù)據(jù)包舷嗡,那么就可以用第二個過濾器,稱為顯示過濾器(Display Filter)嵌莉,該過濾器以特定源地址為基準(zhǔn)进萄,構(gòu)造了一個廣播數(shù)據(jù)包的子集。該方法能夠把要觀察的數(shù)據(jù)包數(shù)量減少到一個合理水平锐峭。
一般情況下中鼠,都是基于各種數(shù)據(jù)包特征來設(shè)置過濾器:
·源數(shù)據(jù)鏈路地址
·目的數(shù)據(jù)鏈路地址
·源IP地址
·目的IP地址
·應(yīng)用程序或進(jìn)程
③跟蹤緩沖區(qū)
數(shù)據(jù)包流入到分析器的跟蹤緩沖區(qū)中,跟蹤緩沖區(qū)是一個用于保存從網(wǎng)絡(luò)上復(fù)制而來的數(shù)據(jù)包的區(qū)域沿癞,可以理解為這是一塊為分析器留出的內(nèi)存區(qū)域援雇。
大多數(shù)分析器都擁有一個默認(rèn)為4MB的跟蹤緩沖區(qū)。
④解碼功能
解碼操作可以用于已捕獲并保存在跟蹤緩沖區(qū)中的數(shù)據(jù)包椎扬,使得這些數(shù)據(jù)包以可讀方式展示惫搏,給出了數(shù)據(jù)包的字段并解釋其值具温。解碼其實(shí)就是數(shù)據(jù)包的翻譯工具。
解碼能夠分離數(shù)據(jù)包首部的所有字段筐赔,定義源IP地址和目的IP地址铣猩,說明數(shù)據(jù)包的用途。
⑤警報器
協(xié)議分析器都有一個配置的警報器川陆,表明非正常的網(wǎng)絡(luò)事件或錯誤剂习。
常見警報類型有四種:廣播風(fēng)暴、超過利用率閾值较沪、請求被拒絕和服務(wù)器關(guān)機(jī)鳞绕。
⑥統(tǒng)計功能
協(xié)議分析器可以顯示有關(guān)網(wǎng)絡(luò)性能的統(tǒng)計信息,我們可以通過這些統(tǒng)計信息識別網(wǎng)絡(luò)運(yùn)行中的細(xì)微變化尸曼,識別網(wǎng)絡(luò)模式的峰值突變们何。
Ⅲ.協(xié)議分析器的實(shí)際使用
協(xié)議分析器的功能非常強(qiáng)大。舉個實(shí)際例子控轿,我們?nèi)粘I钪凶畛S玫绞?b>交換網(wǎng)絡(luò)冤竹,即使用交換機(jī)連接到的網(wǎng)絡(luò)上,分析器在交換網(wǎng)絡(luò)上可以看到多播數(shù)據(jù)包茬射、廣播數(shù)據(jù)包鹦蠕、專門導(dǎo)向到分析器設(shè)備的數(shù)據(jù)包、發(fā)送到還沒有被端口識別的地址的初始數(shù)據(jù)包在抛。
對交換網(wǎng)絡(luò)進(jìn)行分析钟病,有三種基本方法:
①端口重定向(Port Redirection),交換機(jī)可以配置成將通過一個端口的數(shù)據(jù)包重定向(可以理解為復(fù)制)到另一個端口刚梭。把分析器放置到目標(biāo)端口肠阱,可以偵聽到所有相關(guān)端口的通信狀況。
這一過程被稱為端口跨越(Port Spanning)或端口鏡像(Port Mirroring)朴读。
②遠(yuǎn)程監(jiān)控(Remote Monitoring屹徘,RMOM),使用簡單網(wǎng)絡(luò)協(xié)議(SNMP衅金,Simple Network Management Protocol)在遠(yuǎn)程交換機(jī)上收集數(shù)據(jù)流數(shù)據(jù)噪伊,并把數(shù)據(jù)發(fā)送到管理設(shè)備,即分析器氮唯。
③集線器分出(Hubbing out/tab Device)酥宴,在服務(wù)器和交換機(jī)之間放置一個集線器,把分析器連接到集線器上您觉,就可以瀏覽到服務(wù)器上和從該服務(wù)器發(fā)出的所有數(shù)據(jù)流拙寡。
在一條網(wǎng)絡(luò)連接上,分支器(Tab)把某個交換端口的信號拆分琳水,使所有數(shù)據(jù)流都有一個備份進(jìn)入兩個端口肆糕,一個是目的端口般堆,另一個就是協(xié)議分析器的端口。也就是說诚啃,分支器可以吧所有接收(RX)和發(fā)送(TX)通信合成單個接收(RX)通道淮摔,把數(shù)據(jù)流送入分析器的端口。