999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

伯克利數(shù)據(jù)包過濾器的探索與研究

2014-11-17 08:37:50楊銘
科技創(chuàng)新與應(yīng)用 2014年33期

摘 要:伯克利數(shù)據(jù)包過濾器BPF(Berkeley Packet Filter)是一個(gè)工作在操作系統(tǒng)內(nèi)核的數(shù)據(jù)包捕獲機(jī)制,它先捕獲鏈路層的數(shù)據(jù)包而后再過濾,最后將特定的過濾后的數(shù)據(jù)包提供給應(yīng)用層。文章介紹了數(shù)據(jù)包截獲技術(shù)的分類,詳細(xì)分析了伯克利數(shù)據(jù)包信息過濾技術(shù)和截獲數(shù)據(jù)的途徑。

關(guān)鍵詞:過濾器;BPF;數(shù)據(jù)包截獲

引言

1993年,Steven McCanne與Van Jacobson在Usenix'93會議上提出的一種使用Unix內(nèi)核的數(shù)據(jù)包截獲過濾機(jī)制-伯克利包過濾(Berkeley Packet Filter,BPF)。BPF是一個(gè)工作在操作系統(tǒng)內(nèi)核的數(shù)據(jù)包捕獲機(jī)制,它先捕獲鏈路層的數(shù)據(jù)包而后再過濾,最后將特定的過濾后的數(shù)據(jù)包提供給應(yīng)用層。伯克利數(shù)據(jù)包過濾器大大提高系統(tǒng)運(yùn)行的性能。在設(shè)計(jì)體制上,伯克利數(shù)據(jù)包過濾器有兩個(gè)改進(jìn):第一使用了一種新型的基于寄存器的“過濾虛擬機(jī)”,它可以高效的在基于寄存器的RISC處理器上進(jìn)行包過濾。第二伯克利數(shù)據(jù)包過濾器使用了一種可以為每個(gè)單獨(dú)的進(jìn)程提供服務(wù)的非共享緩存模型,該模型使系統(tǒng)性能得到很大提高。

伯克利數(shù)據(jù)包過濾器由Unix系統(tǒng)內(nèi)核實(shí)現(xiàn),由以下兩大部分組成:網(wǎng)絡(luò)接口和數(shù)據(jù)包過濾器。網(wǎng)絡(luò)接口主要通過網(wǎng)絡(luò)驅(qū)動程序從網(wǎng)卡上獲取流經(jīng)網(wǎng)卡的所有數(shù)據(jù)包,然后把數(shù)據(jù)包分發(fā)給正在等待的系統(tǒng)進(jìn)程。為防止無用的數(shù)據(jù)包被調(diào)進(jìn)用戶空間,通過用戶定義的相應(yīng)規(guī)則,數(shù)據(jù)包過濾器丟棄沒用的數(shù)據(jù)包。包過濾器將有效的數(shù)據(jù)包緩存,等待它被用戶程序調(diào)用。

1 數(shù)據(jù)包截獲技術(shù)的分類

入侵檢測最重要的工作就是網(wǎng)絡(luò)數(shù)據(jù)包的截獲。它具有多面性,一方面黑客可以利用它刺探網(wǎng)絡(luò)的傳輸數(shù)據(jù),另一方面網(wǎng)絡(luò)管理員可以用來監(jiān)聽網(wǎng)絡(luò)的流量情況,同時(shí)網(wǎng)絡(luò)開發(fā)的程序員可以用它來實(shí)現(xiàn)網(wǎng)絡(luò)的應(yīng)用程序。現(xiàn)在有許多免費(fèi)的和商業(yè)性質(zhì)的網(wǎng)絡(luò)監(jiān)聽工具,這類工具又叫網(wǎng)絡(luò)嗅探器(sniffer)。通過嗅探器可以截獲并分析網(wǎng)絡(luò)上的數(shù)據(jù)。其中l(wèi)ibpcap和BPF就是有名的嗅探器函數(shù)庫。

截獲網(wǎng)絡(luò)數(shù)據(jù)有以下兩種方法:一是通過設(shè)置路由器的監(jiān)聽端口或鏡像端口,二是利用以太網(wǎng)絡(luò)的廣播特性來實(shí)現(xiàn)。以太網(wǎng)傳輸網(wǎng)絡(luò)數(shù)據(jù)幀采用CSMA/CD(載波偵聽/沖突檢測)的技術(shù)。載波偵聽的工作原理是:網(wǎng)絡(luò)中的每個(gè)主機(jī)都是平等的。傳輸數(shù)據(jù)時(shí),先要監(jiān)聽檢測信道的狀態(tài)。如果是空閑狀態(tài),就將數(shù)據(jù)傳輸出去,如果信道忙碌,則等待信道空閑再傳輸。當(dāng)兩個(gè)主機(jī)同時(shí)檢測到網(wǎng)絡(luò)空閑則使用沖突檢測技術(shù)。在載波偵聽/沖突檢測模式下,以太網(wǎng)采用廣播機(jī)制傳輸數(shù)據(jù)幀,同一網(wǎng)段上的主機(jī)彼此透明,可以看到該網(wǎng)段上所有傳輸?shù)臄?shù)據(jù)幀,完成所有網(wǎng)絡(luò)包的分析和截獲。

