基于winpcap的以太網(wǎng)數(shù)據(jù)分析系統(tǒng)_第1頁
基于winpcap的以太網(wǎng)數(shù)據(jù)分析系統(tǒng)_第2頁
基于winpcap的以太網(wǎng)數(shù)據(jù)分析系統(tǒng)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于winpcap的以太網(wǎng)數(shù)據(jù)分析系統(tǒng)

隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)規(guī)模的不斷擴大,異構(gòu)性和復(fù)雜性的不斷提高,網(wǎng)絡(luò)用戶的數(shù)量急劇增加。在這種情況下,我們面臨著如何提高網(wǎng)絡(luò)的服務(wù)質(zhì)量,優(yōu)化現(xiàn)有的網(wǎng)絡(luò)資源,為網(wǎng)絡(luò)用戶提供更安全、更可靠、更高效的使用環(huán)境,改善流量控制和管理體系等問題。本文利用WinPcap實現(xiàn)對網(wǎng)絡(luò)底層數(shù)據(jù)包的捕獲,對以太網(wǎng)幀凈載荷的十六進制數(shù)據(jù)分析。并給出網(wǎng)絡(luò)協(xié)議分析系統(tǒng)的設(shè)計與實現(xiàn)方法。1檢測系統(tǒng)的構(gòu)成本系統(tǒng)開發(fā)WinPcap(windowspacketcapture)是由意大利人FulvioRisso和LorisDegioanni提出并實現(xiàn)的。WinPcap是集成于Windows操作系統(tǒng)的設(shè)備驅(qū)動程序,它可以從網(wǎng)卡捕獲或者發(fā)送底層原始數(shù)據(jù),同時能夠過濾并且存儲數(shù)據(jù)包。它工作于驅(qū)動(Driver)層,能以很高的效率進行底層網(wǎng)絡(luò)操作。WinPcap的體系結(jié)構(gòu)如圖1所示,它包括3個部分。第一個模塊NPF(NetgroupPacketFilter)是一個虛擬設(shè)備驅(qū)動程序文件。功能是過濾數(shù)據(jù)包。第二個模塊packet.dll執(zhí)行如獲取適配器名稱、動態(tài)驅(qū)動器加載以及獲得主機掩碼及以太網(wǎng)沖突次數(shù)等低級操作。調(diào)用Packet.dll的程序可以運行在不同版本的Windows平臺上,而無需重新編譯。第三個模塊Wpcap.dll提供了一組功能強大的函數(shù),利用這些函數(shù),可以不去關(guān)心適配器和操作系統(tǒng)的類型。2苯二通網(wǎng)的本質(zhì)是信息捕獲系統(tǒng)以太網(wǎng)(Ethernet)具有共享介質(zhì)的特征,當(dāng)網(wǎng)絡(luò)適配器設(shè)置為監(jiān)聽模式(混雜模式,Promiscuous)時,由于采用以太網(wǎng)廣播信道爭用的方式,使得監(jiān)聽系統(tǒng)與正常通信的網(wǎng)絡(luò)能夠并聯(lián)連接,并可以捕獲任何一個在同一沖突域上傳輸?shù)臄?shù)據(jù)包。使得各個站點可以獲得其他站點發(fā)送的數(shù)據(jù)。運用這一原理使信息捕獲系統(tǒng)能夠攔截的我們所要的信息,這是捕獲數(shù)據(jù)包的物理基礎(chǔ)。以太網(wǎng)是一種總線型的網(wǎng)絡(luò),總線的特點是:當(dāng)一臺計算機發(fā)送數(shù)據(jù)時,總線上所有計算機都能檢測到這個數(shù)據(jù)。從邏輯上來看以太網(wǎng)是由一條總線和多個連接在總線上的站點所組成各個站點采用上面提到的CSMA/CD協(xié)議進行信道的爭用和共享。每個站點通過網(wǎng)卡來實現(xiàn)這種功能。一般網(wǎng)卡具有以下4種工作模式:廣播模式、多播模式、直播模式和混雜模式。網(wǎng)卡設(shè)置成混雜模式時,它將接收到的所有幀不作任何判斷直接交給上層處理程序?;谶@個原理來捕獲網(wǎng)絡(luò)中所有的數(shù)據(jù)包,實現(xiàn)網(wǎng)絡(luò)監(jiān)測和流量分析的。3系統(tǒng)的設(shè)計和實現(xiàn)3.1顯示設(shè)計模塊1)捕獲數(shù)據(jù)模塊,是設(shè)計本程序的關(guān)鍵,它主要包括:捕獲、過濾及保存功能。2)顯示設(shè)計模塊,主要包括:接收數(shù)據(jù)包的顯示、對各類數(shù)據(jù)包的統(tǒng)計顯示、對數(shù)據(jù)包協(xié)議分析的顯示功能。3)分析數(shù)據(jù)模塊,主要包括:對以太網(wǎng)的數(shù)據(jù)幀分層數(shù)據(jù)分析和對以太網(wǎng)幀凈載荷的十六進制數(shù)據(jù)分析功能。3.2科學(xué)添加兩種功能調(diào)用Packet.dll和Wpcap.dll中提供的API函數(shù)。WinPcap庫函數(shù)如下:1)pcap-findalledvs()函數(shù),實現(xiàn)獲取系統(tǒng)中所有網(wǎng)絡(luò)適配器列表的功能;2)pcap-open-live()函數(shù),實現(xiàn)把選擇的網(wǎng)卡設(shè)置為混雜模式以捕獲網(wǎng)絡(luò)數(shù)據(jù)的功能;3)pcap-setbuff()函數(shù),實現(xiàn)設(shè)置內(nèi)核緩沖區(qū)的功能;4)pcap-complice()、pcap-setfilter()函數(shù),實現(xiàn)編譯和設(shè)置過濾規(guī)則的功能;5)pcap-loop()函數(shù),實現(xiàn)循環(huán)捕獲網(wǎng)絡(luò)數(shù)據(jù)包;6)由packet-handler()回調(diào)函數(shù),實現(xiàn)解析數(shù)據(jù)包的功能;7)pcap-close()函數(shù),實現(xiàn)關(guān)閉WinPcap句柄的功能。3.3系統(tǒng)總體架構(gòu)明確應(yīng)用程序和WinPcap結(jié)構(gòu)之間的關(guān)系,合理地利用WinPcap,捕獲性能可以得到顯著提高。本系統(tǒng)從以下3方面提高數(shù)據(jù)包的捕獲性能:1)采用多線程的方法,主線程主要任務(wù):選擇網(wǎng)絡(luò)接口、設(shè)置分析過濾器、分析捕獲數(shù)據(jù)包。2)設(shè)置過濾規(guī)則,將所需要分析的數(shù)據(jù)包發(fā)送給協(xié)議分析模塊,這樣就提高系統(tǒng)的處理速度,提高捕獲性能,節(jié)省系統(tǒng)的開銷。3)讀寫緩沖的方法。緩沖區(qū)的大小直接影響數(shù)據(jù)的捕獲能力,WinPcap的內(nèi)核緩沖區(qū)默認值是1MB,每次系統(tǒng)調(diào)用中能從內(nèi)核復(fù)制到用戶區(qū)的最大數(shù)據(jù)量256kB。如果緩沖區(qū)較小,在一段時間內(nèi)中,當(dāng)系統(tǒng)讀取數(shù)據(jù)的速度低于驅(qū)動的捕獲速度時就會出現(xiàn)丟包。所以WinPcap在運行時可以對內(nèi)核級的緩沖和用戶級的緩沖進行合理的更改。本文簡述了WinPcap內(nèi)部結(jié)構(gòu)及實現(xiàn)原理等知識,并詳細分析提高捕獲性能方法。本系統(tǒng)選擇WindowsXP作系統(tǒng)平臺,利用VisualC++開發(fā),在設(shè)計過程中考慮到數(shù)據(jù)包捕獲性能的問題,極大的降低了丟包率,對系統(tǒng)整體進行優(yōu)化。設(shè)計新穎之處在于對數(shù)據(jù)鏈路層捕獲的數(shù)據(jù)包進行細致分析(即對以太網(wǎng)幀凈載荷的十六進制數(shù)據(jù)分析)。將捕獲的數(shù)據(jù)包按照各層網(wǎng)絡(luò)協(xié)議格式對數(shù)據(jù)進行分析,并解析數(shù)據(jù)信息的實際意義。通過對數(shù)據(jù)內(nèi)容的分析,了解數(shù)據(jù)包的安全性,對研究利用目前比較流行的以太網(wǎng)的缺陷、入侵檢測技術(shù)的缺陷:不能識別未知病毒、殺毒能力弱和TCP/IP協(xié)議服務(wù)的特征來截獲并篡改網(wǎng)絡(luò)中的IP數(shù)據(jù)報報頭和TCP段,以及網(wǎng)絡(luò)攻擊以拒絕服務(wù)攻擊居多,而拒絕服務(wù)攻擊大多數(shù)都與TCP相關(guān),因此,可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論