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

Libpcap的BPF過濾器的分析

2015-07-27 07:38:41江西科技師范大學理工學院南昌330013
山東工業技術 2015年19期

劉 琦(江西科技師范大學理工學院,南昌 330013)

Libpcap的BPF過濾器的分析

劉琦
(江西科技師范大學理工學院,南昌330013)

摘要:本文分析與研究了Libpcap的BPF過濾器的過濾本質,首先,分析了BPF過濾器在Linux內核中的位置和結構;其次,詳細分析了BPF過濾器怎樣處理高層語言表示的過濾器;最后,設置一個高層語言表示的過濾器,利用BPF過濾器捕獲滿足要求的網絡數據包。

關鍵詞:BPF;Libpcap;過濾器;網絡數據包

0 序言

現代網絡時代中進行大數據網絡監控程序是具有其各自目的前提,我們所期望網絡的數據中包類型都是不盡相同的。應該在絕大多數的情況之下都需要不一樣網絡數據包中的一部分甚至一大部分。

1 BPF在Linux內核中的位置和結構

我們說的BPF一般意義上由兩大部分組成的:網絡分接頭、數據包形成口和過濾器暫借口幾個部分。趨于網絡鐘的分接頭最主要是從網絡新型設備部分和驅動應用驅動程序處的疏密收集數據包中拷貝開始實現的,并不斷地先后傳遞給其中在監聽中運行的各種各樣的有機應用程序。狹義上的過濾器的決定數目的數據包不僅僅是被接受也可能是直接拒絕的,而且又是根據本身所發生的不斷變化和形象的轉運體而實現出來的一種傳遞信息的符號。

當其中的不斷產生的大數據包接近或者已經到達網絡各個設備需要的復雜接口設備時,這期間所發生的簡介的鏈路層和設計設備驅動器就通常就把它傳遞給我們所需系統協議棧進行有效實質性預處理模式。但是BPF又會在該網絡接口上監上聽取時,這樣有效的實施驅動器將會能夠先調用到BPF中間進行有效處理,有了BPF就會將數據包傳遞不段的傳遞給其中每個監控進程運行中的過濾器。使得這些用戶得到自定義過濾器后就一定會發生變化,然后自覺將決定數據包是否被接受,以及到達的各種數據包中哪些內容是否應該被保存下來處理。對于其中的每一個決定是否接受數據包的各種過濾器系統,BPF還會將需求的數據包不斷的輸入拷貝到他們與之相連的形勢短針軌道緩存之中去。

2 BPF處理高層語言表示的過濾器

一個用高層語言(例如:C語言學習和C++語言學習運用中)表示使用新型的過濾器的結構組成差別部分,有效的實行被編譯和優化成BPF各種虛擬機運行中的字節碼虛擬運行部分。這種有效的字節碼會不斷的跟隨和接著經過保護邊界的地方,現在有效的檢查代碼和有效的合法性生產部門,后面的接著會在線解釋并發出指令去執行。BPF系統發生后會根據處理器的形成購置也就是包括一系列有效組件規律性質把用過高層語言表示的過濾器不斷逐步的轉換為可視的底層可執行的輸入設備管理器來使用。

那么我們形成最有效的無虛擬性前段前端輸入是一個中低層語言表示形成軌跡過濾器,它是被最初Libpcap使用的機器語言中公開的謂詞語法等。

BPF編譯器把該過濾器轉換為一些命令,用一個SSA中間形式的控制流程圖表示。

SSA中間形式的控制流程圖通過代碼優化器執行全局的與局部的數據優化器,優化器的輸出為一個與BPF虛擬機一致的字節碼。

BPF字節碼接著被傳遞到一個可執行的環境中,比如穿過用戶層-內核層的保護邊界去執行用戶定義的協議分析。

當進入目標保護區域,安全確認機制就認為該字節碼是可信的。

接著在BPF內核解釋執行過濾器的字節碼。

3 虛擬機指令的生成

現代化生產環境下的BPF中虛擬機指令生成的有效結構被分成編譯器、優行器兩個并列產生獨立的適用性組成部分。最先是編譯器譯碼器會將高層語言表示的過濾器不斷的轉化為無環控制系統流圖的CFG有效部分,然后其再將此控制流圖有效的圖形不斷的轉化為符合運行適應的SSA中間處理器表示形式控制流圖指令接受的一種完整的過濾形勢,最后會發生優化器會總的負責對SSA形式控制流圖不斷的進行優化使用部分,并生成最終虛擬機指令流派系列過度性語言,這也是虛擬機和指令語言中間的生產字節碼語言所在。

4 BPF中的CFG