2 BPF的信息過濾技術(shù)

BPF實(shí)現(xiàn)數(shù)據(jù)包過濾具體步驟是:首先網(wǎng)絡(luò)設(shè)備驅(qū)動程序收集網(wǎng)絡(luò)數(shù)據(jù)包,交由過濾器處理,然后過濾器過濾該數(shù)據(jù)包。BPF模型將其實(shí)現(xiàn)為BPF虛擬機(jī),通過在BPF虛擬機(jī)上執(zhí)行過濾程序,過濾器決定是否捕獲數(shù)據(jù)包,如果捕獲,則捕獲該數(shù)據(jù)包的哪些部分。當(dāng)過濾器過濾完數(shù)據(jù)包后,將數(shù)據(jù)提交給過濾器關(guān)聯(lián)的上層應(yīng)用程序。接下來控制權(quán)由鏈路層設(shè)備驅(qū)動程序重新獲得,把過濾后的網(wǎng)絡(luò)數(shù)據(jù)包提交給上層的系統(tǒng)協(xié)議棧處理。

引入了數(shù)據(jù)包過濾機(jī)制后,網(wǎng)絡(luò)上的每個(gè)數(shù)據(jù)包都會被系統(tǒng)過濾,根據(jù)該數(shù)據(jù)包是否滿足過濾條件,判定是否接收該數(shù)據(jù)包和接收該數(shù)據(jù)包的哪些部分,然后復(fù)制數(shù)據(jù)包中的相應(yīng)內(nèi)容。但是,引入包過濾機(jī)制增加了系統(tǒng)處理數(shù)據(jù)包的時(shí)間。網(wǎng)絡(luò)監(jiān)聽的關(guān)鍵是過濾的性能,低效率的過濾程序?qū)⒁饋G失數(shù)據(jù)包以及來不及分析等問題。

3 BPF截獲數(shù)據(jù)的途徑

在網(wǎng)絡(luò)上截獲數(shù)據(jù)的途徑主要依賴于所使用的操作系統(tǒng),操作系統(tǒng)不同一般都有不同的實(shí)現(xiàn)途徑。在Linux或UNIX操作系統(tǒng)中,通常采用API函數(shù)庫Libpcap來實(shí)現(xiàn),該函數(shù)庫由美國洛倫茲伯克利國家實(shí)驗(yàn)室所編寫,具有專用于數(shù)據(jù)包捕獲的功能。Libpcap實(shí)質(zhì)上是一個(gè)系統(tǒng)獨(dú)立的API函數(shù)接口,用于用戶層次的數(shù)據(jù)截獲工作,Libpcap接口支持基于BSD的數(shù)據(jù)包過濾器(BPF,Berkeley Packet Fliter)的數(shù)據(jù)過濾機(jī)制。

目前,許多版本UNIX和Linux平臺上多數(shù)嗅探器都是基于BPF開發(fā)的。這主要是因?yàn)楸O(jiān)聽程序以用戶級別進(jìn)程工作,數(shù)據(jù)包的拷貝必須跨越內(nèi)核/用戶保護(hù)界限,這就需要使用名為數(shù)據(jù)包過濾器(Packet Fliter)的內(nèi)核代理程序。BPF過濾使用了新的基于寄存器的預(yù)過濾機(jī)制,它的緩存機(jī)制也對整體效率提高有很大作用。

BPF主要是由兩部分構(gòu)成的,一是網(wǎng)絡(luò)轉(zhuǎn)發(fā)部分,二是數(shù)據(jù)包過濾部分。網(wǎng)絡(luò)轉(zhuǎn)發(fā)部分從鏈路層中捕獲數(shù)據(jù)包,并把它們抓發(fā)給數(shù)據(jù)報(bào)過濾部分。數(shù)據(jù)報(bào)過濾部分從接收到數(shù)據(jù)報(bào)中接受過濾規(guī)則決定接受網(wǎng)絡(luò)數(shù)據(jù)報(bào),其他數(shù)據(jù)包就會被拋棄。BPF的這兩個(gè)部分都是在操作系統(tǒng)內(nèi)核層實(shí)現(xiàn)的,它提供給應(yīng)用層的數(shù)據(jù)包是過濾后的數(shù)據(jù)包,所以捕獲數(shù)據(jù)包和過濾數(shù)據(jù)包的過程都是在內(nèi)核中完成的,它的效率是很高的。

