未明協(xié)議特征庫建立方法、未明報文分類方法及相關(guān)裝置的制造方法
【專利摘要】本發(fā)明公開了一種未明協(xié)議特征庫建立方法,包括:獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的報文;對所述報文集樣本進行預處理,生成預處理后的報文集;基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇;基于改進的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征;對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特征字符串;根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議特征庫。上述方法能夠適用于多種未明協(xié)議混合的情形。相應(yīng)的,本發(fā)明還公開了一種未明報文分類方法及相關(guān)裝置。
【專利說明】
未明協(xié)議特征庫建立方法、未明報文分類方法及相關(guān)裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及信息處理技術(shù)領(lǐng)域,更具體的說,是設(shè)及一種未明協(xié)議特征庫建立方 法、未明報文分類方法及相關(guān)裝置。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)中實體進行通信的規(guī)范。網(wǎng)絡(luò)協(xié)議運行,產(chǎn)生與該協(xié)議對應(yīng)的報 文,稱為網(wǎng)絡(luò)流量。網(wǎng)絡(luò)流量的分類是指根據(jù)產(chǎn)生該流量的協(xié)議和應(yīng)用不同對網(wǎng)絡(luò)流量進 行的分類。網(wǎng)絡(luò)流量分類是進行網(wǎng)絡(luò)安全監(jiān)控、入侵檢測、計費和服務(wù)質(zhì)量保障等網(wǎng)絡(luò)管理 操作的基礎(chǔ)。近年來,網(wǎng)絡(luò)中出現(xiàn)了大量私有、非標準協(xié)議,把運些協(xié)議稱為"未明協(xié)議",把 由運些協(xié)議運行所產(chǎn)生的網(wǎng)絡(luò)報文稱為"未明報文"。
[0003] 傳統(tǒng)的基于報文載荷的分類方法需要預先知道協(xié)議的特征字符串。對于未明協(xié)議 分類問題,為了應(yīng)用基于報文載荷的分類方法,需要研究如何自動提取未明協(xié)議的特征字 符串。
[0004] 現(xiàn)有的自動提取未明協(xié)議的特征字符串的方法主要是面向純凈的未明協(xié)議報文 集合,然而,在實際中往往是多種未明協(xié)議混合的情形。使用現(xiàn)有的自動提取未明協(xié)議的特 征字符串的方法對混合了多種不同未明協(xié)議的報文進行特征字符串提取,所得結(jié)果不能作 為未明協(xié)議的分類特征。而且,現(xiàn)有的自動提取未明協(xié)議的特征字符串的方法主要是針對 頻繁字符串的提取,然而,頻繁字符串并不等價于未明協(xié)議的特征字符串,運將導致自動提 取的未明協(xié)議的特征字符串不準確,影響未明協(xié)議的分類結(jié)果。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供了一種未明協(xié)議特征庫建立方法、未明報文分類方法及相 關(guān)裝置,W克服采用現(xiàn)有技術(shù)中自動提取未明協(xié)議的特征字符串的方法對混合了多種不同 未明協(xié)議的報文進行特征字符串提取導致自動提取的未明協(xié)議的特征字符串不準確,影響 未明協(xié)議的分類結(jié)果的問題。
[0006] 為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0007] -種未明協(xié)議特征庫建立方法,包括:
[000引獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的報文;
[0009] 對所述報文集樣本進行預處理,生成預處理后的報文集;
[0010] 基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇;
[0011] 基于改進的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征;
[0012] 對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特征字符串;
[0013] 根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議特征庫。
[0014] 優(yōu)選的,所述對所述報文集樣本進行預處理生成預處理后的報文集,具體包括:
[0015] 刪除所述報文集樣本中的殘報文;
[0016] 提取刪除殘報文之后的報文集樣本中每個報文的前no個字節(jié),no為大于0的正整 數(shù);
[0017] 將所述每個報文的前no個字節(jié)組合生成所述預處理后的報文集。
[0018] 優(yōu)選的,所述基于改進的Kmeans算法對所述預處理的報文集合進行聚類生成多個 報文簇,具體包括:
[0019] 基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲得與所 述預設(shè)次數(shù)相等數(shù)量的分簇結(jié)果;
[0020] 計算每個分簇結(jié)果對應(yīng)的誤差平方和的值;
[0021] 確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文簇。
[0022] 優(yōu)選的,所述對所述多個頻繁特征進行處理確定至少一個未明協(xié)議特征字符串, 具體包括:
[0023] 采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確定至少一 個未明協(xié)議特征字符串:
[0024] 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)口限的頻繁特征;
[0025] 對所述多個頻繁特征中相同的頻繁特征,保留一個;
[0026] 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征;
[0027] 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。
[0028] -種未明報文分類方法,根據(jù)上述未明協(xié)議特征庫建立方法確定分類器,則所述 方法包括:
[0029] 獲取待處理的報文集,所述報文集樣本中包含多種未明協(xié)議的報文;
[0030] 根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類報文;
[0031] 輸出所述已分類報文。
[0032] 優(yōu)選的,所述方法還包括:
[0033] 確定未分類報文;
[0034] 判斷所述未分類報文的數(shù)量是否大于預設(shè)闊值;
[0035] 當所述未分類報文的數(shù)量小于預設(shè)闊值時,輸出未分類報文;
[0036] 當所述未分類報文的數(shù)量大于預設(shè)闊值時,將所述未分類報文作為報文集樣本, 采用權(quán)利要求上述的未明協(xié)議特征庫建立方法更新未明協(xié)議特征庫。
[0037] -種未明協(xié)議特征庫建立裝置,包括:
[0038] 報文集樣本獲取單元,用于獲取報文集樣本,所述報文集樣本中包含多種未明協(xié) 議的報文;
[0039] 預處理單元,用于對所述報文集樣本進行預處理,生成預處理后的報文集;
[0040] 報文簇生成單元,用于基于改進的Kmeans算法對所述預處理后的報文集進行聚 類,生成多個報文簇;
[0041 ]頻繁特征生成單元,用于基于改進的Apriori算法提取每個報文簇中的頻繁特征, 生成多個頻繁特征;
[0042] 特征字符串確定單元,用于對所述多個頻繁特征進行處理,確定至少一個未明協(xié) 議特征字符串;
[0043] 未明協(xié)議特征庫建立單元,用于根據(jù)所述至少一個未明協(xié)議特征字符串建立未明 協(xié)議特征庫。
[0044] 優(yōu)選的,所述預處理單元具體用于:
[0045] 刪除所述報文集樣本中的殘報文;
[0046] 提取刪除殘報文之后的報文集樣本中每個報文的前nO個字節(jié),nO為大于0的正整 數(shù);
[0047] 將所述每個報文的前nO個字節(jié)組合生成所述預處理后的報文集。
[0048] 優(yōu)選的,所述報文簇生成單元,具體用于:
[0049] 基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲得與所 述預設(shè)次數(shù)相等數(shù)量的分簇結(jié)果;
[0050] 計算每個分簇結(jié)果對應(yīng)的誤差平方和的值;
[0051] 確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文簇。
[0052] 優(yōu)選的,所述特征字符串確定單元具體用于:
[0053] 采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確定至少一 個未明協(xié)議特征字符串:
[0054] 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)口限的頻繁特征;
[0055] 對所述多個頻繁特征中相同的頻繁特征,保留一個;
[0056] 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征;
[0057] 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。
[0058] -種未明報文分類裝置,根據(jù)上述的未明協(xié)議特征庫建立裝置確定分類器,則所 述未明報文分類裝置包括:
[0059] 報文集獲取單元,用于獲取待處理的報文集,所述報文集樣本中包含多種未明協(xié) 議的報文;
[0060] 分類單元,用于根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類報 文;
[0061] 輸出單元,用于輸出所述已分類報文。
[0062] 優(yōu)選的,所述分類單元,還用于確定未分類報文;
[0063] 則所述裝置還包括:
[0064] 判斷單元,用于判斷所述未分類報文的數(shù)量是否大于預設(shè)闊值;
[0065] 處理單元,用于當所述未分類報文的數(shù)量小于預設(shè)闊值時,輸出未分類報文;當所 述未分類報文的數(shù)量大于預設(shè)闊值時,將所述未分類報文作為報文集樣本,采用上述的未 明協(xié)議特征庫建立裝置更新未明協(xié)議特征庫。
[0066] 經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開了一種未明協(xié)議特征庫 建立方法,包括:獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的報文;對所述報 文集樣本進行預處理,生成預處理后的報文集;基于改進的Kmeans算法對所述預處理后的 報文集進行聚類,生成多個報文簇;基于改進的Apriori算法提取每個報文簇中的頻繁特 征,生成多個頻繁特征;對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特征字符 串;根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議特征庫。上述方法能夠適用于多 種未明協(xié)議混合的情形。相應(yīng)的,本發(fā)明還公開了一種未明報文分類方法及相關(guān)裝置。
【附圖說明】
[0067] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù) 提供的附圖獲得其他的附圖。
[0068] 圖1為本發(fā)明實施例公開的一種未明協(xié)議特征庫建立方法流程示意圖;
[0069] 圖2為本發(fā)明實施例公開的一種未明報文分類方法流程示意圖;
[0070] 圖3為本發(fā)明實施例公開的一種未明協(xié)議特征庫建立裝置結(jié)構(gòu)示意圖;
[0071] 圖4為本發(fā)明實施例公開的一種未明報文分類裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0072] 為了引用和清楚起見,下文中使用的技術(shù)名詞的說明、簡寫或縮寫總結(jié)如下:
[0073] 殘報文:若報文的實際長度小于設(shè)計長度,則稱該報文為殘報文。例如,把報文記 作d,用d.POS表示報文d的第POS個字節(jié)的取值,用d. Ien表示報文d的實際長度。假定報文中 存在長度域Leng化,它的起始位置呆
它的長度(按字節(jié)計)是Leng化.Ien =t,則一個報文的設(shè)計長度3
則該 報文為殘報文。
[0074] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0075] 本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第二"等是用于區(qū)別 類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解運樣使用的術(shù)語在適當情 況下可W互換,運僅僅是描述本發(fā)明的實施例中對相同屬性的對象在描述時所采用的區(qū)分 方式。此外,術(shù)語"包括"和"具有"W及他們的任何變形,意圖在于覆蓋不排他的包含,W便 包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒有清楚 地列出的或?qū)τ谶\些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。
[0076] 由【背景技術(shù)】可知,使用現(xiàn)有的自動提取未明協(xié)議的特征字符串的方法對混合了多 種不同未明協(xié)議的報文進行特征字符串提取,所得結(jié)果不能作為未明協(xié)議的分類特征。而 且,現(xiàn)有的自動提取未明協(xié)議的特征字符串的方法主要是針對頻繁字符串的提取,然而,頻 繁字符串并不等價于未明協(xié)議的特征字符串,運將導致自動提取的未明協(xié)議的特征字符串 不準確,影響未明協(xié)議的分類結(jié)果。
[0077] 為此,本發(fā)明公開了一種未明協(xié)議特征庫建立方法,包括:獲取報文集樣本,所述 報文集樣本中包含多種未明協(xié)議的報文;對所述報文集樣本進行預處理,生成預處理后的 報文集;基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇;基于 改進的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征;對所述多個頻繁特 征進行處理,確定至少一個未明協(xié)議特征字符串;根據(jù)所述至少一個未明協(xié)議特征字符串 建立未明協(xié)議特征庫。上述方法能夠適用于多種未明協(xié)議混合的情形。相應(yīng)的,本發(fā)明還公 開了一種未明報文分類方法及相關(guān)裝置。
[0078] 為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本發(fā)明作進一步詳細的說明。
[0079] 在本發(fā)明中,假定所設(shè)及的報文均按字節(jié)定義,且報文之間彼此獨立,每個報文的 特征字符串均在該報文所對應(yīng)序列的固定位置。其中,在報文中頻繁出現(xiàn)的,且能夠識別該 類協(xié)議的字符串,被定義為特征字符串。
[0080] 實施例一
[0081] 請參閱附圖1,為本發(fā)明實施例公開的一種未明協(xié)議特征庫建立方法流程示意圖, 該方法具體包括如下步驟:
[0082] SlOl:獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的報文;
[0083] S102:對所述報文集樣本進行預處理,生成預處理后的報文集;
[0084] 具體的,該步驟包括:
[0085] S1021:刪除所述報文集樣本中的殘報文。
[0086] 由于接收質(zhì)量的原因,報文集樣本中存在殘報文,需要將其刪除。
[0087] 假設(shè)報文集樣本為其中包含報文d,如男
貝IJ 從中刪除該報文d。刪除殘報文之后,得到的報文集合記為D,其中包含的報文樣本數(shù)N =|d| O
[0088] S1022:提取刪除殘報文之后的報文集樣本中每個報文的前nO個字節(jié),nO為大于0 的正整數(shù)。
[0089] 根據(jù)對報文格式的假定,報文中的特征字符串出現(xiàn)在位置靠前的地方的可能性很 高,因此,對D中包含的每個報文樣本,提取前nO個字節(jié),若報文樣本的長度不足nO,則補0。
[0090] S1023:將所述每個報文的前no個字節(jié)組合生成所述預處理后的報文集。
[0091] 預處理后的報文集與報文集樣本相比,有所縮減。
[0092] S103:基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文 簇;
[0093] 具體的,該步驟包括:
[0094] S1031:基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲 得與所述預設(shè)次數(shù)相等數(shù)量的分簇結(jié)果;
[00M] S1032:計算每個分簇結(jié)果對應(yīng)的誤差平方和的值;
[0096] S1033:確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文 簇。
[0097] 由于經(jīng)典的Kmeans算法的結(jié)果受隨機初始值的影響,故本實施例中對所述預處理 后的報文集進行多輪聚類,得到多個分簇結(jié)果,并取誤差平方和的值最小的分簇結(jié)果。經(jīng)過 該種方法取得的分簇結(jié)果更為精確。
[0098] 基于此,本實施例公開了如下生成報文簇的示例:
[0099] 首先,把D中的第i個樣本記為山,看作一個no維矢量,即4 =K,i:…,幸所]對樣 O 本i和j,采用歐氏距離定義二者的距離,如下式:
[0100] (I)
[0101] 貝IJ,基于改進Kmeans算法的未明報文聚類的基本步驟如下:
[0102] 1、初始化:設(shè)定如下變量的初始值。
[0103] Round,輪數(shù),初始值為M;
[0104] S:誤差平方和,初始值為max;
[0105] Y:報文簇的簇屯、;
[0106] V:報文簇的數(shù)量,初始值為其中,C是常數(shù),可W取1~5,N是預處理后的報 文集中的報文樣本數(shù);
[01 07] I terMax:最大迭代次數(shù),初始值為100;
[010引e:相對誤差最小增量,初始值為le-5;
[0109] r:輪次變量,初始值為1。
[0110] 2、若'< Round,完成如下操作:
[01川 a)隨機選擇V個樣本點作為初始化簇屯、,記為Y(i) = [yi,i,. . .,yi,v],迭代次數(shù)t = l
[0112] b)對于第i個樣本di,選擇滿足如下要求的簇屯、,
[0113]
(2)
[0114] C)根據(jù)步驟b)中計算得到的簇屯、,計算本次迭代所得分簇結(jié)果的誤差平方和,如 式
[0115]
(3)
[( 且t<IterMax,則記錄本次迭代的簇屯、護> =W,...,_V^]轉(zhuǎn) 步驟d);否則轉(zhuǎn)步驟e)。
[0117] d)t = t+l,采用下面的方法記錄分簇結(jié)果,即,
[011 引
(4)
[
[ (5)
[ (6)
[0122] 對Cf采用下面的方法計算簇屯、
[0123]
(7)
[0124] 記錄戶"> =[乂"",…,乂"n],令t = t+l,轉(zhuǎn)步驟b)。
[012引e)記錄本輪計算得到的簇屯、Y和誤差平方和SW,若,則S = =SWj = YW
[0126] 3、輸出結(jié)果Y,利用(2)式為每個樣本找到簇屯、,然后利用式(7)計算分簇結(jié)果C_ result = (Cv,V = 1,. . .,V}。
[0127] S104:基于改進的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特 征;
[0128] 經(jīng)過S103的處理,得到了相對純凈的報文簇,即,每個報文簇中包含的大多數(shù)報文 樣本屬于同一類未明協(xié)議。本步驟中,W每個報文簇中的樣本為輸入,采用改進的Apriori 算法提取每個報文簇中的頻繁特征,生成多個頻繁特征。
[0129] 對此,本發(fā)明實施例公開了一種生成多個頻繁特征的具體示例,如下:
[0130] 首先,確定如下定義:
[0131] 含位置信息的字符:由字符和字符在帖中的位置兩部分構(gòu)成,第n個元素用Chan^ POSn來表不,chan是第n個兀素的字符,POSn代表該字符在帖中的位置,簡記為Cn。
[0132] 相等:對Cn 和Cm,若chan = cham Hpo Sn = PO Sm,則稱Cn 和Cm 相等。
[0133] k項集:由k個字符組成的集合,記為
[0134] 支持度:項集在簇內(nèi)所有帖中出現(xiàn)的頻率,假設(shè)在N帖中包含Ik的帖數(shù)為X,則支持 度為:
[0135] sup (Ik)=XZN
[0136]頻繁k項集:支持度大于min support的k項集稱為頻繁k項集,用1 W來表示,
[0137] 頻繁項集的集合:把構(gòu)成的集合稱為頻繁k項集的集合,用Lk表示。用I Lkl表示 頻繁k項集的個數(shù)。
[0138] 偵向量:將頻繁1巧集按仿晉先后進行排序,定義第i帖向量為
[0139]
[0140] 其中,若第i帖存在字符chak,且其位置為posk,則其特征4對應(yīng)的值為k,否則為 空。
[0141] 利用改進的Apriori算法對第V個報文簇進行頻繁特征提取,提取結(jié)果保存在頻繁 特征集L(V)中.具體步驟如下:
[0142] 1、提取頻繁1項。構(gòu)建包含位置信息的字符,并統(tǒng)計各元素在簇內(nèi)所有帖中出現(xiàn)的 次數(shù),根據(jù)設(shè)定的最小支持度闊值minsupport,保留出現(xiàn)次數(shù)大于最小支持度闊值的項作 為頻繁1項。
[0143] 2、構(gòu)建帖向量表。將頻繁I項與簇內(nèi)數(shù)據(jù)帖對比,針對每條數(shù)據(jù)帖構(gòu)建帖向量,然 后將所有的帖向量組合生成帖特征向量表。
[0144] 假設(shè)有五帖待處理的數(shù)據(jù)帖,六個頻繁1項,分別由C1-C6表示,其位置關(guān)系為POSi < POS2 < POS3 < POS4 < POS5 < POS6,卯J建立特征向量表如下:
[0145]
[0146] 五行數(shù)據(jù)分別為五帖數(shù)據(jù)對應(yīng)的帖向量。
[0147] 3、令4 = 1,將。中的元素保存到L(V)中
[014引4、連接:若ILkI > 2,對Lk執(zhí)行連接操作,得到Ak+i,Ak+i是候選k+1項集的集合。連接 操作的具體方法如下:從Lk中任取心"和/f,若滿足對所有m<k均有
則f) 和是可連接的,連接產(chǎn)生新的項集
[0149] 5、剪枝:從集合Aw中刪除小于最小支持度闊值的k+1項集,得到Lk+i,并將Lw保存 到L(V)中;
[0150] 6、若Lw不為空集,貝化= k+l,轉(zhuǎn)步驟4,否則轉(zhuǎn)步驟7
[0151] 7、對L(V)中的元素完成去冗余操作:如果存在兩個頻繁項集相等,則從L中刪除 嚴;若兩個頻繁項集是包含關(guān)系,即對(其中t<k),滿足對任意m < t有
則從L中刪除皆>。經(jīng)過W上步驟,最終頻繁項集合L(V)中保留下來的頻繁項 集即為從第V簇提取的固定位置頻繁特征。
[0152] S105:對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特征字符串;
[0153] 具體的,可采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確 定至少一個未明協(xié)議特征字符串:
[0154] 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)口限的頻繁特征;
[0155] 對所述多個頻繁特征中相同的頻繁特征,保留一個;
[0156] 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征;
[0157] 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。
[015引基于此,本發(fā)明實施例給出如下示例W詳細說明該步驟的具體實現(xiàn),如下:
[0159] I、將L( I),...,化)V混合,得到LoL= {Cl, . . . ,Cm},其牛 其
> 中I Cl I表示頻繁特征Cl中包含的元素數(shù)。Chau表示第i個頻繁特征中的第j個元素的取值, POSU表示第i個頻繁特征中第j個元素在帖中的位置。
[0160] 2、刪除重復頻繁特征,掃描L,刪除包含元素數(shù)小于頻繁特征元素數(shù)量限制的頻繁 特征,即,若ICiI <q,則從L中刪除該項。其中q是根據(jù)實際應(yīng)用設(shè)定的頻繁特征的元素數(shù)下 限。
[0161] 3、掃描L,當頻繁特征存在包含關(guān)系時,保留最短的子集作為頻繁特征。即,若存在 Qe與,則刪除。
[0162] 4、截短交叉項。掃描L,對Cifl Cj辛d)的頻繁特征,若前P個元素對應(yīng)相同,則截短原 頻繁特征,僅保留前P個元素,生成新的頻繁特征,刪除原頻繁特征Cl和Cj。即,若存在Cl, Cj EL滿足Cim = Cjm(當m卽時)且Cim辛Cjm(當m>p)時,生成親if特征C = [Cim,m = 0, ...,p]保存 至化中,并刪除Ci和Cj。
[0163] 5、排序。將L中的頻繁特征按如下原則排序,并輸出最終的頻繁特征集。
[0164] 排序按照起點位置(即posio)由小到大的順序進行排列,當POSiO相同時,按照頻繁 特佈的元素個擲由小哥I十講斤排序。郵.對麻繁特佈隹按如下原則排序若
[0165] S106:根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議特征庫。
[0166] 本實施例公開了一種未明協(xié)議特征庫建立方法,包括:獲取報文集樣本,所述報文 集樣本中包含多種未明協(xié)議的報文;對所述報文集樣本進行預處理,生成預處理后的報文 集;基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇;基于改進 的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征;對所述多個頻繁特征進 行處理,確定至少一個未明協(xié)議特征字符串;根據(jù)所述至少一個未明協(xié)議特征字符串建立 未明協(xié)議特征庫。上述方法能夠適用于多種未明協(xié)議混合的情形。
[0167] 在上述本發(fā)明公開的實施例的基礎(chǔ)上,本發(fā)明還公開了一種未明報文分類方法, 首先根據(jù)實施例一中的未明協(xié)議特征庫建立方法確定分類器,則請參閱附圖2,圖2為本發(fā) 明實施例公開的一種未明報文分類方法流程示意圖,該方法具體包括如下步驟:
[0168] S201:獲取待處理的報文集,所述報文集樣本中包含多種未明協(xié)議的報文;
[0169] S202:根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類報文;
[0170] S203:輸出所述已分類報文。
[0171 ] 需要說明的是,對于未分類報文,可W進行如下處理:
[0172] 確定未分類報文;
[0173] 判斷所述未分類報文的數(shù)量是否大于預設(shè)闊值;
[0174] 當所述未分類報文的數(shù)量小于預設(shè)闊值時,輸出未分類報文;
[0175] 當所述未分類報文的數(shù)量大于預設(shè)闊值時,將所述未分類報文作為報文集樣本, 采用實施例一所述的未明協(xié)議特征庫建立方法更新未明協(xié)議特征庫。
[0176] 上述本發(fā)明公開的實施例中詳細描述了方法,對于本發(fā)明的方法可采用多種形式 的裝置實現(xiàn),因此本發(fā)明還公開了一種未明協(xié)議特征庫建立裝置,下面給出具體的實施例 進行詳細說明。
[0177] 實施例S
[0178] 請參閱附圖3,為本發(fā)明實施例公開的一種未明協(xié)議特征庫建立裝置的具體結(jié)構(gòu) 示意圖,該裝置包括如下單元:
[0179] 報文集樣本獲取單元11,用于獲取報文集樣本,所述報文集樣本中包含多種未明 協(xié)議的報文;
[0180] 預處理單元12,用于對所述報文集樣本進行預處理,生成預處理后的報文集;
[0181] 報文簇生成單元13,用于基于改進的Kmeans算法對所述預處理后的報文集進行聚 類,生成多個報文簇;
[0182] 頻繁特征生成單元14,用于基于改進的Apriori算法提取每個報文簇中的頻繁特 征,生成多個頻繁特征;
[0183] 特征字符串確定單元15,用于對所述多個頻繁特征進行處理,確定至少一個未明 協(xié)議特征字符串;
[0184] 未明協(xié)議特征庫建立單元16,用于根據(jù)所述至少一個未明協(xié)議特征字符串建立未 明協(xié)議特征庫。
[0185] 所述預處理單元具體用于:
[0186] 刪除所述報文集樣本中的殘報文;
[0187] 提取刪除殘報文之后的報文集樣本中每個報文的前nO個字節(jié),nO為大于0的正整 數(shù);
[0188] 將所述每個報文的前nO個字節(jié)組合生成所述預處理后的報文集。
[0189] 所述報文簇生成單元,具體用于:
[0190] 基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲得與所 述預設(shè)次數(shù)相等數(shù)量的分簇結(jié)果;
[0191] 計算每個分簇結(jié)果對應(yīng)的誤差平方和的值;
[0192] 確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文簇。
[0193] 所述特征字符串確定單元具體用于:
[0194] 采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確定至少一 個未明協(xié)議特征字符串:
[0195] 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)口限的頻繁特征;
[0196] 對所述多個頻繁特征中相同的頻繁特征,保留一個;
[0197] 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征;
[0198] 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。
[0199] 需要說明的是,上述各個單元的具體功能實現(xiàn)已在方法實施例一中詳細描述,本 實施例不再寶述。
[0200] 在上述實施例的基礎(chǔ)上,本發(fā)明還公開了一種未明報文分類裝置,根據(jù)實施例= 中所述的未明協(xié)議特征庫建立裝置確定分類器,則請參閱附圖4,為本發(fā)明實施例公開的一 種未明報文分類裝置的結(jié)構(gòu)示意圖,該裝置具體包括如下單元:
[0201] 報文集獲取單元21,用于獲取待處理的報文集,所述報文集樣本中包含多種未明 協(xié)議的報文;
[0202] 分類單元22,用于根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類 報文;
[0203] 輸出單元23,用于輸出所述已分類報文。
[0204] 需要說明的是,所述分類單元,還用于確定未分類報文;
[02化]則所述裝置還包括:
[0206] 判斷單元,用于判斷所述未分類報文的數(shù)量是否大于預設(shè)闊值;
[0207] 處理單元,用于當所述未分類報文的數(shù)量小于預設(shè)闊值時,輸出未分類報文;當所 述未分類報文的數(shù)量大于預設(shè)闊值時,將所述未分類報文作為報文集樣本,采用權(quán)利要求7 ~10中任意一項所述的未明協(xié)議特征庫建立裝置更新未明協(xié)議特征庫。
[0208] 需要說明的是,上述各個單元的具體功能實現(xiàn)已在方法實施例二中詳細說明,本 實施例不再寶述。
[0209] 綜上所述:
[0210] 本發(fā)明公開了一種未明協(xié)議特征庫建立方法,包括:獲取報文集樣本,所述報文集 樣本中包含多種未明協(xié)議的報文;對所述報文集樣本進行預處理,生成預處理后的報文集; 基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇;基于改進的 Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征;對所述多個頻繁特征進行 處理,確定至少一個未明協(xié)議特征字符串;根據(jù)所述至少一個未明協(xié)議特征字符串建立未 明協(xié)議特征庫。上述方法能夠適用于多種未明協(xié)議混合的情形。相應(yīng)的,本發(fā)明還公開了一 種未明報文分類方法及相關(guān)裝置。
[0211] 本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他 實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置 而言,由于其與實施例公開的方法相對應(yīng),所W描述的比較簡單,相關(guān)之處參見方法部分說 明即可。
[0212] 另外需說明的是,W上所描述的裝置實施例僅僅是示意性的,其中所述作為分離 部件說明的單元可W是或者也可W不是物理上分開的,作為單元顯示的部件可W是或者也 可W不是物理單元,即可W位于一個地方,或者也可W分布到多個網(wǎng)絡(luò)單元上。可W根據(jù)實 際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的 裝置實施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可W實現(xiàn)為一 條或多條通信總線或信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可W 理解并實施。
[0213] 通過W上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可W清楚地了解到本發(fā)明可借 助軟件加必需的通用硬件的方式來實現(xiàn),當然也可W通過專用硬件包括專用集成電路、專 用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機程序完成的功能都可W 很容易地用相應(yīng)的硬件來實現(xiàn),而且,用來實現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可W是多種多 樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返?。但是,對本發(fā)明而言更多情況下軟件程序?qū)?現(xiàn)是更佳的實施方式?;谶\樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出 貢獻的部分可W W軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì) 中,如計算機的軟盤,U盤、移動硬盤、只讀存儲器(ROM,ReacK)nly Memo巧)、隨機存取存儲 器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用W使得一臺計算機設(shè) 備(可W是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0214]綜上所述,W上實施例僅用W說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照上 述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可W對上 述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而運些 修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1. 一種未明協(xié)議特征庫建立方法,其特征在于,包括: 獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的報文; 對所述報文集樣本進行預處理,生成預處理后的報文集; 基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生成多個報文簇; 基于改進的Apriori算法提取每個報文簇中的頻繁特征,生成多個頻繁特征; 對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特征字符串; 根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議特征庫。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述報文集樣本進行預處理生成預 處理后的報文集,具體包括: 刪除所述報文集樣本中的殘報文; 提取刪除殘報文之后的報文集樣本中每個報文的前nO個字節(jié),nO為大于0的正整數(shù); 將所述每個報文的前nO個字節(jié)組合生成所述預處理后的報文集。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于改進的Kmeans算法對所述預處理 的報文集合進行聚類生成多個報文簇,具體包括: 基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲得與所述預 設(shè)次數(shù)相等數(shù)量的分簇結(jié)果; 計算每個分簇結(jié)果對應(yīng)的誤差平方和的值; 確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文簇。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述多個頻繁特征進行處理確定至 少一個未明協(xié)議特征字符串,具體包括: 采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確定至少一個未 明協(xié)議特征字符串: 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)門限的頻繁特征; 對所述多個頻繁特征中相同的頻繁特征,保留一個; 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征; 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。5. -種未明報文分類方法,其特征在于,根據(jù)權(quán)利要求1~4中任意一項所述的未明協(xié) 議特征庫建立方法確定分類器,則所述方法包括: 獲取待處理的報文集,所述報文集樣本中包含多種未明協(xié)議的報文; 根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類報文; 輸出所述已分類報文。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 確定未分類報文; 判斷所述未分類報文的數(shù)量是否大于預設(shè)閾值; 當所述未分類報文的數(shù)量小于預設(shè)閾值時,輸出未分類報文; 當所述未分類報文的數(shù)量大于預設(shè)閾值時,將所述未分類報文作為報文集樣本,采用 權(quán)利要求1~4中任意一項所述的未明協(xié)議特征庫建立方法更新未明協(xié)議特征庫。7. -種未明協(xié)議特征庫建立裝置,其特征在于,包括: 報文集樣本獲取單元,用于獲取報文集樣本,所述報文集樣本中包含多種未明協(xié)議的 報文; 預處理單元,用于對所述報文集樣本進行預處理,生成預處理后的報文集; 報文簇生成單元,用于基于改進的Kmeans算法對所述預處理后的報文集進行聚類,生 成多個報文簇; 頻繁特征生成單元,用于基于改進的Apriori算法提取每個報文簇中的頻繁特征,生成 多個頻繁特征; 特征字符串確定單元,用于對所述多個頻繁特征進行處理,確定至少一個未明協(xié)議特 征字符串; 未明協(xié)議特征庫建立單元,用于根據(jù)所述至少一個未明協(xié)議特征字符串建立未明協(xié)議 特征庫。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述預處理單元具體用于: 刪除所述報文集樣本中的殘報文; 提取刪除殘報文之后的報文集樣本中每個報文的前nO個字節(jié),nO為大于0的正整數(shù); 將所述每個報文的前nO個字節(jié)組合生成所述預處理后的報文集。9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述報文簇生成單元,具體用于: 基于經(jīng)典的Kmeans算法對所述預處理后的報文集進行預設(shè)次數(shù)的聚類,獲得與所述預 設(shè)次數(shù)相等數(shù)量的分簇結(jié)果; 計算每個分簇結(jié)果對應(yīng)的誤差平方和的值; 確定誤差平方和的值最小的分簇結(jié)果中包含的報文簇作為所述多個報文簇。10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述特征字符串確定單元具體用于: 采用如下方式中的一種或多種的組合對所述多個頻繁特征進行處理確定至少一個未 明協(xié)議特征字符串: 刪除所述多個頻繁特征中元素數(shù)少于預設(shè)門限的頻繁特征; 對所述多個頻繁特征中相同的頻繁特征,保留一個; 對存在包含關(guān)系的頻繁特征,保留長度最小的頻繁特征; 對存在交叉關(guān)系的頻繁特征,進行截短交叉項處理。11. 一種未明報文分類裝置,其特征在于,根據(jù)權(quán)利要求7~10中任意一項所述的未明 協(xié)議特征庫建立裝置確定分類器,則所述未明報文分類裝置包括: 報文集獲取單元,用于獲取待處理的報文集,所述報文集樣本中包含多種未明協(xié)議的 報文; 分類單元,用于根據(jù)所述分類器對所述待處理的報文集進行分類,確定已分類報文; 輸出單元,用于輸出所述已分類報文。12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述分類單元,還用于確定未分類報文; 則所述裝置還包括: 判斷單元,用于判斷所述未分類報文的數(shù)量是否大于預設(shè)閾值; 處理單元,用于當所述未分類報文的數(shù)量小于預設(shè)閾值時,輸出未分類報文;當所述未 分類報文的數(shù)量大于預設(shè)閾值時,將所述未分類報文作為報文集樣本,采用權(quán)利要求7~10 中任意一項所述的未明協(xié)議特征庫建立裝置更新未明協(xié)議特征庫。
【文檔編號】H04L12/26GK105827603SQ201610143883
【公開日】2016年8月3日
【申請日】2016年3月14日
【發(fā)明人】張霞, 李青, 閆小勇, 陶思宇, 劉偉城, 李陽, 寧浩博, 寧浩凱
【申請人】中國人民解放軍信息工程大學