專利名稱:協(xié)議識別方法、協(xié)議識別裝置及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種協(xié)議識別方法、協(xié)議識別裝置及設(shè)備。
背景技術(shù):
隨著網(wǎng)絡(luò)應(yīng)用范圍的擴(kuò)展,協(xié)議類型也越來越多,因此,各網(wǎng)絡(luò)節(jié)點(diǎn)需要對數(shù)據(jù)包 進(jìn)行協(xié)議識別,才能正確地處理數(shù)據(jù)包。例如,網(wǎng)絡(luò)節(jié)點(diǎn)采用多包識別方法,將接收到的數(shù) 據(jù)包不斷送入引擎,引擎遍歷所有規(guī)則,對當(dāng)前數(shù)據(jù)包進(jìn)行分析如分析當(dāng)前數(shù)據(jù)包的關(guān)鍵 字、單包包長、端口等,判斷該當(dāng)前數(shù)據(jù)包是否命中某條單包規(guī)則。如果所有的單包子規(guī)則 都被命中即命中多包所有規(guī)則,則認(rèn)為匹配,從而識別出數(shù)據(jù)包所用的協(xié)議。但是,多包識別方法中數(shù)據(jù)包與數(shù)據(jù)包之間是獨(dú)立的,各自都只做單包檢測,再將 檢測結(jié)果組合進(jìn)行識別。而隨著網(wǎng)絡(luò)應(yīng)用復(fù)雜性的提高,單個數(shù)據(jù)包的特征越來越弱,僅對 單個數(shù)據(jù)包進(jìn)行分析匹配,無法識別出其所使用的協(xié)議。如何準(zhǔn)確、迅速、高效的識別此類 數(shù)據(jù)包,成為深度包檢測(De印Packet Inspection, DPI)領(lǐng)域新的挑戰(zhàn)。因此,目前急需一種協(xié)議識別方法來對上述數(shù)據(jù)包進(jìn)行識別,以保證準(zhǔn)確、迅速、 高效的識別數(shù)據(jù)包。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提出一種協(xié)議識別方法、協(xié)議識別裝置及設(shè)備,以實(shí)現(xiàn)準(zhǔn)確、迅速、 高效的對數(shù)據(jù)包進(jìn)行協(xié)議識別。本發(fā)明實(shí)施例提供了一種協(xié)議識別方法,包括接收數(shù)據(jù)流;對所述數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,以獲得所述第一數(shù)據(jù)包的特征;當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入口條件所屬 的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則和所述第一數(shù)據(jù)包的樣本信息,其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議 相對應(yīng),所述統(tǒng)計(jì)規(guī)則包括入口條件及識別模式;接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的樣本信息;當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值時(shí),對記錄的數(shù)據(jù)包進(jìn)行統(tǒng)計(jì) 分析,以獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特征;判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所有識別模式相匹配, 當(dāng)所述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所使用的協(xié)議為所述入 口條件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議。本發(fā)明實(shí)施例還提供了一種協(xié)議識別裝置,包括接收模塊,用于接收數(shù)據(jù)流;特征獲取模塊,用于對所述數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,獲得所述第一 數(shù)據(jù)包的特征;查找模塊,用于當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入口條件所屬的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則,其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議相對應(yīng),所述 統(tǒng)計(jì)規(guī)則包括入口條件及識別模式;第一處理模塊,用于記錄所述第一數(shù)據(jù)包的樣本信息;第二處理模塊,用于接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的 樣本信息;統(tǒng)計(jì)特征獲取模塊,用于當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值時(shí), 對記錄的數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,以獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特征;識別模塊,用于判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所有識 別模式相匹配,當(dāng)所述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所使用 的協(xié)議為所述入口條件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議。本發(fā)明實(shí)施例還提供了一種網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備,包括接收端口、數(shù)據(jù)流識別引擎及協(xié) 議識別引擎,其中,所述接收端口用于向所述數(shù)據(jù)流識別引擎和所述協(xié)議識別引擎轉(zhuǎn)發(fā)數(shù) 據(jù)流,所述數(shù)據(jù)流識別弓I擎用于對數(shù)據(jù)流進(jìn)行識別,協(xié)議識別弓I擎為上述所述的協(xié)議識別
直O(jiān)本發(fā)明實(shí)施例提供的協(xié)議識別方法、協(xié)議識別裝置及設(shè)備,通過對數(shù)據(jù)流上的一 系列數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,獲得統(tǒng)計(jì)特征,并通過統(tǒng)計(jì)特征與統(tǒng)計(jì)規(guī)則的識別模式進(jìn)行匹 配識別出數(shù)據(jù)流所使用的協(xié)議,解決了現(xiàn)有技術(shù)無法識別特征較弱的數(shù)據(jù)包的問題,通過 對一系列數(shù)據(jù)包之間的統(tǒng)計(jì)特征進(jìn)行分析識別,滿足了現(xiàn)有識別方法無法識別的協(xié)議識別 需求比如數(shù)據(jù)流采用加密等協(xié)議。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例中所需要使用的 附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng) 域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的 附圖。圖1為本發(fā)明實(shí)施例提供的一種協(xié)議識別方法的流程圖;圖2為本發(fā)明實(shí)施例提供的另一種協(xié)議識別方法的流程圖;圖3為本發(fā)明實(shí)施例提供的協(xié)議識別裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明實(shí)施例提供的一種協(xié)議識別方法的流程圖。如圖1所示,該方法包 括步驟101、接收數(shù)據(jù)流;步驟102、對數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,以獲得所述第一數(shù)據(jù)包的特征;本步驟中,識別到一個新的數(shù)據(jù)流時(shí),就對該數(shù)據(jù)流的第一數(shù)據(jù)包進(jìn)行特征分析, 其中,這里的第一數(shù)據(jù)包是指匹配某一統(tǒng)計(jì)規(guī)則的入口條件的第一個數(shù)據(jù)包,不一定是該 數(shù)據(jù)流的第一個數(shù)據(jù)包,如果后續(xù)還有數(shù)據(jù)包滿足其它統(tǒng)計(jì)規(guī)則的入口條件,也可以認(rèn)為 該后續(xù)數(shù)據(jù)包是匹配該入口條件的第一數(shù)據(jù)包,其中,數(shù)據(jù)包的特征可以是其中某個或某 些字節(jié)的值。步驟103、當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入口 條件所屬的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則和所述第一數(shù)據(jù)包的樣本信息;其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議相對應(yīng),所述統(tǒng)計(jì)規(guī)則包括入口條件及識別模式,入口 條件為單包規(guī)則,如果某個數(shù)據(jù)包的某個特征匹配某一統(tǒng)計(jì)規(guī)則的入口條件,則可對從該 數(shù)據(jù)包開始的后續(xù)多個數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),對該多個數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)。假設(shè)某一統(tǒng)計(jì)規(guī)則的 入口條件為數(shù)據(jù)包的前5個字節(jié)為“AB⑶E”,如果某個數(shù)據(jù)包的前五個字節(jié)為“AB⑶E”,則 認(rèn)為該數(shù)據(jù)包匹配該統(tǒng)計(jì)規(guī)則的入口條件。由于匹配入口條件的數(shù)據(jù)包其特征不明顯,需 要統(tǒng)計(jì)后續(xù)多個數(shù)據(jù)包以得到統(tǒng)計(jì)特征,因此,從該數(shù)據(jù)包開始進(jìn)行統(tǒng)計(jì)。統(tǒng)計(jì)規(guī)則中的識別模式可為已接收的所述數(shù)據(jù)流上的所有數(shù)據(jù)包的包長度之和, 所有數(shù)據(jù)包的包長均值、包長序列、包長集合等,例如已接受到3個數(shù)據(jù)包,則所有數(shù)據(jù)包 的包長度之和為3個數(shù)據(jù)包的總長度;所有數(shù)據(jù)包的包長均值為3個數(shù)據(jù)包包長的平均值; 包長序列為第一數(shù)據(jù)包長度,第二個數(shù)據(jù)包的長度,第3個數(shù)據(jù)包的長度排成的序列值,例 如第一數(shù)據(jù)包長度為9,第二個數(shù)據(jù)包長度為4,第三個數(shù)據(jù)包長度為10,則包長序列為 9410 ;包長集合就是3個數(shù)據(jù)包長度組成的集合。數(shù)據(jù)包的樣本信息可以包括數(shù)據(jù)包的長 度、傳輸方向等,該樣本信息是后面步驟用于做統(tǒng)計(jì)分析的樣本。步驟104、接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的樣本信息;步驟105、當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值時(shí),對所述第一數(shù)據(jù) 包和所述后續(xù)數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,以獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特征;統(tǒng)計(jì)特征例如可以為包長為IOK的數(shù)據(jù)包有幾個,傳輸方向?yàn)榻邮盏挠袔讉€等等。步驟106、判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所有識別模 式相匹配,當(dāng)所述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所使用的協(xié) 議為所述入口條件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議。上述步驟101-步驟106可由網(wǎng)絡(luò)節(jié)點(diǎn)中的引擎執(zhí)行。本實(shí)施例提供的技術(shù)方案通過對數(shù)據(jù)流上的一系列數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,獲得統(tǒng) 計(jì)特征,并通過統(tǒng)計(jì)特征與統(tǒng)計(jì)規(guī)則的識別模式進(jìn)行匹配識別出數(shù)據(jù)流所使用的協(xié)議,能 夠?qū)Χ鄠€數(shù)據(jù)包之間存在統(tǒng)計(jì)關(guān)系的場景進(jìn)行協(xié)議識別,解決了現(xiàn)有技術(shù)無法識別特征較 弱的數(shù)據(jù)包的問題,通過對一系列數(shù)據(jù)包之間的統(tǒng)計(jì)特征進(jìn)行分析識別,滿足了現(xiàn)有識別 方法無法識別的協(xié)議,比如識別經(jīng)過加密的數(shù)據(jù)流。以Bit torrent加密協(xié)議識別為例,該協(xié)議為了保證信息安全將數(shù)據(jù)包中的具體 特征值略去,使用現(xiàn)有技術(shù)無法識別,而采用上述實(shí)施例,對一系列的數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分 析,得到數(shù)據(jù)流的統(tǒng)計(jì)特征第1個數(shù)據(jù)包的包長和傳輸方向是什么,第2到5個數(shù)據(jù)包的 包長之和以及第10到16個包的包長范圍是什么。當(dāng)?shù)?個數(shù)據(jù)包的包長和傳輸方向、第2到5個數(shù)據(jù)包的包長之和以及第10到16個包的包長范圍均滿足BT協(xié)議對應(yīng)的統(tǒng)計(jì)規(guī)則 中相應(yīng)的識別模式時(shí),認(rèn)為該一系列數(shù)據(jù)包匹配BT加密協(xié)議。圖2為本發(fā)明實(shí)施例提供的另一種協(xié)議識別方法的流程圖。網(wǎng)絡(luò)節(jié)點(diǎn)接收到某一 數(shù)據(jù)流之后,將該數(shù)據(jù)流的數(shù)據(jù)包發(fā)給引擎進(jìn)行識別,數(shù)據(jù)包通過如圖2所示的統(tǒng)計(jì)識別 流程進(jìn)行處理,具體包括步驟201、接收數(shù)據(jù)包;步驟202、分析所述數(shù)據(jù)包的特征;本步驟中,對接收的數(shù)據(jù)包進(jìn)行分析,得到數(shù)據(jù)包的特征,例如分析出該數(shù)據(jù)包中 某個或某些字節(jié)的值。步驟203、判斷數(shù)據(jù)包的特征是否匹配某一統(tǒng)計(jì)規(guī)則的入口條件;本步驟中,入口條件可以為數(shù)據(jù)包中某個或某些字節(jié)的固定值;若匹配,則執(zhí)行步 驟204 ;否則執(zhí)行步驟206。本步驟中,對于匹配的情況,可能是第一數(shù)據(jù)包的后續(xù)數(shù)據(jù)包, 也有可能是匹配其它入口條件的第一數(shù)據(jù)包。一般來說匹配統(tǒng)計(jì)規(guī)則的入口條件的數(shù)據(jù)包是網(wǎng)絡(luò)節(jié)點(diǎn)接收的數(shù)據(jù)流中進(jìn)入統(tǒng) 計(jì)階段的第一個數(shù)據(jù)包,而不一定是該數(shù)據(jù)流的第一個數(shù)據(jù)包。步驟204、是否已記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則;本步驟中查找的統(tǒng)計(jì)規(guī)則即記錄步驟203中匹配成功的入口條件對應(yīng)的統(tǒng)計(jì)規(guī) 則,如果已記錄到匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,為了避免重復(fù)記錄,執(zhí)行步驟206 ;否 則,執(zhí)行步驟205,以記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,說明該后續(xù)數(shù)據(jù)包為匹配其它 入口條件的第一數(shù)據(jù)包,需要記錄對應(yīng)的統(tǒng)計(jì)規(guī)則,進(jìn)行單獨(dú)的統(tǒng)計(jì)分析。本流程中,只考慮對一個協(xié)議的完整的識別流程,對于后續(xù)數(shù)據(jù)包中出現(xiàn)匹配其 它入口條件的第一數(shù)據(jù)包的情況,與此類似,在此不贅述。步驟205、查找所述入口條件所屬的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則;本步驟中,可能該數(shù)據(jù)流中,可能匹配不同的入口條件,因此,針對不同的入口條 件都需要記錄所屬的統(tǒng)計(jì)規(guī)則。步驟206、記錄數(shù)據(jù)包的樣本信息和數(shù)量;本步驟中,數(shù)據(jù)包的樣本信息可以包括長度,數(shù)據(jù)包的傳輸傳輸方向等,可以根據(jù) 具體的情況自由設(shè)定。本實(shí)施例中,對于步驟201至步驟206,還有一種處理方式對于第一數(shù)據(jù)包已經(jīng) 匹配了入口條件,并記錄了匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則之后,進(jìn)入了統(tǒng)計(jì)階段,對于后 續(xù)的數(shù)據(jù)包,只需執(zhí)行步驟201、步驟206,然后,跳轉(zhuǎn)至步驟207繼續(xù)執(zhí)行即可。步驟207、判斷記錄的數(shù)據(jù)包的數(shù)量是否達(dá)到預(yù)設(shè)值;本步驟中,若未達(dá)到,則繼續(xù)執(zhí)行步驟201,直至數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值;若達(dá) 到預(yù)設(shè)值則執(zhí)行步驟208。其中,預(yù)設(shè)值視實(shí)際情況而定,只要足以反映出數(shù)據(jù)流的統(tǒng)計(jì)特 征即可。如假設(shè)16個數(shù)據(jù)包可以統(tǒng)計(jì)出數(shù)據(jù)流的統(tǒng)計(jì)特征,則該預(yù)設(shè)值可以設(shè)為16或不 小于16的值。步驟208、對記錄的數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,以得到所述數(shù)據(jù)流的統(tǒng)計(jì)特 征。例如對記錄的16個數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,假設(shè)其中包長范圍為9kbit 151cbit的數(shù)據(jù)包有10個,傳輸方向?yàn)閼?yīng)答的數(shù)據(jù)包有15個,經(jīng)過統(tǒng)計(jì)分析得到這 16個數(shù)據(jù)包所屬數(shù)據(jù)流具有的統(tǒng)計(jì)特征包長范圍91cbit 151cbit的概率為62. 5%,傳輸 方向?yàn)閼?yīng)答的概率為93. 75%。步驟209、判斷數(shù)據(jù)流的統(tǒng)計(jì)特征是否匹配記錄的統(tǒng)計(jì)規(guī)則的所有識別模式;本步驟中,當(dāng)匹配時(shí),執(zhí)行步驟210 ;當(dāng)不匹配時(shí),執(zhí)行步驟211。仍然以步驟208所舉例為例,本步驟判斷包長范圍91ibit 151ibit的概率為 62. 5%,以及傳輸方向?yàn)閼?yīng)答的概率為93. 75%,這兩項(xiàng)統(tǒng)計(jì)信息是否與步驟M中記錄的 統(tǒng)計(jì)規(guī)則的所有識別模式相匹配,若是,則識別成功,所述數(shù)據(jù)流所使用的協(xié)議即步驟205 中查找到的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議,返回識別成功結(jié)果及所識別出的協(xié)議信息,流程結(jié)束;否 則,識別失敗,返回識別失敗結(jié)果,流程結(jié)束。圖3為本發(fā)明實(shí)施例提供的協(xié)議識別裝置的結(jié)構(gòu)示意圖,可以應(yīng)用上述方法,由 于方法和裝置實(shí)施例的相似性,對同樣的技術(shù)特征,本發(fā)明實(shí)施例中不再重復(fù)。如圖3所 示,協(xié)議識別裝置包括接收模塊310、特征獲取模塊320、查找模塊330、第一處理模塊340、 第二處理模塊350、統(tǒng)計(jì)特征獲取模塊360及識別模塊370。接收模塊310,用于接收數(shù)據(jù)流。特征獲取模塊320,用于對所述數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,獲得所述第 一數(shù)據(jù)包的特征。所述統(tǒng)計(jì)特征獲取模塊320可具體用于獲得已接收的所述數(shù)據(jù)流上的所 有數(shù)據(jù)包的包長度之和,獲取所有數(shù)據(jù)包的包長均值、包長序列、包長集合。查找模塊330,用于當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找 所述入口條件所屬的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則,其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議相對應(yīng),所 述統(tǒng)計(jì)規(guī)則包括入口條件及識別模式。所述查找模塊330記錄所述第一個數(shù)據(jù)包的樣本信 息可具體為記錄所述第一數(shù)據(jù)包的長度及傳輸方向。所述查找模塊330記錄所述后續(xù)數(shù)據(jù) 包的樣本信息可具體為記錄所述后續(xù)數(shù)據(jù)包的長度及傳輸方向。第一處理模塊340,用于記錄所述第一數(shù)據(jù)包的樣本信息;第二處理模塊350,用于接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包 的樣本信息;統(tǒng)計(jì)特征獲取模塊360,用于當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值 時(shí),對所述第一數(shù)據(jù)包和所述后續(xù)數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,以獲得所述數(shù)據(jù)流的 統(tǒng)計(jì)特征;識別模塊370,用于判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所 有識別模式相匹配,當(dāng)所述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所 使用的協(xié)議為所述入口條件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議議。本實(shí)施例提供的協(xié)議識別裝置通過統(tǒng)計(jì)特征獲取模塊對數(shù)據(jù)流上的一系列數(shù)據(jù) 包進(jìn)行統(tǒng)計(jì)分析,獲得統(tǒng)計(jì)特征,并通過識別模塊對統(tǒng)計(jì)特征與統(tǒng)計(jì)規(guī)則的識別模式進(jìn)行 匹配識別出數(shù)據(jù)流所使用的協(xié)議,解決了現(xiàn)有技術(shù)無法識別特征較弱的數(shù)據(jù)包的問題,通 過對一系列數(shù)據(jù)包之間的統(tǒng)計(jì)特征進(jìn)行分析識別,滿足了現(xiàn)有識別方法無法識別的協(xié)議識 別需求比如數(shù)據(jù)流采用加密等協(xié)議。其中,第二處理模塊;350,還可以包括特征獲取單元351,對所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包進(jìn)行特征分析,以獲得所述后續(xù)數(shù)據(jù)包的特征;樣本記錄單元352,當(dāng)查找到與所述后續(xù)數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找 所述入口條件所屬的統(tǒng)計(jì)規(guī)則,判斷是否已記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,若已記 錄,則記錄所述后續(xù)數(shù)據(jù)包的樣本信息和已接收數(shù)據(jù)包的個數(shù);當(dāng)查未找到與所述后續(xù)數(shù) 據(jù)包的特征相匹配的入口條件時(shí),判斷是否已記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,若已 記錄,則記錄所述后續(xù)數(shù)據(jù)包的樣本信息和已接收數(shù)據(jù)包的個數(shù)圖4為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備結(jié)構(gòu)示意圖。如圖4所示,網(wǎng)絡(luò)節(jié)點(diǎn)設(shè) 備包括一種網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備,其特征在于,包括接收端口 410,數(shù)據(jù)流識別引擎420,協(xié)議識 別引擎430,其中,接收端口 410用于向所述數(shù)據(jù)流識別引擎420和所述協(xié)議識別引擎430 轉(zhuǎn)發(fā)數(shù)據(jù)流,所述數(shù)據(jù)流識別引擎420用于對數(shù)據(jù)流進(jìn)行識別,協(xié)議識別引擎430,具有統(tǒng) 計(jì)識別功能,能夠?qū)?shù)據(jù)包之間存在關(guān)系的數(shù)據(jù)流進(jìn)行統(tǒng)計(jì)識別,識別出其所使用的協(xié)議。 協(xié)議識別引擎430可為上述裝置實(shí)施例提供的任一協(xié)議識別裝置。本實(shí)施例提供的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備通過協(xié)議識別裝置對數(shù)據(jù)流上的一系列數(shù)據(jù)包進(jìn) 行統(tǒng)計(jì)分析,獲得統(tǒng)計(jì)特征,并通過統(tǒng)計(jì)特征與統(tǒng)計(jì)規(guī)則的識別模式進(jìn)行匹配識別出數(shù)據(jù) 流所使用的協(xié)議,解決了現(xiàn)有技術(shù)無法識別特征較弱的數(shù)據(jù)包的問題,通過對一系列數(shù)據(jù) 包之間的統(tǒng)計(jì)特征進(jìn)行分析識別,滿足了現(xiàn)有識別方法無法識別的協(xié)議識別需求比如數(shù)據(jù) 流采用加密等協(xié)議。本發(fā)明上述實(shí)施例適用于常見的識別流程,支持多種形式的匹配條件,假設(shè)一條 統(tǒng)計(jì)規(guī)則包括三個識別模式a、b、c,則匹配條件可為a、b、c全與、a、b、c全或,也可以是復(fù) 雜關(guān)系,比如匹配條件為a&(b|c)即滿足a的同時(shí),b和c中至少滿足一個,大大提高了協(xié) 議識別的成功率,尤其是對于現(xiàn)有技術(shù)無法識別的協(xié)議(比如加密等),擴(kuò)大了協(xié)議識別范 圍,能夠滿足更多業(yè)務(wù)需求。并且,當(dāng)數(shù)據(jù)流中的數(shù)據(jù)包的特征較弱,而多個數(shù)據(jù)包存在較 明顯的統(tǒng)計(jì)特征時(shí),現(xiàn)有技術(shù)采用單獨(dú)識別的方式準(zhǔn)確性較差,而采用本發(fā)明上述實(shí)施例 提供的技術(shù)方案則具有較高的準(zhǔn)確性。對于新的網(wǎng)絡(luò)應(yīng)用協(xié)議,可以通過更新規(guī)則進(jìn)行擴(kuò) 展,增強(qiáng)了現(xiàn)網(wǎng)產(chǎn)品的可擴(kuò)展性、健壯性和可維護(hù)性,減少了出錯幾率和維護(hù)成本。上述實(shí)施例基于統(tǒng)計(jì)的協(xié)議識別不僅可用于DPI,在其他領(lǐng)域,比如垃圾郵件、 DDOS等現(xiàn)網(wǎng)應(yīng)用,都可以基于統(tǒng)計(jì)進(jìn)行處理比如先獲取基線值,當(dāng)統(tǒng)計(jì)特征與基線存在 極大差異的時(shí)候即認(rèn)為異常發(fā)生的可能性極大,均可使用上述實(shí)施例提供的技術(shù)方案進(jìn)行 協(xié)議識別,擴(kuò)大了協(xié)議識別的使用范圍。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者 光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
9
權(quán)利要求
1.一種協(xié)議識別方法,其特征在于,包括 接收數(shù)據(jù)流;對所述數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,以獲得所述第一數(shù)據(jù)包的特征; 當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入口條件所屬的統(tǒng) 計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則和所述第一數(shù)據(jù)包的樣本信息,其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議相對 應(yīng),所述統(tǒng)計(jì)規(guī)則包括入口條件及識別模式;接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的樣本信息; 當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值時(shí),對記錄的數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分 析,以獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特征;判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所有識別模式相匹配,當(dāng)所 述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所使用的協(xié)議為所述入口條 件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議。
2.根據(jù)權(quán)利要求1所述的協(xié)議識別方法,其特征在于,所述接收所述數(shù)據(jù)流上的后續(xù) 數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的樣本信息,包括對所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包進(jìn)行特征分析,以獲得所述后續(xù)數(shù)據(jù)包的特征; 當(dāng)查找到與所述后續(xù)數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入口條件所屬的統(tǒng) 計(jì)規(guī)則,判斷是否已記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,若已記錄,則記錄所述后續(xù)數(shù)據(jù) 包的樣本信息和已接收數(shù)據(jù)包的個數(shù);當(dāng)未查找到與所述后續(xù)數(shù)據(jù)包的特征相匹配的入口條件時(shí),則記錄所述后續(xù)數(shù)據(jù)包的 樣本信息和已接收數(shù)據(jù)包的個數(shù)。
3.根據(jù)權(quán)利要求1所述的協(xié)議識別方法,其特征在于,所述獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特 征包括對已接收的所述數(shù)據(jù)流上的所有數(shù)據(jù)包的包長求和、獲取所有數(shù)據(jù)包的包長范圍、獲 取所有數(shù)據(jù)包的包長均值、包長序列、包長集合。
4.根據(jù)權(quán)利要求1或2所述的協(xié)議識別方法,其特征在于,記錄所述第一個數(shù)據(jù)包的樣 本信息具體為記錄所述第一數(shù)據(jù)包的長度及傳輸方向。
5.根據(jù)權(quán)利要求1或2所述的協(xié)議識別方法,其特征在于,記錄所述后續(xù)數(shù)據(jù)包的樣本 信息具體為記錄所述后續(xù)數(shù)據(jù)包的長度及傳輸方向。
6.一種協(xié)議識別裝置,其特征在于,包括 接收模塊,用于接收數(shù)據(jù)流;特征獲取模塊,用于對所述數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,獲得所述第一數(shù)據(jù) 包的特征;查找模塊,用于當(dāng)查找到與所述第一數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入 口條件所屬的統(tǒng)計(jì)規(guī)則,記錄所述統(tǒng)計(jì)規(guī)則,其中,所述統(tǒng)計(jì)規(guī)則與協(xié)議相對應(yīng),所述統(tǒng)計(jì) 規(guī)則包括入口條件及識別模式;第一處理模塊,用于記錄所述第一數(shù)據(jù)包的樣本信息;第二處理模塊,用于接收所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄所述后續(xù)數(shù)據(jù)包的樣本 fn息;統(tǒng)計(jì)特征獲取模塊,用于當(dāng)接收的所述數(shù)據(jù)流上的數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)值時(shí),對記錄的數(shù)據(jù)包的樣本信息進(jìn)行統(tǒng)計(jì)分析,以獲得所述數(shù)據(jù)流的統(tǒng)計(jì)特征;識別模塊,用于判斷所述統(tǒng)計(jì)特征是否與所述入口條件所屬的統(tǒng)計(jì)規(guī)則的所有識別模 式相匹配,當(dāng)所述統(tǒng)計(jì)特征與所述所有識別模式相匹配時(shí),判斷出所述數(shù)據(jù)流所使用的協(xié) 議為所述入口條件所屬的統(tǒng)計(jì)規(guī)則對應(yīng)的協(xié)議。
7.根據(jù)權(quán)利要求6所述的協(xié)議識別裝置,其特征在于,所述第二處理模塊,包括特征獲取單元,對所述數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包進(jìn)行特征分析,以獲得所述后續(xù)數(shù)據(jù)包 的特征;樣本記錄單元,當(dāng)查找到與所述后續(xù)數(shù)據(jù)包的特征相匹配的入口條件時(shí),查找所述入 口條件所屬的統(tǒng)計(jì)規(guī)則,判斷是否已記錄匹配的入口條件所屬的統(tǒng)計(jì)規(guī)則,若已記錄,則記 錄所述后續(xù)數(shù)據(jù)包的樣本信息和已接收數(shù)據(jù)包的個數(shù);當(dāng)未查找到與所述后續(xù)數(shù)據(jù)包的特 征相匹配的入口條件時(shí),則記錄所述后續(xù)數(shù)據(jù)包的樣本信息和已接收數(shù)據(jù)包的個數(shù)。
8.根據(jù)權(quán)利要求7所述的協(xié)議識別裝置,其特征在于,所述統(tǒng)計(jì)特征獲取模塊具體用 于獲得已接收的所述數(shù)據(jù)流上的所有數(shù)據(jù)包的包長度之和,獲取所有數(shù)據(jù)包的包長均值、 包長序列、包長集合。
9.根據(jù)權(quán)利要求7所述的協(xié)議識別裝置,其特征在于,所述樣本記錄單元記錄所述第 一個數(shù)據(jù)包的樣本信息具體為記錄所述第一數(shù)據(jù)包的長度及傳輸方向。
10.根據(jù)權(quán)利要求7所述的協(xié)議識別裝置,其特征在于,所述樣本記錄單元記錄所述后 續(xù)數(shù)據(jù)包的樣本信息具體為記錄所述后續(xù)數(shù)據(jù)包的長度及傳輸方向。
11.一種網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備,其特征在于,包括接收端口、數(shù)據(jù)流識別引擎及協(xié)議識別引 擎,其中,所述接收端口用于向所述數(shù)據(jù)流識別引擎和所述協(xié)議識別引擎轉(zhuǎn)發(fā)數(shù)據(jù)流,所述 數(shù)據(jù)流識別引擎用于對數(shù)據(jù)流進(jìn)行識別,協(xié)議識別引擎為權(quán)利要求6-10任一項(xiàng)所述的協(xié) 議識別裝置。
全文摘要
本發(fā)明涉及一種協(xié)議識別方法、協(xié)議識別裝置及設(shè)備,方法包括接收數(shù)據(jù)流;對數(shù)據(jù)流上的第一數(shù)據(jù)包進(jìn)行特征分析,以獲得第一數(shù)據(jù)包的特征;在第一數(shù)據(jù)包的特征滿足統(tǒng)計(jì)規(guī)則的入口條件的情況下,記錄第一數(shù)據(jù)包所滿足的入口條件所屬的統(tǒng)計(jì)規(guī)則,及第一個數(shù)據(jù)包的樣本信息,其中,統(tǒng)計(jì)規(guī)則與協(xié)議相對應(yīng),統(tǒng)計(jì)規(guī)則包括入口條件及識別模式;接收數(shù)據(jù)流上的后續(xù)數(shù)據(jù)包,并記錄后續(xù)數(shù)據(jù)包的樣本信息;通過對數(shù)據(jù)流上的一系列數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,并與統(tǒng)計(jì)規(guī)則的所有識別模式進(jìn)行匹配識別出數(shù)據(jù)流所使用的協(xié)議,解決了現(xiàn)有技術(shù)無法識別特征較弱的數(shù)據(jù)包的問題,滿足了現(xiàn)有識別方法無法識別的協(xié)議識別需求比如數(shù)據(jù)流采用加密等協(xié)議。
文檔編號H04L12/24GK102111401SQ20101060516
公開日2011年6月29日 申請日期2010年12月16日 優(yōu)先權(quán)日2010年12月16日
發(fā)明者張?jiān)? 申請人:成都市華為賽門鐵克科技有限公司