新四季網

一種應用層協議特徵的提取方法

2023-09-20 22:55:15


專利名稱::一種應用層協議特徵的提取方法
技術領域:
:本發明屬於網際網路
技術領域:
,具體地說,是涉及一種採用數據挖掘的思想和方法提取出應用層的協議特徵的方法。
背景技術:
:隨著網際網路的逐步發展,網上用戶和業務流量在不斷增長,除傳統數據業務外,P2P、網路遊戲、IPTV等新興業務佔用了網際網路的大部分帶寬,一方面使得運營商的服務質量出現問題,另一方面也使得運營商的基礎網絡建設陷入了"擁塞_擴容_再擁塞"的非正常局面,盈利能力相應降低。在同一網絡內,如果某些用戶嚴重佔用帶寬進行網遊、BT下載等活動,就會影響別人對網絡資源的正常使用,或者對他人的工作造成影響。畢竟現在網際網路的發展,已經使很多工作都要求在網絡上交互和完成。應用層軟體造成的帶寬擁塞問題已經引起了中小型企業,多分支機構企業和網絡運營商的注意,而他們就是促使網絡帶寬產品不斷發展的最大推動者。隨著市場的不斷發展,網絡帶寬控制產品具有極大的市場潛力,而且市場份額也越來越大。目前,國內的主要帶寬管理和流量控制產品包括Panabit、P2P終結者、聚生網管等。但是,這些產品只從網絡流量控制方面給用戶提供流量控制方面的應用。當然普通用戶也不會關心其內部的識別原理和方法,更不用說應用層的協議特徵了。但另一方面,一些應用和分析應用層協議的企業和公司,提出了分析應用層協議和獲取相應協議特徵的需求,而現有的網絡流量控制產品只提供了流量控制的功能,並沒有提供應用層協議提取和分析功能的方法和接口。而且如果聘請專門人員手動分析應用層協議特徵,將會影響工作效率和進度,並給企業和公司帶來人力資源的負擔。當前,最流行的流量監測技術為DPI(De印PacketInspection)深度包檢測技術,相對於傳統的基於埠、協議類型的流量檢測技術,DPI增加了應用層分析功能,是一種基於應用層的流量檢測和控制技術,它通過深入讀取IP包載荷的內容來對0SI7層網絡模型中的應用層信息進行重組,從而得到整個應用層協議的內容,然後按照系統定義的管理策略對流量進行整形操作,通過識別各種應用層的內容達到高效地識別出網絡上的各種應用協議的目的。數據挖掘技術作為一種數據信息處理的關鍵技術,其主要特點是對資料庫中的海量數據進行抽取、轉換、分析和其他模型化處理,從中提取關鍵性和決策性的數據。將數據挖掘技術運用到網絡流量分析,在極度膨脹地網絡帶寬需求中,根據用戶的網絡帶寬使用情況、實時地對帶寬進行分配,從佔據帶寬重要比重的應用層軟體中提取和挖掘出應用層協議的重要識別特徵,以分析出影響網絡帶寬的軟體和用戶,具有重大的意義。很多學者從數據挖掘的角度對DPI技術進行了理論和科學實驗研究。但是,隨著網絡流量分析和特徵提取工程應用需求的增加,對理論研究轉換成實際工程應用提出了市場需求。
發明內容本發明的目的在於提供一種適於實際工程應用的應用層協議特徵提取方法,從數據挖掘角度出發對協議特徵的提取過程進行完善設計,從而加快了協議特徵的提取速度,為分析應用層協議提供了依據。為解決上述技術問題,本發明採用以下技術方案予以實現—種應用層協議特徵的提取方法,包括以下步驟(1)捕獲待監聽的流量數據包;(2)提取流量數據包中的頻繁1項集,所述頻繁1項集的長度設定為2的整數倍;(3)採用如下合併過程將頻繁k項集合併成候選k+1項集,k>1:、=Lines[x]+Lines[y].substring(Lines[y].length_1,Lines[y].length);b2=Lines[y]+Lines[x].substring(Lines[x].length_1,Lines[x].length);其中,Lines[x]、Lines[y]分別為第x個和第y個頻繁k項集,頻繁k項集的長度為LEN;substring(p,q)表示提取從序列的第p位開始到第q位的子序列,^和b2為得到的候選k+1項集,其長度為LEN+2;(4)計算候選k+1項集的支持度su卯ort,提取滿足支持度條件support>minimum_sup的候選k+1項集,作為頻繁k+1項集;所述minimum_sup為頻繁項集支持度的最小閾值;(5)在頻繁k項集中,刪除頻繁k+1項集包含的項集;由步驟(3)、(4)、(5)獲取的各個頻繁項集即構成應用層的協議特徵集合。為了加快產生頻繁項集的過程,在所述步驟(2)的頻繁l項集提取過程中,可以採用BloomFilter算法對重複出現的頻繁1項集進行判斷,進而將重複的頻繁1項集刪除,以達到加快協議特徵提取速度的設計目的。為了得到更優的應用層協議特徵集合併將冗餘的應用層協議特徵刪除,本發明還設計了刪除冗餘的應用層協議特徵的過程,即在完成頻繁k+1項集的提取過程後,緊接著進行刪除冗餘的頻繁k項集的過程令fz為一個頻繁k+1項集;fx和fy為兩個頻繁k項集,且fx=fz.substring(1,fz.length-2),fy=fz.substring(3,fz.length),那麼刪除頻繁k項集fx和fy。進一步的,在所述步驟(2)之前包括以下建立流量數據包的頻繁項集數據模型的過程令I=i2,....id},每個項ig(g=1到d)由兩位十六進位數組成,是應用層流量數據包的最小單位;T={tpt2,....td}為所有數據包的集合,ti={I的子集構成的序列},為一個應用層協議信息數據包;令S=substring(ti),S表示應用層協議信息數據包ti的一個子序列,為I的項集;頻繁項集的支持度support=P(S)/T);若support>minimum_sup,則應用層流量數據包ti的子序列S為該應用層的協議特徵。優選的,所述頻繁1項集的長度取值為2的整數倍,且大於等於4。為了進一步加快頻繁項集的提取速度,在所述步驟(2)和(4)的頻繁1項集和頻繁k+1項集的提取過程中,還包括刪除不產生頻繁1項集和頻繁k+1項集的應用層協議信息數據包的過程,使其在後面的頻繁項集挖掘過程中不再進行頻繁項集的計算和挖掘。優選的,所述頻繁項集支持度的最小閾值minimum_sup在0.2到0.8之間取值。又進一步的,在所述步驟(1)中還包括對捕獲到的流量數據包進行預處理的過程,即將捕獲到流量數據包進行上行網絡流量和下行網絡流量的分流,只保留上行網絡流量。並且將捕獲到的每一個流量數據包的鏈路層、網絡層、傳輸層的頭文件信息去除,只保留應用層數據信息,進而形成應用層協議信息數據包供後續步驟使用。再進一步的,在所述對捕獲到的流量數據包進行預處理的過程中還包括根據設定的應用層協議信息數據包長度閾值L對應用層協議信息數據包進行限制和截取的過程,使得每個應用層協議信息數據包只保留長度為L的數據信息。更進一步的,在所述步驟(5)之後還包括對提取出的應用層的協議特徵集合進行優化的過程,即刪除協議特徵集合中不具代表性的協議特徵和應用層通用的協議特徵。與現有技術相比,本發明的優點和積極效果是本發明從工程應用角度提出了一套較完整的應用層協議特徵提取方法,豐富了應用層協議特徵提取在工程中的應用。該應用層協議特徵提取方法從數據挖掘的角度提出了一套智能化的提取算法,克服了手動分析的不足,促進了企業和公司應用層協議分析工作的信息化和智能化,為企業和公司減輕了人力資源的負擔,提高了工作效率。將提取到的應用層協議特徵保存在特徵資料庫中,並對特徵資料庫進行周期性更新,以不斷豐富應用層特徵資料庫的內容,這樣可以為後續的應用層協議識別提供指導,提高協議識別的準確率。結合附圖閱讀本發明實施方式的詳細描述後,本發明的其他特點和優點將變得更加清楚。圖1是本發明所提出的應用層協議特徵提取方法的一種實施例的流程圖;圖2是基於圖1所示協議特徵提取方法所設計的應用層協議特徵提取系統的一種實施例的系統架構示意圖。具體實施例方式下面結合附圖對本發明的具體實施方式進行詳細地描述。本發明針對現有應用層協議特徵提取方法在工程應用中的不足,及其企業和公司提出用智能方法(即自動分析方法)分析應用層協議的需求,提出了一種適於工程應用的應用層協議特徵提取方法。將數據挖掘的思想和方法實際應用到應用層協議特徵的提取過程中,並根據應用層協議流量數據量大的特點,從應用層協議數據包的有效包長、有效流量和無用流量等角度出發,提出了對流量數據包進行限制預處理的策略。下面通過一個具體的實施例來詳細闡述所述應用層協議特徵提取方法的具體設計過程以及基於該設計思想所構建的應用層協議特徵提取系統的具體組建結構。實施例一,參見圖1所示,本實施例的應用層協議特徵提取方法主要由以下步驟設計實現St印l、設置使用權限,對系統的安全使用進行管理;出於對系統使用的安全性考慮,本實施例優選在系統正常運行前,對登錄用戶的合法身份進行驗證,即要求用戶輸入用戶名和密碼,進行身份驗證,進而根據事先保存的權限信息驗證用戶輸入的用戶名和密碼是否正確,如果用戶名和密碼與保存的權限信息相符,則用戶通過驗證,進入系統;如果用戶名或密碼錯誤,則提醒用戶確認輸入的用戶名或密碼是否正確,並重新要求用戶輸入用戶名和密碼,直到身份驗證通過後,再執行後續步驟。St印2、捕獲待監聽的流量數據包;用戶在選擇啟動應用層協議特徵提取功能時,首先選擇需要監聽的網卡,並設置流量數據包的過濾條件,然後啟動流量捕獲功能,開始捕獲待監聽網卡的流量數據包。所述流量捕獲功能可以直接應用現有的Pcap功能函數庫進行軟體開發應用,對應用層協議的網絡流量進行實時捕獲。在調用該函數庫時,輸入捕獲網絡流量數據包的過濾條件,比如捕獲全部網絡數據包、捕獲TCP數據包和捕獲UDP數據包等,即可獲得滿足過濾條件的流量數據包。根據經驗獲悉應用層的協議特徵主要存在於協議進行連接時的前幾個數據包中,而在下載時的流量數據包包含的協議特徵信息較少,甚至沒有。因此,只需要提取應用協議在連接時的流量數據包的特徵,即可以達到很好的特徵提取和識別效果。對下載時的流量數據包進行特徵提取,反而會增加數據處理的難度。基於此,本實施例在設計應用層協議特徵提取方法的過程中,只捕獲應用協議連接時的流量數據包。在流量數據包捕獲結束後,將捕獲到的流量數據包另存為.pc即文件,傳輸至St印3進行預處理。St印3、對捕獲到的流量數據包進行預處理;本步驟是為了提高後續協議特徵提取的準確率和速度而設計的,主要做以下三步流量預處理(1)對網絡流量進行上行網絡流量和下行網絡流量的分流。通過步驟St印l捕獲到的網絡流量數據包括上行網絡流量和下行網絡流量。將捕獲到的網絡流量進行上行網絡流量和下行網絡流量的分流,上行網絡流量是用戶端向伺服器端發送請求服務等功能(一般為TCP數據包)和上傳相關數據信息(一般為UDP數據包)的流量數據包,其中的發送請求服務等功能的流量數據包包括極其有用的和有效的應用層協議特徵;而下行網絡流量是伺服器向客戶端確認請求(一般為TCP數據包)並發送請求數據(一般為UDP數據包)的流量數據包,其中的確認請求數據包雖然也包括一些有效的應用層協議特徵,但是很多數據包都只包含簡單的建立連接響應的內容,並不包含明顯的協議特徵。因此,此處對網絡流量進行上行和下行網絡流量的分流,只保留上行的網絡流量供後續步驟使用。可以以客戶端的IP位址實現分流,即如果客戶端的IP為源IP位址,那麼該流量為上行網絡流量;如果客戶端的IP為目的IP位址,那麼該流量為下行網絡流量。(2)提取應用層數據信息。上行網絡流量包括了0SI7層模型的全部數據,而只有應用層部分的網絡數據對我們研究應用層協議特徵有用。所以,在該數據預處理階段對捕7獲到的流量數據包(即.pcap文件)進行應用層協議信息的提取,即將捕獲到的每一個流量數據包的鏈路層、網絡層、傳輸層的頭文件信息去除,只保留應用層協議數據,進而形成應用層協議信息數據包供後續步驟使用。(3)對應用層協議信息數據包的大小進行限制。應用層協議信息數據包由兩部分組成控制信息+數據。當前應用層協議的有用信息基本集中在控制信息部分,而數據部分基本是下載時的數據信息,提供特徵的信息較少。所以,在流量預處理階段可以根據協議的定義或者特點設置一個閾值L,以對應用層協議信息數據包的大小進行限制和截取,使得每個應用層協議信息數據包只保留從數據包開始到長度為L的數據信息,並保存到.txt文件中。其中,閾值L的大小範圍是根據各應用層協議的定義而確定的,不同的應用層協議其控制信息的有效長度L也是不一樣。一般來講,L在200byte到400byte之間取值即可滿足控制信息的提取要求,比如L=380byte。St印4、應用層協議特徵提取過程;為了實現應用層協議特徵的準確、快速提取,本實施例對現有的Apriori頻繁模式挖掘算法進行改進,提出了一種基於Apriori的數據挖掘算法,並命名為AC(AprioriFrequentSignatureandConstraint)算法,以完善應用層協議特徵的提取設計。Apriori算法作為數據挖掘中關聯規則挖掘算法的典型代表,由Agrawal等人在1993年提出。Apriori算法分為兩部分頻繁項集產生+關聯規則挖掘。頻繁項集產生過程用於挖掘海量數據中頻繁出現的數據項,為關聯規則的建立提供數據對象。頻繁模式挖掘算法的基本原理如下頻繁模式挖掘是關聯規則挖掘裡的一個重要內容,挖掘待研究事務的頻繁項集,是產生關聯規則的重要前提和保證。應用關聯規則裡產生頻繁項集的方法來提取應用層流量數據包中的協議特徵。其基本思想是不考慮流量數據的結構信息,只關注流量數據的內容,而內容具體含義事先也不考慮,在這種模糊的條件下,提取流量數據包的頻繁子串,並作為待考慮的應用層協議特徵。頻繁項集挖掘的數據集和支持度定義頻繁模式挖掘的數據集定義如下令I=Upi2,....id}是數據中所有項的集合,T=&,t2,....td}是所有事務的集合,每個事務ti包含的項集都是I的子集,包含O個或多個項的集合S被稱為項集。如果一個項集S包含k個項,則稱它為k項集。項集S在事務中的出現頻率用支持度support來描述,support=P&(S)/T),分子ti(S)表示項集S在事務中出現的次數,分母T表示事務個數。給定一個支持度的最小閾值minimum—sup,若support>minimum_sup,那麼項集S為頻繁項集。頻繁項集挖掘過程頻繁項集挖掘過程都是根據原創性算法Apriori衍生出來的,因此他們的總體挖掘過程都大同小異。Apriori算法使用一種逐層搜索的迭代方法,用k項集探索(k+1)項集。第一次迭代挖掘所有長度為1且支持度support大於等於最小支持度minimum—sup的項集作為頻繁1項集。第二次迭代挖掘長度為2的頻繁2項集。在第二次迭代過程8中,算法會基於第一次迭代的結果來生成長度為2的候選2項集,然後計算每個候選2項集的支持度su卯ort,將滿足su卯ort>minimum_sup的候選2項集選出來作為頻繁2項集。重複第二次迭代過程可以挖掘大小分別為3、4、5...的頻繁項集,直到沒有滿足最小支持度條件support>minimum_sup的項集產生為止。本實施例所提出的應用層協議特徵提取方法採用AC算法實現,AC算法定義的應用層流量數據包的頻繁項集數據模型為令I={ipi2,....ij,每個項ig(g二l到d)由兩位十六進位數組成,是應用層流量數據包的最小單位;T={、,t2,....td}為所有數據包的集合,ti={I的子集構成的序列},為一個應用層協議信息數據包;令S=substring(ti),S表示應用層協議信息數據包ti的一個子序列,為I的項集;頻繁項集的支持度su卯ort=P(ti(S)/T);若su卯ort>minimum—sup,那麼應用層流量數據包^的子序列S為該應用層的協議特徵。AC算法相比其它算法的獨特之處體現在以下兩個方面—、引入BloomFilter函數改進Apriori算法,產生頻繁1項集,以加快產生頻繁項集的過程。引入BloomFilter算法對Apriori算法進行改進,BloomFilter算法用多個哈希函數(即Hash函數)提高識別頻繁項的準確性。BloomFilter算法最初是由FangHao等人提出來的,目的是加快對頻繁項集的提取。AC算法引入BloomFilter的思想對Apriori算法產生頻繁1項集的過程進行改進,在執行效率和精確度方面都有了很大的提高。二、在AC算法中引入產生協議特徵即頻繁項集的限制條件,以加快應用協議特徵的提取過程。By皿g-ChulPark等人提出LASER(IXS-based(Longestcommonsubsequence)ApplicationSignatureExtRactionalgorithm)算法,艮卩基於最長公共子序列的應用特徵提取算法,來提取應用層特徵。在LASER算法產生應用層特徵的過程中,引入最小子串長度的限制條件算法將要產生的特徵的最小長度進行限制。AC算法在沿用最小子串長度的限制條件,即協議特徵長度的限制條件的基礎上,再提出了兩個限制條件屏蔽不提供協議特徵的應用層協議信息數據包和刪除冗餘的應用層協議特徵,從而加快協議特徵的提取過程和優化提取得到的應用層協議特徵。下面對將AC算法應用於應用層協議特徵提取過程的具體實現步驟闡述如下(1)導入經過步驟St印3預處理後的應用層協議信息數據包,即.txt文件。(2)設定頻繁1項集的長度len。由於流量數據包是按原始捕獲的流量數據格式即十六進位的格式保存的,每兩個十六進位符號表示一個十進位ASCII碼字符,因此,頻繁1項集的長度取值應該為2的整數倍。此處引入協議特徵長度的限制條件在頻繁項集的產生過程中,前面的項集的產生是為後面項集的產生服務的,但是這些前面的項集往往是些過渡項集,對最終項集的產生很少或不產生影響。如果在產生頻繁l項集時,項集的大小|S|=2,產生頻繁2項集時,項集的大小|S|=4...,那麼將會影響後續項集的遞增處理效率,而且協議特徵過短沒有實際意義和參考價值。因此,本實施例通過對頻繁1項集的長度len進行限制,從而對協議特徵最小長度進行限制,使其不產生過短的沒有實際意義的協議特徵。這樣不但可以提高提取效率,也為最終產生更高質量的協議特徵提供重要保障。基於此,本實施例提出將頻繁1項集的長度len設定為2的整數倍,最好為大於等於4的值,優選len=4。(3)提取頻繁1項集。即提取應用層協議信息數據包中滿足支持度條件support>minimum_sup的頻繁項集。在頻繁l項集的提取過程中,引入BloomFilter算法來判斷重複頻繁項集,以提高產生頻繁1項集的效率。BloomFilter算法提取頻繁1項集的原理和過程為BloomFilter是一個M位的二進位字符串,每位初始為0。為每個候選1項集設定h個哈希函數,h個哈希函數的值與BloomFilter的二進位字符串的位置相對應。當判斷一個候選1項集是否已經為頻繁1項集時,只要計算這h個Hash函數的值,然後根據得到的函數值去尋找BloomFilter二進位字符串的對應位,如果h個對應位的值都為l,則說明該候選1項集已經為頻繁1項集,這樣BloomFilter就將其過濾掉,而不用做進一步的支持度計算來判斷該候選1項集是否為頻繁1項集;如果h個對應位的值只要有一位不為l,則說明要做進一步的支持度計算才能判斷該候選1項集是否為頻繁1項集。BloomFilter算法過濾候選1項集的準確度和錯誤率由Hash函數的個數h決定,FangHao等人已證明h=6時BloomFilter算法過濾的錯誤率已接近極小化。BloomFilter算法使用的Hash函數定義為假設候選1項集為C=(Q,C2,...,Ck),根據以下的哈希函數計算候選1項集C所有長度為k(k>1)的子集的哈希值。假設一個素數q,則第一個長度為k的子集的哈希函數為&=Ciqk—^(^qk—2+...+Ck—iq+Ck(ModM)其中,M為BloomFilter的二進位字符串的長度;第二個長度為k的子集的哈希函數為H2=C2qk—^Qqk—2++Ckq+Ck+1(ModM)。最小支持度閾值minimum—sup的取值範圍根據具體的應用而定,不同的應用層協議數據其最小支持度閾值也不同,根據實驗經驗可知minimUm_SUp的取值範圍優選為0.2<minimum—supminimum_sup的候選k+1項集提取出來,作為頻繁k+1項集。(6)根據頻繁k+1項集,刪除頻繁k項集中的項集。此處引入限制條件刪除冗餘的應用層協議特徵。根據提取得到的頻繁k+1項集刪除頻繁k+1項集中已經挖掘的頻繁k項集。為了得到更優的應用層協議特徵集合併將冗餘的應用層協議特徵刪除,本實施例根據頻繁項集產生的先驗原理如果一個項集是頻繁的,那麼它的所有子集一定也是頻繁的,設計了刪除冗餘的應用層協議特徵的過程,即在完成頻繁K+1項集的提取過程後,緊接著進行刪除冗餘的頻繁K項集的刪除過程。因為頻繁k+1項集是由頻繁k項集挖掘產生的,那麼每個頻繁k+1項集的子序列,一定也包含在頻繁k項集中,頻繁k+1項集已經包含了其對應的頻繁k項集的挖掘項集。相反的,頻繁k項集不一定都包含在頻繁k+1項集中,因為由頻繁k項集產生的候選k+1項集並不一定能成為頻繁k+1項集。因此在頻繁k項集中刪除頻繁k+1項集包含的項集,即如果滿足以下條件,那麼對應的頻繁k項集將被刪除fz為一個頻繁k+l項集;fx和fy為兩個頻繁k項集,且fx=fz.substring(1,fz.length-2),fy=fz.substring(3,fz.length),那麼刪除頻繁k項集fx和fy。在這個過程中,刪除了頻繁k項集中重複出現的頻繁k+l項集的子序列,且保留了頻繁k項集中不產生頻繁k+1項集的項集。(7)如此反覆執行步驟(4)、(5)和(6),直到沒有新的頻繁項集產生為止。通過以上步驟獲取的各個頻繁項集即構成應用層的協議特徵集合。St印5、對獲取的應用層的協議特徵集合進行優化處理。在此步驟中,包括刪除協議特徵集合中不具代表性的協議特徵和應用層通用的協議特徵,使得到更優的協議特徵集合。St印6、將經過優化處理後的協議特徵結果以圖表或者文字等形式進行展示。St印7、將經過優化處理後的協議特徵與特徵資料庫中已保存的協議特徵進行比較,以不斷更新特徵資料庫,進而為應用層協議的準確識別提供支持。基於上述應用層協議特徵提取方法,本實施例又提出了一種應用層協議特徵提取系統,參見圖2所示,具體包括以下主要組成部分權限管理模塊提供系統的用戶、用戶組的定義及其各自權限的管理,保證資料庫的安全訪問,即完成St印l的功能。其中,用戶管理,用於定義系統的用戶及相應的用戶權限;用戶組管理,用於定義系統的用戶組及相應的權限。設置的各權限數據保存在權限資料庫中。流量捕獲模塊捕獲待監聽的網絡流量數據包,即完成St印2的功能。應用層協議流量預處理模塊根據流量數據包的特點對流量數據包進行預處理,去掉無用或不相關的流量數據,即完成St印3的功能。應用層協議特徵提取模塊為本系統的關鍵模塊,應用數據挖掘AC算法實現對應用層協議特徵的提取,即完成St印4的功能。在此模塊中還可以包括數據挖掘算法的選擇、數據挖掘算法的實現與應用模塊等。此模塊提供一個公用的接口支持數據挖掘算法的擴展。參數配置模塊提供應用層協議特徵提取數據挖掘算法的參數,如特徵長度len、支持度最小閾值minimUm_SUp以及選擇的特徵提取數據挖掘算法的其他各相關參數等。應用層協議特徵優化模塊優化應用層協議特徵提取模塊提取得到的協議特徵,將冗餘的協議特徵刪除,使得到更優的協議特徵集合,即完成St印5的功能。應用層協議特徵提取結果展示模塊將經過優化後的協議特徵及其支持度(支持度=協議特徵在流量數據包中出現的次數/捕獲流量中總的數據包個數)以圖形、表格等方式輸出展示,即完成St印6的功能。應用層協議特徵周期性更新模塊實現最新協議特徵資料庫更新。將最新提取得到的協議特徵與特徵資料庫相應協議特徵進行比較,如果有新的協議特徵產生,則將該新特徵更新到特徵資料庫,即完成St印7的功能。下面結合圖1、圖2,以提取PPStream應用軟體在應用層中的特徵為例對本實施例的協議特徵提取方法進行詳細的說明。以PPStream應用層軟體為實例,提取與PPstream軟體相關的應用層協議的特徵。12在實驗主機上必須首先打開PPStream軟體。1、用戶登錄系統用戶輸入用戶名和密碼,系統從權限資料庫查找相應的用戶登錄信息,並進行用戶驗證。用戶驗證通過,則允許用戶進入系統,否則提醒用戶再次輸入用戶名和密碼。2、流量捕獲在應用層協議流量捕獲模塊中,選擇應用層協議提取功能,並選擇當前需要監聽的網卡RealtekRTL8139/810xFamilyFastEthernetNIC,輸入流量數據包過濾條件"TCP&&notsmb&&notnbss",即捕獲TCP數據包,開始捕獲應用層協議流量數據包。流量捕獲結束後,可隨時點擊"停止流量捕獲"按鈕,最後將捕獲的流量數據包另存為PPStream.pc即文件。3、應用層協議流量預處理將PPStream.pc即文件導入應用層協議流量預處理模塊,設置預處理參數截取流量數據包大小L=380byte。分流出PPStream.pcap流量數據包的上行網絡流量,並提取該上行網絡流量的應用層協議信息數據包,並對每個應用層協議信息數據包進行截取,只保留L長度的數據信息。然後,將流量數據預處理後的結果以PPStream.txt文件的形式發送給應用層協議特徵提取模塊。進行預處理後,流量數據包的格式為(每個流量數據包用#號隔開)#474554202F766F642F696D616765732F2E30362544302541312543392546322544312546342543392545442542432544422542312541392544352543373630302542312542362542372541322543412543342542322542422543352544372543362544452E6A706720485454502F312E31ODOA486F73743A20706C2E7070732E7476ODOA4163636570743A202A2F2AODOA557365722D4167656E743A20505053747265616D2D436C69656E742F312E30ODOAOD#474554202F766F642F2E30362544302541312543392546322544312546342543392545442542432544422542312541392544352543373630302542312542362542372541322543412543342542322542422543352544372543362544452E786D6C20485454502F312E31ODOA486F73743A20706C2E7070732E7476ODOA4163636570743A202A2F2AODOA557365722D4167656E743A20505053747265616D2D436C6965i6E'74:2F312E30ODOAODOA#474554202F6368616E6E656C5F6C6973742F6C6973742F303230362544302541312543392546322544312546342543392545442542432544422542312541392544352543373630302542312542362542372541322543412543342542322542422543352544372543362544452E68746D6C20485454502F312E31ODOA4163636570743A202A2F2AODOA4163636570742D4C616E67756167653A207A682D636EOD0A55412D4350553A20783836ODOA416363657013tableseeoriginaldocumentpage14..............................4.應用層協議特徵提取選擇AC算法,配置AC算法的參數頻繁l項集長度len=6,最小支持度閾值minimum_sup=0.2。啟動應用層協議特徵提取模塊的分析功能,從PPStream.txt文件中提取出PPStream軟體的特徵,並將提取得到的協議特徵集合輸出到應用層協議特徵優化模塊。表1是提取得到的PPStream軟體的協議特徵及其支持度tableseeoriginaldocumentpage14tableseeoriginaldocumentpage15表l5、PPStream軟體特徵優化應用層協議特徵優化模塊接收應用層協議特徵提取模塊送來的協議特徵集合,對協議特徵集合進行優化處理,刪除多餘的、不具代表性的和應用層通用的協議特徵。表2是優化後的PPStream軟體的協議特徵及其支持度tableseeoriginaldocumentpage15tableseeoriginaldocumentpage16表26、將經過優化處理後的協議特徵傳送給應用層協議特徵提取結果展示模塊,以圖表和文字的形式展示提取得到的協議特徵結果。7、將協議特徵結果發送給應用層協議特徵周期性更新模塊,通過應用層協議特徵周期性更新模塊對提取得到的協議特徵與特徵資料庫的協議特徵進行比較和更新。本發明的應用層協議特徵提取方法可以充分滿足實際工程應用的需求,提高了網絡協議分析處理的效率和進度,為網絡運營商實時監控網絡資源、解決網絡擁堵問題提供了技術上的支持。當然,以上所述僅是本發明的一種優選實施方式,應當指出的是,對於本
技術領域:
的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。權利要求一種應用層協議特徵的提取方法,包括以下步驟(1)捕獲待監聽的流量數據包;(2)提取流量數據包中的頻繁1項集,所述頻繁1項集的長度設定為2的整數倍;(3)採用如下合併過程將頻繁k項集合併成候選k+1項集,k≥1b1=Lines[x]+Lines[y].substring(Lines[y].length-1,Lines[y].length);b2=Lines[y]+Lines[x].substring(Lines[x].length-1,Lines[x].length);其中,Lines[x]、Lines[y]分別為第x個和第y個頻繁k項集,頻繁k項集的長度為LEN;substring(p,q)表示提取從序列的第p位開始到第q位的子序列,b1和b2為得到的候選k+1項集,其長度為LEN+2;(4)計算候選k+1項集的支持度support,提取滿足支持度條件support≥minimum_sup的候選k+1項集,作為頻繁k+1項集;所述minimum_sup為頻繁項集支持度的最小閾值;(5)在頻繁k項集中,刪除頻繁k+1項集包含的項集;由步驟(3)、(4)、(5)獲取的各個頻繁項集即構成應用層的協議特徵集合。2.根據權利要求1所述的應用層協議特徵的提取方法,其特徵在於在所述步驟(2)的頻繁1項集提取過程中,採用BloomFilter算法來判斷重複頻繁1項集,並將重複的頻繁l項集刪除。3.根據權利要求1所述的應用層協議特徵的提取方法,其特徵在於在完成頻繁k+1項集的提取過程後,緊接著進行刪除冗餘的頻繁k項集的過程令fz為一個頻繁k+1項集;fx和fy為兩個頻繁k項集,且fx=fz.substring(1,fz.length-2),fy=fz.substring(3,fz.length),那麼刪除頻繁k項集fx和fy。4.根據權利要求1所述的應用層協議特徵的提取方法,其特徵在於在所述步驟(2)之前包括建立流量數據包的頻繁項集數據模型的過程令I=Upi2,....id},每個項ig(g=1到d)由兩位十六進位數組成,是應用層流量數據包的最小單位;T={tpt2,....td}為所有數據包的集合,ti={I的子集構成的序列},為一個應用層協議信息數據包;令S=substring(ti),S表示應用層協議信息數據包ti的一個子序列,為I的項集;頻繁項集的支持度support=P&(S)/T);若support>minimum_sup,則應用層流量數據包ti的子序列S為該應用層的協議特徵。5.根據權利要求1所述的應用層協議特徵的提取方法,其特徵在於所述頻繁1項集的長度為2的倍數,且大於等於4。6.根據權利要求2所述的應用層協議特徵的提取方法,其特徵在於在所述步驟(2)和(4)的頻繁項集的提取過程中,包括刪除不產生頻繁項集的流量數據包的過程。7.根據權利要求1至6中任一項所述的應用層協議特徵的提取方法,其特徵在於在所述步驟(1)中還包括對捕獲到的流量數據包進行預處理的過程將捕獲到流量數據包進行上行網絡流量和下行網絡流量的分流,只保留上行網絡流8.根據權利要求7所述的應用層協議特徵的提取方法,其特徵在於在所述對捕獲到的流量數據包進行預處理的過程中還包括對上行網絡流量的每一個流量數據包的鏈路層、網絡層、傳輸層的頭文件信息去除,只保留應用層數據信息,形成應用層協議信息數據包供後續步驟使用的過程。9.根據權利要求8所述的應用層協議特徵的提取方法,其特徵在於在所述對捕獲到的流量數據包進行預處理的過程中還包括根據設定的應用層協議信息數據包長度閾值L對應用層協議信息數據包進行限制和截取的過程,使得每個應用層協議信息數據包只保留長度為L的數據信息。10.根據權利要求1至6中任一項所述的應用層協議特徵的提取方法,其特徵在於在所述步驟(5)之後還包括對提取出的應用層的協議特徵集合進行優化的過程刪除協議特徵集合中不具代表性的協議特徵和應用層通用的協議特徵。全文摘要本發明公開了一種應用層協議特徵的提取方法,從工程應用角度出發將數據挖掘的思想和方法實際應用到應用層協議特徵的提取過程中,提出了一套基於Apriori算法的數據挖掘AC算法,並在此基礎上根據應用層協議流量數據量大的特點,從應用層協議數據包的有效包長、有效流量和無用流量等角度出發,提出了對流量數據包進行限制預處理的策略,從而克服了手動分析的不足,促進了企業和公司應用層協議分析工作的信息化和智能化,為企業和公司減輕了人力資源的負擔,提高了工作效率和協議識別的準確率。文檔編號H04L29/08GK101753622SQ20091026010公開日2010年6月23日申請日期2009年12月25日優先權日2009年12月25日發明者劉榮燁申請人:青島朗訊科技通訊設備有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