常見的包捕獲機制研究_第1頁
常見的包捕獲機制研究_第2頁
常見的包捕獲機制研究_第3頁
常見的包捕獲機制研究_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、常見的包捕獲機制研究摘要:包過濾機制是對所捕獲到的數(shù)據(jù)包根據(jù)用戶的要求進展挑選,最終只把滿足過濾條件的數(shù)據(jù)包傳遞給用戶程序。重點對兩種常見的包捕獲機制進展了分析。關(guān)鍵詞:包捕獲;bpf;npf包捕獲機制是依賴于操作系統(tǒng)的,從廣義的角度上看,一個包捕獲機制包含三個主要部分:最底層是針對特定操作系統(tǒng)的包捕獲機制,最高層是針對用戶程序的接口,第三部分是包過濾機制。不同的操作系統(tǒng)實現(xiàn)的底層包捕獲機制可能是不一樣的,但從形式上看大同小異。數(shù)據(jù)包常規(guī)的傳輸途徑依次為網(wǎng)卡、設(shè)備驅(qū)動層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、最后到達應(yīng)用程序。而包捕獲機制是在數(shù)據(jù)鏈路層增加一個旁路處理,對發(fā)送和接收到的數(shù)據(jù)包做過濾、緩沖

2、等相關(guān)處理,最后直接傳遞到應(yīng)用程序。1常見的包捕獲機制不同的操作系統(tǒng)上有不同的包捕獲機制:suns系統(tǒng)中有nit接口;在de的uhrix環(huán)境下有uhrixpaketfilter;在sii的irix中有snp;linux系統(tǒng)為用戶提供了一種工作在數(shù)據(jù)鏈路層的套接字skpaket;bsdunix系統(tǒng)下的bpf(bsdpaketfilter);在inds平臺上,近幾年也陸續(xù)有多種捕獲應(yīng)用工具面世,如netnnapi,pausa等,與bpf不同的是,這些產(chǎn)品是商業(yè)性質(zhì)的。inpap那么是ind平臺上為數(shù)不多的功能強大且可免費獲得的包捕獲接口軟件之一,來源于bsd的網(wǎng)絡(luò)數(shù)據(jù)包過濾器npf是inpap的核

3、心部分。bpf和npf是效率較高、應(yīng)用廣泛的包捕獲機制,在下一節(jié)的包捕獲過濾模型中將對其進展詳細(xì)介紹,常用的包捕獲機制如下表所示:2包捕獲過濾模型通常,網(wǎng)絡(luò)信息中會存在假設(shè)干用戶不關(guān)心的數(shù)據(jù),或者稱為垃圾數(shù)據(jù),假設(shè)此所占比重較大,將嚴(yán)重影響捕包系統(tǒng)的工作效率,造成系統(tǒng)丟包。為理解決此問題,人們引入了包過濾機制,包過濾機制在包捕獲機制中占有重要的地位。實際上在理論研究和實際應(yīng)用中,包捕獲和包過濾從語意上并沒有嚴(yán)格的區(qū)分,關(guān)鍵在于認(rèn)識到捕獲數(shù)據(jù)包必然有過濾操作。unix和inds系統(tǒng)下的包捕獲過濾機制分別是bpf和npf,由于這樣基于軟件的數(shù)據(jù)包捕獲機制便于發(fā)布且靈敏性強,晉級方便,因此,許多提供

4、網(wǎng)絡(luò)監(jiān)視和分析的專業(yè)軟件都是使用這種方式來實現(xiàn)的。我們之所以研究bpf和npf的捕獲過濾模型,就是為了通過深化地理解和運用模型的工作機制進展數(shù)據(jù)包的采集和過濾,從而開發(fā)出高效可靠的網(wǎng)絡(luò)協(xié)議分析系統(tǒng)。下面將詳細(xì)介紹這兩種機制的參考模型。2.1bpf參考模型bpf(berkeleypaketfilter)是基于bsd系統(tǒng)的包過濾模型,它使用了新的基于存放器的過濾算法,效率比舊的算法進步了20倍,它的緩存機制對整體效率的進步有很大作用。bpf有兩個主要部件,網(wǎng)絡(luò)包監(jiān)視(netrktap)和網(wǎng)絡(luò)包過濾(paketfilter)。netrktap從網(wǎng)絡(luò)設(shè)備驅(qū)動程序中搜集數(shù)據(jù)拷貝并轉(zhuǎn)發(fā)給過濾器。過濾器決定

