利用WinPcap技術(shù)捕獲數(shù)據(jù)包_第1頁(yè)
利用WinPcap技術(shù)捕獲數(shù)據(jù)包_第2頁(yè)
利用WinPcap技術(shù)捕獲數(shù)據(jù)包_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、利用WinPcap技術(shù)捕獲數(shù)據(jù)包前言 隨著網(wǎng)絡(luò)入侵的不斷發(fā)展,網(wǎng)絡(luò)安全變得越來(lái)越重要,于是網(wǎng)絡(luò)入侵取證 系統(tǒng)的研究也變得日益重要。在網(wǎng)絡(luò)入侵取證系統(tǒng)中,對(duì)網(wǎng)絡(luò)上傳送的數(shù)據(jù)包進(jìn) 行有效的監(jiān)聽(tīng)即捕獲包是目前取證的關(guān)鍵技術(shù),只有進(jìn)行高效的數(shù)據(jù)包捕獲,網(wǎng)絡(luò)管理員才能對(duì)所捕獲的數(shù)據(jù)進(jìn)行一系列的分前言隨著網(wǎng)絡(luò)入侵的不斷發(fā)展,網(wǎng)絡(luò)安全變得越來(lái)越重要,于是網(wǎng)絡(luò)入侵取證系 統(tǒng)的研究也變得日益重要。在網(wǎng)絡(luò)入侵取證系統(tǒng)中,對(duì)網(wǎng)絡(luò)上傳送的數(shù)據(jù)包進(jìn)行 有效的監(jiān)聽(tīng)即捕獲包是目前取證的關(guān)鍵技術(shù),只有進(jìn)行高效的數(shù)據(jù)包捕獲,網(wǎng)絡(luò)管理員才能對(duì)所捕獲的數(shù)據(jù)進(jìn)行一系列的分析,從而進(jìn)行可靠的網(wǎng)絡(luò)安全管理。1 win pcap 簡(jiǎn)介Wi

2、nPcap是由伯克利分組捕獲庫(kù)派生而來(lái)的分組捕獲庫(kù),它是在 Win dows操作平臺(tái)上來(lái)實(shí)現(xiàn)對(duì)底層包的截取過(guò)濾。Win Pcap為用戶級(jí)的數(shù)據(jù)包提供了 Windows下的一個(gè)平臺(tái) 。WinPcap是BPF模型和Libpcap函數(shù)庫(kù) 在Windows平臺(tái)下網(wǎng)絡(luò)數(shù)據(jù)包捕獲和網(wǎng)絡(luò)狀態(tài)分析的一種體系結(jié)構(gòu),這個(gè)體系 結(jié)構(gòu)是由一個(gè)核心的包過(guò)濾驅(qū)動(dòng)程序,一個(gè)底層的動(dòng)態(tài)連接庫(kù)Packet.dll和一個(gè) 高層的獨(dú)立于系統(tǒng)的函數(shù)庫(kù)Libpcap組成。底層的包捕獲驅(qū)動(dòng)程序?qū)嶋H為一個(gè)協(xié) 議網(wǎng)絡(luò)驅(qū)動(dòng)程序,通過(guò)對(duì) NDIS中函數(shù)的調(diào)用為 Win95、Win98、WinNT、 和Win2000提供一類似于UNIX系統(tǒng)下Be

3、rkeley Packet Filter的捕獲和發(fā)送原 始數(shù)據(jù)包的能力。Packet.dll是對(duì)這個(gè)BPF驅(qū)動(dòng)程序進(jìn)行訪問(wèn)的API接口,同時(shí) 它有一套符合Libpcap接口( UNIX下的捕獲函數(shù)庫(kù))的函數(shù)庫(kù)。WinPcap的結(jié)構(gòu)圖如圖1。WinPcap包括三個(gè)部分:第一個(gè)模塊 NPF(Netgroup Packet Filter),是一個(gè) 虛擬設(shè)備驅(qū)動(dòng)程序文件。它的功能是過(guò)濾數(shù)據(jù)包,并把這些數(shù)據(jù)包原封不動(dòng)地傳 給用戶態(tài)模塊,這個(gè)過(guò)程中包括了一些操作系統(tǒng)特有的代碼。第二個(gè)模塊 packet.dll為win32平臺(tái)提供了一個(gè)公共的接口。不同版本的 Windows系統(tǒng)都有 自己的內(nèi)核模塊和用戶層模

