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ù)。

主站蜘蛛池模板: 99在线国产| 91精品国产无线乱码在线| 亚欧成人无码AV在线播放| 一级毛片免费观看不卡视频| 国产精品hd在线播放| 久夜色精品国产噜噜| 亚洲天堂精品视频| 中文字幕中文字字幕码一二区| 一本大道视频精品人妻| 欧美另类一区| 亚洲成人网在线播放| 91精品国产91欠久久久久| 欧美日韩北条麻妃一区二区| a级毛片毛片免费观看久潮| 国产一区二区三区视频| 理论片一区| 99国产在线视频| 五月天丁香婷婷综合久久| 成人福利在线免费观看| 亚洲成网777777国产精品| 国产男女免费视频| 亚洲清纯自偷自拍另类专区| 99国产精品免费观看视频| 无码专区在线观看| 国产一区二区三区精品欧美日韩| 男人天堂伊人网| 国产精品视频白浆免费视频| 亚洲欧洲自拍拍偷午夜色| 国产手机在线观看| av一区二区三区在线观看| 国产在线欧美| 国产区免费精品视频| 99性视频| 国产呦视频免费视频在线观看| 超级碰免费视频91| 欧美三級片黃色三級片黃色1| 亚洲侵犯无码网址在线观看| 国产精品亚欧美一区二区三区| 欧洲精品视频在线观看| 亚洲第一综合天堂另类专| 美女啪啪无遮挡| 在线播放国产一区| 最新亚洲av女人的天堂| 在线日韩日本国产亚洲| 免费观看三级毛片| 综合色88| 72种姿势欧美久久久久大黄蕉| 国产成人亚洲无吗淙合青草| 欧美一区国产| 五月婷婷伊人网| 欧美三级视频在线播放| 99ri精品视频在线观看播放| 欧美精品黑人粗大| 91色在线视频| 国产aaaaa一级毛片| 国产免费福利网站| 久久综合九色综合97婷婷| 久久国产黑丝袜视频| 在线永久免费观看的毛片| 国产成本人片免费a∨短片| 亚洲色图另类| 国产日韩丝袜一二三区| 四虎成人免费毛片| 久久成人国产精品免费软件 | 亚洲日韩精品欧美中文字幕| 麻豆精品国产自产在线| 亚洲aⅴ天堂| 无码国内精品人妻少妇蜜桃视频| 色偷偷一区| 国产精品专区第1页| 欧美精品v欧洲精品| 国精品91人妻无码一区二区三区| 特级精品毛片免费观看| 热99精品视频| 久久精品视频亚洲| 一级毛片免费的| 在线观看91香蕉国产免费| 在线观看91精品国产剧情免费| 亚洲狠狠婷婷综合久久久久| 91视频免费观看网站| 色九九视频| 国产福利微拍精品一区二区|