BPF在核心設(shè)置了過濾器,預(yù)先可對數(shù)據(jù)包進(jìn)行過濾,并且只將用戶需要的數(shù)據(jù)提交給用戶進(jìn)程,如圖1所示。每個(gè)BPF都有一個(gè)Buffer,如果過濾器判斷接收某個(gè)包,BPF就將它復(fù)制到相應(yīng)的Buffer中暫存起來,等收集到足夠的數(shù)據(jù)后再一起提交給用戶進(jìn)程,提高了效率。

圖1 BPF的模型及其接口

BPF技術(shù)不斷改進(jìn),在2007年,Robert Watson與Christian Peron為FreeBSD操作系統(tǒng)中BPF的實(shí)現(xiàn)加入了zero-copy buffer extension,使得驅(qū)動程序中斷處理器中的內(nèi)核封包抓取能直接向用戶內(nèi)存寫,以避免BPF設(shè)備收到的所有封包數(shù)據(jù)的兩次復(fù)制需要,一份副本存在于用戶進(jìn)程的接收路徑中,這保證了不同BPF設(shè)備調(diào)用者的獨(dú)立性,同時(shí)使得只把封包頭部放入BPF緩沖區(qū),而不是復(fù)制整個(gè)封包數(shù)據(jù)。

參考文獻(xiàn)

[1]吳眾欣,李蘭友.基于BPF模型的分布式網(wǎng)絡(luò)信息監(jiān)聽系統(tǒng)[J].天津工業(yè)大學(xué)學(xué)報(bào),2002(1).

[2]曾鳴,趙榮彩.BPF的實(shí)現(xiàn)機(jī)制分析與性能優(yōu)化研究[J].計(jì)算機(jī)工程,2007(12).

[3]夏欣.基于BPF的數(shù)據(jù)過濾機(jī)制研究[J].科學(xué)技術(shù)與工程,2008(23).

[4]莊春興,楊曉偉,黃向前.網(wǎng)絡(luò)數(shù)據(jù)包的捕獲、分析與應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2003(11).

作者簡介:楊銘(1982-),女,吉林長春人,吉林電子信息職業(yè)技術(shù)學(xué)院講師,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。

主站蜘蛛池模板: 在线免费观看AV| 欧美日韩午夜| 高清色本在线www| 高清欧美性猛交XXXX黑人猛交 | 亚洲综合在线网| 91精品视频网站| 91国内外精品自在线播放| 91香蕉国产亚洲一二三区| 国产激爽爽爽大片在线观看| 亚洲成人精品| 久久精品女人天堂aaa| 无码中文字幕精品推荐| 国产成人精品一区二区秒拍1o| 无码国产偷倩在线播放老年人| 国产区免费精品视频| 久久特级毛片| 久久久亚洲色| 亚洲一区国色天香| 在线观看免费国产| 无码中字出轨中文人妻中文中| 国产亚洲欧美在线专区| 亚洲码一区二区三区| 色视频国产| 波多野结衣一区二区三区88| 亚洲中文精品人人永久免费| 亚洲va精品中文字幕| 久久综合国产乱子免费| 国产人成网线在线播放va| 免费午夜无码18禁无码影院| 亚洲av无码专区久久蜜芽| 精品一區二區久久久久久久網站| 国模视频一区二区| 久久精品无码一区二区国产区| 精品久久蜜桃| 欧美激情视频二区三区| 欧美一区中文字幕| 香蕉视频在线观看www| 99在线观看免费视频| 亚洲大学生视频在线播放| 国产h视频在线观看视频| 国产99精品久久| 国产一级精品毛片基地| 九九视频免费在线观看| 动漫精品中文字幕无码| 国产成人久久综合777777麻豆 | 香蕉久人久人青草青草| 欧美三级自拍| 亚洲综合欧美在线一区在线播放| 亚洲欧美极品| 成色7777精品在线| julia中文字幕久久亚洲| 97无码免费人妻超级碰碰碰| 亚洲免费成人网| 丰满人妻一区二区三区视频| 日本尹人综合香蕉在线观看| 亚洲天堂区| 永久免费精品视频| 亚洲Aⅴ无码专区在线观看q| 波多野一区| 91成人在线观看视频| 露脸真实国语乱在线观看| 人妻少妇乱子伦精品无码专区毛片| 精品第一国产综合精品Aⅴ| 成人伊人色一区二区三区| 日韩在线第三页| 青青操视频在线| 国产人成乱码视频免费观看| 亚洲av无码专区久久蜜芽| 国产三级视频网站| 天堂亚洲网| 亚洲人妖在线| 99热国产这里只有精品9九| 国产免费一级精品视频| 久久精品无码一区二区日韩免费| 99精品国产自在现线观看| 亚洲a级毛片| 激情无码字幕综合| 亚洲精品国产综合99| 国产一级视频在线观看网站| 亚洲综合婷婷激情| 亚洲男人的天堂久久香蕉网 | 精品久久高清|