4、塊。Packet.dll用于解決這些不同。調(diào)用Packet.dll的程序可以運(yùn)行在不同版本的Windows平臺(tái)上,而無(wú)需重新編譯。第三個(gè)模塊Wpcap.dll是不依賴于操作系統(tǒng)的。它提供了更加高層、抽象的函數(shù)。packet.dll 和 Wpcap.dll: packet.dll 直接映射了內(nèi)核的調(diào)用。Wpcap.dll 提供了更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用。WinPcap的優(yōu)勢(shì)提供了一套標(biāo)準(zhǔn)的抓 包接口,與libpcap兼容,可使得原來(lái)許多UNIX平臺(tái)下的網(wǎng)絡(luò)分析工具快速移 植過(guò)來(lái)便于開(kāi)發(fā)各種網(wǎng)絡(luò)分析工具,充分考慮了各種性能和效率的優(yōu)化,包括對(duì) 于NPF內(nèi)核層次上的過(guò)濾器支持,支持內(nèi)核態(tài)的統(tǒng)

5、計(jì)模式,提供了發(fā)送數(shù)據(jù)包 的能力。t2 PCUjI dllMG Driver(NDI & 3.0 or ntgher;Ussrlf?¥MUiutr 亡®<! Mpmtortng仁PC«» IQ 皿hPFNaiwrlc T彌cmw promoM lacK&Ufttr uod tUmf eodie Can io WinPapK*rn«-IBMfteripacks LmiKtrnclGulfeiZ31MUIUI工Bt«r3PSKkQt網(wǎng)卡的缺省工作模式包含廣播模式和直接模式,即它只接收廣播幀和發(fā)給自己的幀。如果采用混雜

6、模式,一個(gè)站點(diǎn)的網(wǎng)卡將接受同一網(wǎng)絡(luò)內(nèi)所有站點(diǎn)所發(fā)送的數(shù) 據(jù)包這樣就可以到達(dá)對(duì)于網(wǎng)絡(luò)信息監(jiān)視捕獲的目的。3、在windows情況下捕獲數(shù)據(jù)包的結(jié)構(gòu)圖2捕獲數(shù)據(jù)包的結(jié)構(gòu)圖Wndows下捕獲數(shù)據(jù)包的結(jié)構(gòu)如圖2,其中NDIS及其特點(diǎn)是:NDIS(Network Driver In terface Specificatio n)是 Microsoft 和 3Com 公司 聯(lián)合制定的網(wǎng)絡(luò)驅(qū)動(dòng)規(guī)范,并提供了大量的操作函數(shù)。它為上層的協(xié)議驅(qū)動(dòng)提供 服務(wù),屏蔽了下層各種網(wǎng)卡的差別。NDIS向上支持多種網(wǎng)絡(luò)協(xié)議,比如TCP/IP、 NWLink IPX/SPX、NETBEUI等,向下支持不同廠家生產(chǎn)的多種網(wǎng)卡。N

7、DIS還支持多種工作模式,支持多處理器,提供一個(gè)完備的NDIS庫(kù)(Library)。但庫(kù)中所提供的各個(gè)函數(shù)都是工作在核心模式下的,用戶不宜直接操作,這就需要尋 找另外的接口。NDIS驅(qū)動(dòng)程序的結(jié)構(gòu)如圖3。4、利用winpcap進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過(guò)濾的設(shè)計(jì)步驟1) 打開(kāi)網(wǎng)卡,并設(shè)為混雜模式。2) 回調(diào)函數(shù)Network Tap在得到監(jiān)聽(tīng)命令后,從網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序處收集數(shù) 據(jù)包把監(jiān)聽(tīng)到的數(shù)據(jù)包負(fù)責(zé)傳送給過(guò)濾程序。3) 當(dāng)Packet filter監(jiān)聽(tīng)到有數(shù)據(jù)包到達(dá)時(shí),NDIS中間驅(qū)動(dòng)程序首先調(diào)用分組 驅(qū)動(dòng)程序,該程序?qū)?shù)據(jù)傳遞給每一個(gè)參與進(jìn)程的分組過(guò)濾程序。4)然后由Packet filter

