揚(yáng)州萬(wàn)方電子技術(shù)有限責(zé)任公司 陶 婭 孫晏清 夏小麗
網(wǎng)絡(luò)通信由于其靈活、帶寬大、適應(yīng)性強(qiáng)的特點(diǎn)已在各行各業(yè)中廣泛使用,相較于串口、并口、CAN口通信,UDP點(diǎn)對(duì)點(diǎn)通信具有自帶協(xié)議、帶寬大、使用簡(jiǎn)單的特點(diǎn)。但實(shí)際場(chǎng)景中是多個(gè)設(shè)備、多個(gè)端口、多種協(xié)議、多個(gè)子網(wǎng)之間的復(fù)雜環(huán)境,其無(wú)連接、不可靠特性會(huì)因?yàn)閻毫拥木W(wǎng)絡(luò)環(huán)境而大幅降低通信質(zhì)量。為此在實(shí)際使用UDP點(diǎn)對(duì)點(diǎn)通信時(shí)應(yīng)在實(shí)際的使用環(huán)境中進(jìn)行大量的測(cè)試分析,從而修改、優(yōu)化整個(gè)網(wǎng)絡(luò)拓?fù)?,最終達(dá)到在最劣情況下滿足應(yīng)用業(yè)務(wù)需求的目標(biāo)。
點(diǎn)對(duì)點(diǎn)是終端和終端之間的直接通信,而終端的形式和系統(tǒng)種類都比較豐富,為此一種跨平臺(tái)、兼容好的測(cè)試軟件是測(cè)試業(yè)務(wù)開(kāi)展的重要手段。Wireshark是一款開(kāi)源、跨平臺(tái)、穩(wěn)定的專業(yè)網(wǎng)絡(luò)數(shù)據(jù)抓包和分析工具,經(jīng)過(guò)實(shí)際應(yīng)用的檢驗(yàn),能抓取和分析多種網(wǎng)絡(luò)數(shù)據(jù),可滿足點(diǎn)對(duì)點(diǎn)間UDP傳輸通信性能的分析需求。
目前終端可能出現(xiàn)的形式有桌面式、服務(wù)器式、嵌入式,可能的連接方式為有線/無(wú)線直連、有線/無(wú)線中轉(zhuǎn)連接,可能運(yùn)行的操作系統(tǒng)可能為Windows、MAC OS、Linux和UNIX、安卓等,因此面對(duì)終端形式、連接方式、運(yùn)行系統(tǒng)多樣化的現(xiàn)狀,選取一種體驗(yàn)統(tǒng)一、性能優(yōu)良、功能豐富的網(wǎng)絡(luò)數(shù)據(jù)抓取分析軟件就顯得尤為重要。
收集、分析了當(dāng)前市面上可查、通用的網(wǎng)絡(luò)數(shù)據(jù)抓取分析軟件,從跨平臺(tái)、費(fèi)用、分析能力三個(gè)角度進(jìn)行分析,為數(shù)據(jù)抓取分析軟件的選型提供支撐。收集到的軟件及其分析如表1所示。
表1 各網(wǎng)絡(luò)分析工具多維度分析
通過(guò)表1的維度分析,可知選取Wireshark作為數(shù)據(jù)抓取和分析軟件是。
Wireshark主要用于一般分析任務(wù)、故障任務(wù)、安全分析任務(wù)、應(yīng)用程序分析任務(wù),其功能強(qiáng)大,滿足點(diǎn)對(duì)點(diǎn)的UDP性能測(cè)試需求。
(1)一般分析任務(wù)可用于:
A.找出一個(gè)網(wǎng)絡(luò)內(nèi)發(fā)送數(shù)據(jù)包最多的終端;
B.查看終端使用的程序;
C.抓取正常的網(wǎng)絡(luò)通信數(shù)據(jù);
D.驗(yàn)證特有的網(wǎng)絡(luò)操作;
E.監(jiān)測(cè)嘗試連接無(wú)線網(wǎng)絡(luò)的終端;
F.捕獲多個(gè)子網(wǎng)絡(luò)的數(shù)據(jù);
G.實(shí)施無(wú)人值守?cái)?shù)據(jù)捕獲。
(2)故障任務(wù)分析可用于:
A.創(chuàng)建自定義的故障分析環(huán)境;
B.確定路徑、客戶端和服務(wù)延遲;
C.檢查應(yīng)用程序錯(cuò)誤相應(yīng);
D.可視化網(wǎng)絡(luò)問(wèn)題;
E.確定重載緩沖區(qū);
F.找出重復(fù)IP;
G.確定WLAN強(qiáng)度;
H.確定程序的網(wǎng)絡(luò)片段。
(3)安全分析的任務(wù)可用于:
A.創(chuàng)建網(wǎng)絡(luò)取證的自定義分析環(huán)境;
B.檢查使用非標(biāo)準(zhǔn)端口的應(yīng)用程序;
C.確定映射遠(yuǎn)程目標(biāo)地址;
D.檢查惡意畸形幀;
E.找出攻擊簽名的關(guān)鍵因素。
(4)應(yīng)用程序分析任務(wù)可用于:
A.分析應(yīng)用程序的協(xié)議工作狀態(tài);
B.統(tǒng)計(jì)應(yīng)用程序的帶寬使用情況。
典型的網(wǎng)絡(luò)場(chǎng)景為直連、有交換無(wú)路由、有交換有路由,直連多用于對(duì)象始終確定的情況;有交換無(wú)路由多用于同一子網(wǎng)內(nèi)的通信;有交換有路由多用于跨子網(wǎng)間的通信。典型的直連場(chǎng)景如圖1所示,有交換無(wú)路由的場(chǎng)景如圖2所示,有交換有路由的場(chǎng)景如圖3所示。
圖1 典型直連網(wǎng)絡(luò)場(chǎng)景
圖2 典型有交換無(wú)路由網(wǎng)絡(luò)場(chǎng)景
圖3 典型有交換有路由網(wǎng)絡(luò)場(chǎng)景
圖4 基于wireshark的測(cè)試流程
從圖1、2、3可以看出可以在能安裝wireshark的終端上安裝,針對(duì)不能安裝的終端可以采取外接交換機(jī)的方式進(jìn)行監(jiān)測(cè)。在有外部交換機(jī)的基礎(chǔ)上可以采用ARP欺騙或者端口映射的方式進(jìn)行監(jiān)測(cè),ARP欺騙利用MAC地址欺騙,能夠使交換機(jī)認(rèn)為存在兩個(gè)符合目標(biāo)的終端,從而達(dá)到復(fù)制數(shù)據(jù)流的目的;端口映射需要交換機(jī)的支持,通過(guò)對(duì)交換機(jī)的配置能夠使交換機(jī)將待監(jiān)測(cè)的數(shù)據(jù)流進(jìn)行相同復(fù)制后傳給指定的能夠安裝wireshark的終端,從而達(dá)到進(jìn)行監(jiān)測(cè)的目的。
綜上,使用wireshark進(jìn)行數(shù)據(jù)捕捉及分析時(shí),應(yīng)首先分析整個(gè)系統(tǒng)的網(wǎng)絡(luò)拓?fù)浼敖K端系統(tǒng),在能夠安裝wireshark的終端安裝軟件進(jìn)行捕捉及分析,若該終端不能安裝軟件,則利用交換機(jī)進(jìn)行終端數(shù)據(jù)流的鏡像捕獲,從而達(dá)到分析的目的。基于wireshark的測(cè)試流程如圖4所示。
通信性能測(cè)試首要是通過(guò)網(wǎng)卡過(guò)濾確定需要捕獲的數(shù)據(jù)流,以便于分析,否則多個(gè)端口、多種協(xié)議會(huì)影響實(shí)際的判斷,然后根據(jù)需求進(jìn)行顯示過(guò)濾,凸顯需要分析的數(shù)據(jù)幀,然后根據(jù)需求進(jìn)行統(tǒng)計(jì)分析,最終完成通信性能分析。
(1)網(wǎng)卡過(guò)濾操作
網(wǎng)卡過(guò)濾也叫捕獲過(guò)濾,是網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過(guò)的第一層過(guò)濾器。捕獲過(guò)濾首先應(yīng)確定捕獲的網(wǎng)卡,然后根據(jù)伯克利數(shù)據(jù)包過(guò)濾器語(yǔ)法進(jìn)行過(guò)濾語(yǔ)句編寫(xiě)。假設(shè)需捕獲192.168.1.15中端口為50001端口的UDP數(shù)據(jù),則捕獲語(yǔ)句為:host 192.168.1. 15 and udp port 5001。
(2)幀間時(shí)延顯示過(guò)濾操作
Udp數(shù)據(jù)的幀間時(shí)延是通信性能考核的重要指標(biāo),對(duì)其進(jìn)行分析需要不僅需要進(jìn)行顯示過(guò)濾的編寫(xiě),還需要進(jìn)行幀顯示時(shí)間格式的設(shè)置,通過(guò)將時(shí)間顯示格式設(shè)置為自上一個(gè)顯示分組經(jīng)過(guò)的秒數(shù),則會(huì)出現(xiàn)幀間間隔,如果此時(shí)需要測(cè)試時(shí)延指標(biāo),則可以使用伯克利數(shù)據(jù)包過(guò)濾器語(yǔ)法進(jìn)行顯示過(guò)濾語(yǔ)句的編寫(xiě),如周期幀時(shí)延不得超過(guò)40ms,則過(guò)濾語(yǔ)句為frame.time_delta>0.040。
綜上,對(duì)UDP點(diǎn)對(duì)點(diǎn)通信的測(cè)試主要依賴捕獲過(guò)濾及顯示過(guò)濾,通過(guò)編寫(xiě)過(guò)濾語(yǔ)句進(jìn)行所需數(shù)據(jù)流的篩選,進(jìn)而完成通信性能測(cè)試。
UDP點(diǎn)對(duì)點(diǎn)通信性能因?yàn)閺?fù)雜的終端形式、連接方式、操作系統(tǒng)及復(fù)雜的網(wǎng)絡(luò)環(huán)境而波動(dòng),為評(píng)估和優(yōu)化通信質(zhì)量,介紹了wireshark的功能和優(yōu)勢(shì),通過(guò)分析典型UDP通信場(chǎng)景及通用測(cè)試方法為實(shí)際測(cè)試提供參考,分析了wireshark進(jìn)行測(cè)試的基本步驟即捕獲過(guò)濾和顯示過(guò)濾再配合其他功能完成性能測(cè)試。為UDP點(diǎn)對(duì)點(diǎn)的測(cè)試提供支撐,為其他網(wǎng)絡(luò)數(shù)據(jù)的捕獲及分析提供參考。