5、是否接收該數(shù)據(jù)包,以及接收該復(fù)制數(shù)據(jù)包的哪些部分(slie技術(shù))。bpf過濾器的過濾功能是通過虛擬機(pseudahine)執(zhí)行過濾程序來實現(xiàn)的。過濾程序(filterprgra)實際上是一組過濾規(guī)那么。過濾規(guī)那么由用戶定義,以決定是否接收數(shù)據(jù)包和需要接收多少數(shù)據(jù)。過濾過程可描繪如下:當(dāng)數(shù)據(jù)包到達網(wǎng)絡(luò)接口時,鏈路層驅(qū)動程序?qū)⑵涮峤坏较到y(tǒng)協(xié)議棧;假設(shè)bpf正在此接口監(jiān)聽,驅(qū)動程序?qū)⑹紫日{(diào)用bpf,bpf將數(shù)據(jù)包發(fā)送給過濾器,過濾器對數(shù)據(jù)包進展過濾,并將數(shù)據(jù)提交給過濾器關(guān)聯(lián)的上層應(yīng)用程序;然后鏈路層驅(qū)動將重新獲得控制權(quán),將數(shù)據(jù)包提交給上層的系統(tǒng)協(xié)議棧處理。系統(tǒng)主要由三部分組成:netrktap,b

6、pf和libpap。netrktap監(jiān)視共享網(wǎng)絡(luò)中的所有包,bpf用過濾條件匹配所有由netrktap監(jiān)視到的包,假設(shè)匹配成功那么將之從網(wǎng)卡驅(qū)動的緩沖區(qū)中復(fù)制到核心緩沖區(qū)。libpap是一個系統(tǒng)無關(guān)、采用分組捕獲機制的分組捕獲函數(shù)庫,用于訪問數(shù)據(jù)鏈路層。這個庫為不同的平臺提供了一致的編程接口,在安裝了libpap的平臺上,以libpap為接口寫的程序、應(yīng)用,可以自由的跨平臺使用。大多數(shù)監(jiān)聽程序都使用它和內(nèi)核部分進展通信。2.2npf參考模型inpap是針對in32平臺上的抓包和網(wǎng)絡(luò)分析的一個架構(gòu),npf那么是inpap的重要組成部分之一。npf的主要思想就是來源于unix中的bpf,它的設(shè)計目

7、的是要為in32平臺提供一個功能強大的開放式數(shù)據(jù)包捕獲架構(gòu),使用戶可以在inds環(huán)境下直接開發(fā)高性能的網(wǎng)絡(luò)分析與管理軟件,也可以把原來運行在unix系統(tǒng)中的許多分析工具經(jīng)過簡單的重新編譯移植到inds中。npf作為bpf在inds環(huán)境下的演化版繼承了bpf的以下重要模塊:過濾器,兩級緩沖(核心和用戶)以及用戶級的一些函數(shù)庫。最底層的是網(wǎng)絡(luò)接口,用來收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包。在捕獲過程中,網(wǎng)絡(luò)接口工作在混雜形式,接收網(wǎng)段中的所有數(shù)據(jù)包。數(shù)據(jù)包捕獲驅(qū)動器是整個捕獲棧中最底層的軟件模塊,它工作在系統(tǒng)內(nèi)核層,通過ndis網(wǎng)絡(luò)驅(qū)動程序接口標(biāo)準(zhǔn)與網(wǎng)絡(luò)接口的驅(qū)動程序進展通信,獲得網(wǎng)絡(luò)數(shù)據(jù)包,并向高層應(yīng)用程序提供來自數(shù)

8、據(jù)鏈路層數(shù)據(jù)的接口。npf參考模型由三個模塊所組成,一個在內(nèi)核級,另外兩個以dll的形式處于用戶級:(1)內(nèi)核級的網(wǎng)絡(luò)捕包過濾器(npf)。npf是一個經(jīng)過優(yōu)化的內(nèi)核形式驅(qū)動器,用于對數(shù)據(jù)包進展過濾,將接收的數(shù)據(jù)包提交給用戶級。npf采用循環(huán)緩沖區(qū)作為內(nèi)核緩沖區(qū),循環(huán)緩沖區(qū)就像一個隊列一樣,它的“頭和“尾是不固定的兩個指針,指針可以隨著數(shù)據(jù)的進人或者復(fù)制到用戶緩沖器而變動,運行過程中它會隨時釋放那些已復(fù)制的數(shù)據(jù)空間,通過這樣的方式來保存數(shù)據(jù)包可以進步數(shù)據(jù)的存儲效率。(2)數(shù)據(jù)包底層動態(tài)鏈接庫(paket.d11)。數(shù)據(jù)包驅(qū)動程序庫是與libpap相兼容的一組用戶級的函數(shù)庫。paket.dll用于在in32平臺下為數(shù)據(jù)包驅(qū)動程序提供一個公共的接口。由于不同的inds版本在用戶級和內(nèi)核級之間提供各不一樣的接口,而paket.dll可以屏蔽這些區(qū)別,提供一個與系統(tǒng)無關(guān)的api,因此基于paket.dll開發(fā)的數(shù)據(jù)包截獲程序可以運行于不同的in32平臺而不必重新進展編譯。(3)數(shù)據(jù)包高層驅(qū)動程序庫(pap.dll)。pap.dll是與操作系統(tǒng)無關(guān)的,它含有諸如產(chǎn)生過濾器、用戶級緩沖以及包注入等高級功能。它提供了更加高層、抽象的函數(shù),同

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論