BPF(BerkeleyPacketFilter-BPF)是McCanne和VanJacobson在1993公布的Berkeley網絡數據包過濾器。BPF是對CSPF的改進過濾過程是從一個用戶所定義的過濾器(比如:捕獲起所有的TCP數據包)開始,首先應用程序調用Libpcap源碼中的gencode.c文件中的pcap_compile()函數來編譯過濾器,通過該函數生成所需的虛擬機中間字節碼。然后應用程序調用Libpcap源碼中的pcap.c文件中的pcap_setfilter()函數將一個過濾器與一個捕獲實例相關聯,把過濾器的字節碼傳遞給內核的BPF驅動程序中,當進行數據捕獲時,驅動程序執行該過濾器對來自網絡的所有數據包進行過濾,所有符合要求的數據包將會復制給應用程序,否則丟棄該數據包。

BPF的設計思想和當時的計算機硬件的發展有很大的聯系,在過濾算法上,CSPF使用的是老式的布爾表達式樹(Booleanexpression tree),BPF使用的是無環控制流圖(controlflowgraph,CFG),這樣大大提高了過濾網絡數據包的效率。

假設我們的過濾器是ip or arp,CSPF和BPF的過濾算法如圖1和圖2。

圖1

圖2

從我們的上圖就可以得出結論:利用設置了過濾器的BPF過濾器在Linux系統網絡應用程序進行數據鏈路層MAC幀的捕獲,捕獲到了滿足要求的SourceIPAddress是192.168.1.6的網絡數據包。進一步證明了分析和研究BPF過濾器的重要性和必要性。從而可以大大提高我們捕獲網絡數據包的效率。

參考文獻:

[1]劉文濤.網絡安全開發包詳解[M].北京:電子工業出版社,2005.

[2]唐正軍.黑客入侵防護系統源代碼分析[M].北京:機械工業出版社,2002.

主站蜘蛛池模板: 国产又色又刺激高潮免费看| 特级aaaaaaaaa毛片免费视频| 国产精品自拍露脸视频| 国产精品第一区在线观看| 亚洲无码高清免费视频亚洲 | 久久国产高清视频| 99视频在线看| 国产精品亚欧美一区二区| 一本大道香蕉高清久久| 看你懂的巨臀中文字幕一区二区| 青青草国产精品久久久久| 欧美一区二区三区欧美日韩亚洲| 国产成人福利在线视老湿机| 黄色网址手机国内免费在线观看| 美女免费黄网站| 免费又黄又爽又猛大片午夜| 亚洲人成亚洲精品| 秘书高跟黑色丝袜国产91在线| 国产精品吹潮在线观看中文| 国产精品第一区| 亚洲伊人天堂| 国产乱人伦偷精品视频AAA| 国产9191精品免费观看| 婷婷色中文| 91精品伊人久久大香线蕉| 成人精品午夜福利在线播放| 综合久久五月天| 亚洲另类第一页| 在线国产毛片| 强乱中文字幕在线播放不卡| 亚洲精品午夜无码电影网| 18禁高潮出水呻吟娇喘蜜芽| 伊人福利视频| 韩日免费小视频| 亚洲视频免费在线看| 香蕉精品在线| 亚洲一区国色天香| 99青青青精品视频在线| 色135综合网| 九九热视频精品在线| 91丝袜乱伦| 欧美福利在线观看| 欧美亚洲一区二区三区导航 | 欧美a√在线| 精品国产自在在线在线观看| 日韩人妻少妇一区二区| 国产精品欧美激情| 国产成人综合亚洲欧美在| 2021国产精品自产拍在线| 欧美区一区| 国产成人亚洲精品色欲AV| 国产一区二区三区在线观看视频| 久久久受www免费人成| 欧美成人免费| 人人妻人人澡人人爽欧美一区| 日韩在线第三页| 精品综合久久久久久97| 真人高潮娇喘嗯啊在线观看| 欧美精品高清| 一区二区三区在线不卡免费| 青青草原国产免费av观看| 国产精品三级专区| 爆乳熟妇一区二区三区| 欧美国产在线精品17p| 激情乱人伦| 国产无吗一区二区三区在线欢| 亚洲人成在线精品| 青青操视频免费观看| 成人在线观看一区| 这里只有精品免费视频| 国产黄在线观看| 欧美成人二区| 亚洲无码视频一区二区三区 | 亚洲一区二区视频在线观看| 亚洲综合久久成人AV| 国产拍在线| 免费播放毛片| 国产精品一线天| 亚洲网综合| 亚洲精品无码av中文字幕| 97视频免费看| 亚洲一区二区三区中文字幕5566|