8、過(guò)濾程序決定哪些數(shù)據(jù)包應(yīng)該丟棄,哪些數(shù)據(jù)包應(yīng)該接 收,是否需要將接收到的數(shù)據(jù)拷貝到相應(yīng)的應(yīng)用程序。5)通過(guò)分組過(guò)濾器后,將數(shù)據(jù)未過(guò)濾掉的數(shù)據(jù)包提交給核心緩沖區(qū)。然后等待 系統(tǒng)緩沖區(qū)滿后,再將數(shù)據(jù)包拷貝到用戶緩沖區(qū)。監(jiān)聽(tīng)程序可以直接從用戶緩沖 區(qū)中讀取捕獲的數(shù)據(jù)包。6)關(guān)閉網(wǎng)卡。*4rtWQfK2、網(wǎng)絡(luò)數(shù)據(jù)包捕獲的原理以太網(wǎng)(Ethernet)具有共享介質(zhì)的特征,信息是以明文的形式在網(wǎng)絡(luò)上傳 輸,當(dāng)網(wǎng)絡(luò)適配器設(shè)置為監(jiān)聽(tīng)模式(混雜模式,Promiscuous )時(shí),由于采用以太網(wǎng)廣播信道爭(zhēng)用的方式,使得監(jiān)聽(tīng)系統(tǒng)與正常通信的網(wǎng)絡(luò)能夠并聯(lián)連接,并可以捕獲任何一個(gè)在同一沖突域上傳輸?shù)臄?shù)據(jù)包。IEEE80

9、2.3標(biāo)準(zhǔn)的以太網(wǎng)采用的 是持續(xù)CSMA的方式,正是由于以太網(wǎng)采用這種廣播信道爭(zhēng)用的方式,使得各 個(gè)站點(diǎn)可以獲得其他站點(diǎn)發(fā)送的數(shù)據(jù)。運(yùn)用這一原理使信息捕獲系統(tǒng)能夠攔截的 我們所要的信息,這是捕獲數(shù)據(jù)包的物理基礎(chǔ)。以太網(wǎng)是一種總線型的網(wǎng)絡(luò),從邏輯上來(lái)看是由一條總線和多個(gè)連接在總線上的 站點(diǎn)所組成各個(gè)站點(diǎn)采用上面提到的CSMA/CD協(xié)議進(jìn)行信道的爭(zhēng)用和共享。每個(gè)站點(diǎn)(這里特指計(jì)算機(jī)通過(guò)的接口卡) 網(wǎng)卡來(lái)實(shí)現(xiàn)這種功能。網(wǎng)卡主要的工 作是完成對(duì)于總線當(dāng)前狀態(tài)的探測(cè),確定是否進(jìn)行數(shù)據(jù)的傳送,判斷每個(gè)物理數(shù) 據(jù)幀目的地是否為本站地址,如果不匹配,則說(shuō)明不是發(fā)送到本站的而將它丟棄。 如果是的話,接收該數(shù)據(jù)幀,進(jìn)行物理數(shù)據(jù)幀的CRC校驗(yàn),然后將數(shù)據(jù)幀提交給LLC子層。網(wǎng)卡具有如下的幾種工作模式:1)廣播模式(Broad Cast Model):它的物理地址(MAC)地址是0Xffffff的幀 為廣播幀,工作在廣播模式的網(wǎng)卡接收廣播幀。2)多播傳送(MultiCast Model ):多播傳送地址作為目的物理地址的幀可以被 組內(nèi)的其它主機(jī)同時(shí)接收,而組外主機(jī)卻接收不到。但是,如果將網(wǎng)卡設(shè)置為多

溫馨提示

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

評(píng)論

0/150

提交評(píng)論