【摘要】本文通過(guò)對(duì)主流轉(zhuǎn)包軟件所保存的pcap格式文件進(jìn)行解析統(tǒng)計(jì),從而對(duì)數(shù)據(jù)包進(jìn)行同步地分析和歸類(lèi),系統(tǒng)完成了數(shù)據(jù)包級(jí)和流級(jí)的流量指標(biāo)的統(tǒng)計(jì)和分析,包括TCP/IP各層協(xié)議分布、包長(zhǎng)度分布;開(kāi)發(fā)了一種針對(duì)PCAP文件格式的網(wǎng)絡(luò)數(shù)據(jù)包分析軟件,從而能夠在一定程度上幫助網(wǎng)絡(luò)管理人員及時(shí)地發(fā)現(xiàn)和排除網(wǎng)絡(luò)異常,提高了對(duì)網(wǎng)絡(luò)可靠性的監(jiān)控和保障能力。
【關(guān)鍵詞】pcap文件格式;數(shù)據(jù)包分析;流量統(tǒng)計(jì);網(wǎng)絡(luò)協(xié)議
1.引言
隨著網(wǎng)絡(luò)維護(hù)規(guī)模的加大,網(wǎng)絡(luò)技術(shù)的變化,網(wǎng)絡(luò)關(guān)鍵數(shù)據(jù)的采集也越來(lái)越困難。有時(shí)為了分析和采集數(shù)據(jù),必須能在異地同時(shí)地進(jìn)行采集,于是將協(xié)議分析儀的數(shù)據(jù)采集系統(tǒng)獨(dú)立開(kāi)來(lái),能安置在網(wǎng)絡(luò)的不同地方,由能控制多個(gè)采集器的協(xié)議分析儀平臺(tái)進(jìn)行管理和數(shù)據(jù)處理,這種應(yīng)用模式就誕生了分布式協(xié)議分析儀。這種分布式協(xié)議分析儀是未來(lái)網(wǎng)絡(luò)安全分析和研究的一個(gè)重要發(fā)展趨勢(shì)。網(wǎng)絡(luò)測(cè)量作為一種收集網(wǎng)絡(luò)運(yùn)行數(shù)據(jù)和分析網(wǎng)絡(luò)協(xié)議運(yùn)行狀態(tài)的重要手段之一,在幫助網(wǎng)絡(luò)管理人員分析網(wǎng)絡(luò)異常的原因方面發(fā)揮了重要的作用。
2.本文研究?jī)?nèi)容
本課題針對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和分析技術(shù)做了比較深入的闡述。設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Pcap的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)包捕獲和協(xié)議統(tǒng)計(jì)分析系統(tǒng)。該系統(tǒng)WinPcap網(wǎng)絡(luò)數(shù)據(jù)包捕獲機(jī)制,對(duì)流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行監(jiān)測(cè)和統(tǒng)計(jì)分析,系統(tǒng)提供了網(wǎng)絡(luò)數(shù)據(jù)包的抓取和分析功能。
本文研究與開(kāi)發(fā)一套用于中小規(guī)模網(wǎng)絡(luò)系統(tǒng)的網(wǎng)絡(luò)監(jiān)控軟件,重點(diǎn)考慮對(duì)網(wǎng)絡(luò)故障的分析功能,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于WinPcap的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)包捕獲和協(xié)議統(tǒng)計(jì)分析系統(tǒng)。該系統(tǒng)在RTFM流量測(cè)量框架體系結(jié)構(gòu)上,采用WinPcap網(wǎng)絡(luò)數(shù)據(jù)包捕獲機(jī)制,對(duì)流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行監(jiān)測(cè)和統(tǒng)計(jì)分析,并通過(guò)多線程技術(shù)和讀寫(xiě)緩沖技術(shù),解決了讀取緩沖區(qū)中數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)到來(lái)之間的速度差異:在連續(xù)地捕獲數(shù)據(jù)包的同時(shí),對(duì)數(shù)據(jù)包進(jìn)行同步地分析和歸類(lèi),并進(jìn)行應(yīng)用級(jí)處理。完成了數(shù)據(jù)包級(jí)和流級(jí)的流量指標(biāo),包括TCP/IP各層協(xié)議分布,包大小分布,前N名的IP主機(jī)和主機(jī)對(duì)分布等;并提供網(wǎng)絡(luò)運(yùn)行狀態(tài)的告警指示,可以根據(jù)網(wǎng)絡(luò)安全管理員設(shè)定的特征信息,對(duì)具有特征信息的數(shù)據(jù)包進(jìn)行分類(lèi)解析、還原和預(yù)警。系統(tǒng)使用了基于五元組的Flow結(jié)構(gòu),并加入了Hash算法,添加了對(duì)TopN主機(jī)進(jìn)行排序的數(shù)組,從而提高了檢索和監(jiān)測(cè)效率。有效地解決了目前根據(jù)RTFM實(shí)現(xiàn)的網(wǎng)絡(luò)測(cè)量系統(tǒng),如NeTraMet,存在功能有限、性能不高,并且配置麻煩的局限性。
3.軟件詳細(xì)設(shè)與計(jì)實(shí)現(xiàn)
3.1 軟件設(shè)計(jì)流程
軟件利用VC++與MFC技術(shù)設(shè)計(jì)一個(gè)基本的針對(duì)PCAP文件格式的網(wǎng)絡(luò)數(shù)據(jù)包分析軟件。界面采用MFC實(shí)現(xiàn)一個(gè)單文檔的程序,用戶區(qū)分為上下連個(gè)視圖,上面視圖是一個(gè)列表,顯示捕獲的數(shù)據(jù)包主要信息,信息內(nèi)容包括:時(shí)間、序號(hào)、長(zhǎng)度、源MAC、目的MAC、類(lèi)型、端口等內(nèi)容。下面視圖顯示數(shù)據(jù)包分析的時(shí)間以及數(shù)據(jù)保存的目錄等信息。點(diǎn)擊文件——打開(kāi),選擇一個(gè)事先保存好的pcap文件格式數(shù)據(jù)包如圖1所示:
3.2 網(wǎng)絡(luò)協(xié)議分析的總體流程
該模塊從緩沖區(qū)內(nèi)讀取數(shù)據(jù)包,首先對(duì)數(shù)據(jù)包進(jìn)行分解,然后按照網(wǎng)絡(luò)協(xié)議對(duì)數(shù)據(jù)包進(jìn)行解析。并以列表的形式實(shí)時(shí)顯示數(shù)據(jù)包的解析結(jié)果,包括數(shù)據(jù)報(bào)的包長(zhǎng)度、源IP、目的IP、端口、使用協(xié)議等相關(guān)信息。數(shù)據(jù)包分析顯示流程圖如2所示:
3.3 分析模塊的實(shí)現(xiàn)
被捕獲的數(shù)據(jù)只要經(jīng)過(guò)解析才能夠?qū)f(xié)議的分析提供有用的數(shù)據(jù)。本模塊就是對(duì)捕獲的數(shù)據(jù)包按照數(shù)據(jù)鏈路層(MAC)、網(wǎng)絡(luò)層(IP, ARP/RARP)、傳輸層(TCP, UDP, ICMP)和應(yīng)用層(HTTP等)的層次結(jié)構(gòu)自底向上進(jìn)行解析,并將解析結(jié)果顯示輸出。
4.結(jié)束語(yǔ)
本文研究與開(kāi)發(fā)一套用于中小規(guī)模網(wǎng)絡(luò)系統(tǒng)的網(wǎng)絡(luò)監(jiān)控軟件,重點(diǎn)考慮對(duì)網(wǎng)絡(luò)故障的分析功能。設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于WinPcap的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)包捕獲和協(xié)議統(tǒng)計(jì)分析系統(tǒng)。系統(tǒng)在RTFM流量測(cè)量框架體系結(jié)構(gòu)上,采用WinPcap網(wǎng)絡(luò)數(shù)據(jù)包捕獲機(jī)制,對(duì)流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行監(jiān)測(cè)和統(tǒng)計(jì)分析,并通過(guò)多線程技術(shù)和讀寫(xiě)緩沖技術(shù),解決了讀取緩沖區(qū)中數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)到來(lái)之間的速度差異;在連續(xù)地捕獲數(shù)據(jù)包的同時(shí),對(duì)數(shù)據(jù)包進(jìn)行同步地分析和歸類(lèi),并進(jìn)行應(yīng)用級(jí)處理。完成了數(shù)據(jù)包級(jí)和流級(jí)的流量指標(biāo),包括TCP/IP各層協(xié)議分布,包大小分布,前N名的IP主機(jī)和主機(jī)對(duì)分布等;并提供網(wǎng)絡(luò)運(yùn)行狀態(tài)的告警指示,可以根據(jù)網(wǎng)絡(luò)安全管理員設(shè)定的特征信息,對(duì)具有特征信息的數(shù)據(jù)包進(jìn)行分類(lèi)解析、還原和預(yù)警。
參考文獻(xiàn)
[1]謝鰓,張大方,文吉?jiǎng)?基于WinPcap的實(shí)時(shí)網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2006.
[2]WILLIAMSON C.Internet traffic measurement[M]. IEEE Internet Computing,2001,Vol.5(6):70-74.
[3]莊春興,彭奇志.基于WinPcap的網(wǎng)絡(luò)嗅探程序設(shè)計(jì)[M].計(jì)算機(jī)與現(xiàn)代化,2002.Vol.5:34-36.
[4]趙心宇,朱齊丹,朱達(dá)書(shū).應(yīng)用WinPcap捕獲網(wǎng)絡(luò)數(shù)據(jù)包[J].應(yīng)用科技,2004,Vol.31(11):29-31.
[5]循序漸進(jìn)學(xué)習(xí)使用WinPcap[J].中國(guó)協(xié)議分析網(wǎng).http://www.cnpafnet,2005.
[6]Charles Hornig.A Standard for the Transmission of IP Datagazns~EthemetNetworks[M].RFC894,1984.
[7]J.Postel,J.Reynolds.A Standard for the Transmission of 1P Datagrams over IEEE 802 Networks[M].RFC1042,198.
作者簡(jiǎn)介:
高凱(1981-),男,碩士,講師,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)安全、無(wú)限傳感器網(wǎng)絡(luò)等。
趙登攀(1975-),男,碩士,工程師,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)安全等。