深度報(bào)文檢測(cè)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種網(wǎng)絡(luò)流量的控制、分析方法和系統(tǒng),尤其是一種深度報(bào)文檢測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002]深度報(bào)文檢測(cè)技術(shù)(即Deep Packet Inspect1n,以下簡稱DPI ),是一種面向應(yīng)用層分析的流量分析檢測(cè)技術(shù)。DPI技術(shù)已成為高端網(wǎng)絡(luò)設(shè)備的標(biāo)準(zhǔn)配置,用于對(duì)網(wǎng)絡(luò)流量的精細(xì)化控制和分析,但是由于硬件性能、功能適配、系統(tǒng)架構(gòu)等因素的制約,DPI —直無法在為數(shù)眾多的低端網(wǎng)絡(luò)設(shè)備(如家庭路由、商業(yè)WIF1、瘦AP等)中廣泛使用,從而導(dǎo)致面向廣大終端用戶的高級(jí)流量優(yōu)化和服務(wù)提升的缺失,因此有必要實(shí)現(xiàn)能適配于低端網(wǎng)絡(luò)設(shè)備的深度報(bào)文檢測(cè)技術(shù)。
[0003]在系統(tǒng)資源相對(duì)寬裕的流量管理設(shè)備中,一般會(huì)集成DPI模塊,用于對(duì)經(jīng)過設(shè)備的流量進(jìn)行分析。在此類設(shè)備中,DPI作為系統(tǒng)的一個(gè)組成模塊存在,與設(shè)備其他模塊配合使用,內(nèi)部模塊之間的交互為達(dá)到高效的目的,一般采用資源共享的方式進(jìn)行,功能一般比較完善,但該技術(shù)的缺點(diǎn)也比較突出。首先,由于DPI是設(shè)備的一個(gè)模塊,因此設(shè)備依賴度極高,向其他廠商進(jìn)行迀移的成本很高,或者根本無法迀移;其次DPI模塊與其他模塊耦合度較高,升級(jí)DPI的功能需要通過升級(jí)整個(gè)固件完成,因此可擴(kuò)展性較差;再次,由于設(shè)備資源較充裕,為達(dá)到高性能,對(duì)資源占用會(huì)較高,無法滿足在資源較少的低端設(shè)備上適用。
[0004]現(xiàn)有技術(shù)二在運(yùn)營商網(wǎng)絡(luò)中較多使用,采用流量鏡像的方式獲取某網(wǎng)段所有報(bào)文,采用單獨(dú)的DPI軟件程序?qū)α髁窟M(jìn)行分析,本技術(shù)的實(shí)現(xiàn)方案是在串行網(wǎng)絡(luò)設(shè)備采用鏡像的方式將全部或部分流量引導(dǎo)到DPI設(shè)備,該設(shè)備采用并行的方式工作;該方案的特點(diǎn)是可以根據(jù)流量的大小采用適合的DPI設(shè)備,且設(shè)備可采用通用技術(shù)架構(gòu)進(jìn)行分析,升級(jí)軟件程序較方便,但是該方案缺點(diǎn)是無法在線分析,無法基于DPI對(duì)流量進(jìn)行控制。
[0005]因此需要研宄一種即能解決中低端網(wǎng)絡(luò)設(shè)備中由于設(shè)備資源的限制,無法應(yīng)用或無法在線分析,無法對(duì)流量進(jìn)行有效控制的問題;又能解決DPI設(shè)備無法在不同硬件平臺(tái)快速適配并進(jìn)行更新的問題的深度報(bào)文檢測(cè)方法及系統(tǒng)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的就是為了解決現(xiàn)有技術(shù)中存在的上述問題,提供一種深度報(bào)文檢測(cè)方法及系統(tǒng)。
[0007]本發(fā)明的目的通過以下技術(shù)方案來實(shí)現(xiàn):
一種深度報(bào)文檢測(cè)方法,其包括如下步驟:
Si,信息獲取步驟:接收網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核輸入的待處理會(huì)話中的報(bào)文,并讀取所述報(bào)文的信息;
S2,報(bào)文深度檢測(cè)步驟:根據(jù)報(bào)文攜帶的信息,對(duì)報(bào)文進(jìn)行檢測(cè),并根據(jù)檢測(cè)結(jié)果及是否存在硬件加速配置處理所述會(huì)話的后續(xù)報(bào)文; S3,檢測(cè)數(shù)據(jù)報(bào)送步驟:將報(bào)文檢測(cè)的結(jié)果進(jìn)行統(tǒng)計(jì)、分析并報(bào)送給數(shù)據(jù)平臺(tái),展現(xiàn)檢測(cè)和控制結(jié)果。
[0008]優(yōu)選的,所述的深度報(bào)文檢測(cè)方法,其中:所述S2,深度報(bào)文檢測(cè)步驟包括:
S21,報(bào)文檢測(cè)步驟:根據(jù)內(nèi)置算法,對(duì)接收的會(huì)話中的報(bào)文進(jìn)行處理,并將已處理的報(bào)文發(fā)送回網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核,如報(bào)文處理完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核無需輸入所述會(huì)話的后續(xù)報(bào)文;如報(bào)文處理未完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核引入所述會(huì)話的后續(xù)報(bào)文并進(jìn)行處理;
S22,硬件加速步驟:判斷是否存在硬件加速配置,如存在,則將所述會(huì)話的后續(xù)報(bào)文直接引入硬件加速模塊;如不存在,則通知內(nèi)核進(jìn)行網(wǎng)絡(luò)設(shè)備中其他報(bào)文處理的流程。
[0009]優(yōu)選的,所述的深度報(bào)文檢測(cè)方法,其中:在所述S21,報(bào)文檢測(cè)步驟中,所述的內(nèi)置算法是HTTP報(bào)文單次掃描多次匹配及基于稀疏矩陣的有限態(tài)機(jī)算法。
[0010]優(yōu)選的,所述的深度報(bào)文檢測(cè)方法,其中:還包括S4,系統(tǒng)更新步驟:接收用戶設(shè)置的命令,主動(dòng)或定時(shí)發(fā)起系統(tǒng)在線更新請(qǐng)求,如驗(yàn)證請(qǐng)求合法,則在線下載最新的插件和/或特征庫進(jìn)行更新。
[0011]優(yōu)選的,所述的深度報(bào)文檢測(cè)方法,其中:還包括S5,授權(quán)步驟:根據(jù)接收的請(qǐng)求,通過MD5算法校驗(yàn)各模塊的合法性。
[0012]一種深度報(bào)文檢測(cè)系統(tǒng),其包括
信息獲取模塊,用于接收網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核輸入的待處理會(huì)話中的報(bào)文,并讀取所述報(bào)文的信息;
報(bào)文深度檢測(cè)模塊,用于根據(jù)報(bào)文攜帶的信息,對(duì)報(bào)文進(jìn)行檢測(cè),并根據(jù)檢測(cè)結(jié)果及是否存在硬件加速配置處理所述會(huì)話的后續(xù)報(bào)文;
以及,檢測(cè)數(shù)據(jù)報(bào)送模塊,用于將報(bào)文檢測(cè)的結(jié)果進(jìn)行統(tǒng)計(jì)、分析并報(bào)送給數(shù)據(jù)平臺(tái),展現(xiàn)檢測(cè)和控制結(jié)果。
[0013]優(yōu)選的,所述的深度報(bào)文檢測(cè)系統(tǒng),其中:所述報(bào)文深度檢測(cè)模塊包括報(bào)文檢測(cè)單元,用于根據(jù)內(nèi)置算法,對(duì)接收的會(huì)話中的報(bào)文進(jìn)行處理,并將已處理的報(bào)文發(fā)送回網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核,如報(bào)文處理完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核無需輸入所述會(huì)話的后續(xù)報(bào)文;如報(bào)文處理未完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核引入所述會(huì)話的后續(xù)報(bào)文并進(jìn)行處理;
以及,硬件加速步驟單元,用于判斷是否存在硬件加速配置,如存在,則將所述會(huì)話的后續(xù)報(bào)文直接引入硬件加速模塊;如不存在,則通知內(nèi)核進(jìn)行網(wǎng)絡(luò)設(shè)備中其他報(bào)文處理的流程。
[0014]優(yōu)選的,所述的深度報(bào)文檢測(cè)系統(tǒng),其中:所述報(bào)文深度檢測(cè)模塊采用HTTP報(bào)文單次掃描多次匹配及基于稀疏矩陣的有限態(tài)機(jī)算法。
[0015]優(yōu)選的,所述的深度報(bào)文檢測(cè)系統(tǒng),其中:還包括系統(tǒng)更新模塊,用于接收用戶設(shè)置的命令,主動(dòng)或定時(shí)發(fā)起系統(tǒng)在線更新請(qǐng)求,如驗(yàn)證請(qǐng)求合法,則在線下載最新的插件和/或特征庫。
[0016]優(yōu)選的,所述的深度報(bào)文檢測(cè)系統(tǒng),其中:還包括授權(quán)模塊,用于根據(jù)接收的請(qǐng)求,通過MD5算法校驗(yàn)各模塊的合法性。
[0017]本發(fā)明技術(shù)方案的優(yōu)點(diǎn)主要體現(xiàn)在: 本發(fā)明是一個(gè)純軟件化產(chǎn)品,可以根據(jù)不同網(wǎng)絡(luò)設(shè)備的內(nèi)核進(jìn)行編譯,快速適配各種硬件平臺(tái),解決了 DPI模塊與網(wǎng)絡(luò)設(shè)備耦合性強(qiáng)的問題,使得DPI模塊可以獨(dú)立于網(wǎng)絡(luò)設(shè)備而存在,實(shí)現(xiàn)了深度報(bào)文分析技術(shù)在低端網(wǎng)絡(luò)設(shè)備上的適用,拓展了適用范圍,降低了對(duì)設(shè)備的依賴度,不需要占用大量資源,且該軟件具有應(yīng)用識(shí)別、終端識(shí)別、搜索關(guān)鍵字獲取、URL識(shí)別及分類、特定信息獲取功能多種功能,功能更加完善。
[0018]通過設(shè)置更新模塊,通過插件主動(dòng)申請(qǐng)、平臺(tái)驗(yàn)證、插件自主更新的方法,能夠?qū)崿F(xiàn)在設(shè)備運(yùn)行過程中進(jìn)行在線動(dòng)態(tài)升級(jí),,對(duì)設(shè)備正常運(yùn)行無任何影響,具有較好的可擴(kuò)張性。
[0019]通過優(yōu)化的算法,在保證性能的前提下,將大內(nèi)存占用的特征庫壓縮到足夠小,可以在家庭路由等低端網(wǎng)絡(luò)設(shè)備上加載運(yùn)行,提高了資源利用率。
[0020]通過數(shù)據(jù)平臺(tái)對(duì)業(yè)務(wù)流數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析,能夠?yàn)閮?yōu)化DPI插件提供數(shù)據(jù)基礎(chǔ),進(jìn)一步提高業(yè)務(wù)流的管控。
【附圖說明】
[0021]圖1是本發(fā)明的結(jié)構(gòu)示意圖;
圖2是本發(fā)明的工作流程示意圖;
圖3是本發(fā)明的具體工作流程圖;
圖4是本發(fā)明升級(jí)過程示意圖。
【具體實(shí)施方式】
[0022]本發(fā)明的目的、優(yōu)點(diǎn)和特點(diǎn),將通過下面優(yōu)選實(shí)施例的非限制性說明進(jìn)行圖示和解釋。這些實(shí)施例僅是應(yīng)用本發(fā)明技術(shù)方案的典型范例,凡采取等同替換或者等效變換而形成的技術(shù)方案,均落在本發(fā)明要求保護(hù)的范圍之內(nèi)。
[0023]本發(fā)明揭示了一種深度報(bào)文檢測(cè)系統(tǒng),用于各種網(wǎng)絡(luò)設(shè)備中報(bào)文的檢測(cè),其不僅適用于高端網(wǎng)絡(luò)設(shè)備,亦適用于低端網(wǎng)絡(luò)設(shè)備,其中,所述報(bào)文是指在互聯(lián)網(wǎng)中傳輸?shù)腡CP/IP協(xié)議的數(shù)據(jù)包,其包含于會(huì)話中,所述會(huì)話是指五元組(協(xié)議、源地址、目的地址、源端口、目的端口)相同的一組雙向(發(fā)送和接收)報(bào)文的集合;因此本系統(tǒng)處理的對(duì)象為會(huì)話,最小處理單元為每會(huì)話包含的報(bào)文。
[0024]如附圖1所示,所述深度報(bào)文檢測(cè)系統(tǒng)包括內(nèi)部設(shè)置有控制平臺(tái)7和數(shù)據(jù)平臺(tái)8的云端以及與所述云端相匹配的包含有DPI插件6的網(wǎng)絡(luò)設(shè)備;所述控制平臺(tái)7用于控制所述DPI插件6的工作模式,所述數(shù)據(jù)平臺(tái)8用于接收所述DPI插件6上報(bào)的數(shù)據(jù);所述控制平臺(tái)7可以通過遠(yuǎn)程點(diǎn)對(duì)點(diǎn)控制所述DPI插件6的各項(xiàng)功能子引擎的開關(guān),也可以控制所述DPI插件6的數(shù)據(jù)上報(bào)功能;所述DPI插件6的各項(xiàng)功能子引擎包括應(yīng)用識(shí)別、終端識(shí)另O、搜索關(guān)鍵字獲取、URL識(shí)別及分類、特定信息獲取等功能,各功能子引擎均采用基于稀疏矩陣的有限狀態(tài)機(jī)算法,對(duì)功能采用不同的特征庫,特征庫在組織上進(jìn)行優(yōu)化處理,提高性能,實(shí)現(xiàn)一次掃描多重匹配;所述DPI插件6按照所述控制平臺(tái)7的指令進(jìn)行工作,并將指定數(shù)據(jù)上傳到所述數(shù)據(jù)平臺(tái)8 ;所述數(shù)據(jù)平臺(tái)8接收并綜合處理和分析所述DPI插件6上報(bào)的數(shù)據(jù);所述網(wǎng)絡(luò)設(shè)備可以是家庭路由、商業(yè)WiF1、瘦AP等小型低端網(wǎng)絡(luò)設(shè)備,本實(shí)施例中優(yōu)選為智能路由器。
[0025]具體的,所述DPI插件6包括信息獲取模塊1、深度報(bào)文檢測(cè)模塊2及檢測(cè)數(shù)據(jù)報(bào)送模塊3,所述信息獲取模塊I用于接收網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核輸入的待處理會(huì)話中的報(bào)文,并讀取所述報(bào)文中的信息,所述信息包括但不限于報(bào)文的MAC地址信息,源目的地址、端口信息,HTTP協(xié)議頭信息等;所述深度報(bào)文檢測(cè)模塊2,用于根據(jù)報(bào)文攜帶的信息,對(duì)報(bào)文進(jìn)行檢測(cè),并根據(jù)檢測(cè)結(jié)果及是否存在硬件加速配置處理會(huì)話中的后續(xù)報(bào)文,其進(jìn)一步包括報(bào)文檢測(cè)單元21以及硬件加速單元22,所述報(bào)文檢測(cè)單元21,用于根據(jù)內(nèi)置算法,對(duì)接收的會(huì)話中的報(bào)文進(jìn)行處理,并將已處理的報(bào)文發(fā)送回網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核,如報(bào)文處理完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核無需輸入所述會(huì)話的后續(xù)報(bào)文;如報(bào)文處理未完成,則通知網(wǎng)絡(luò)設(shè)備操作系統(tǒng)內(nèi)核引入所述會(huì)話的后續(xù)報(bào)文并進(jìn)行處理;所述硬件加速單元22,用于判斷是否存在硬件加速配置,如存在,則將所述會(huì)話的后續(xù)報(bào)文直