專利名稱:網絡即時通信工具流量識別系統(tǒng)及識別方法
技術領域:
本發(fā)明涉及網絡技術領域,特別涉及一種網絡即時通信工具流量識別系統(tǒng)及識別方法。
背景技術:
在過去的十年時間里,網絡即時通信工具作為一種方便、實用的通信工具由于其穩(wěn)定的通話質量、安全的通信模式,因而獲得了全世界范圍的普及。在網絡管理方面,也迫切需要對網絡即時通信工具的網絡性能進行優(yōu)化,以提高互聯(lián)網用戶的體驗。因此,研究如何在網絡流量中識別和管理網絡即時通信工具通信流量,具有很強的學術意義和實用價值,是學術界和工業(yè)界的研究熱點。然而,網絡管理者對于在網絡流量中識別網絡即時通信工具流量面臨著極大的挑戰(zhàn),主要包含以下幾點原因1、網絡即時通信工具是一個全球性的P2P VoIP網絡,其主要構成成分包含普通節(jié)點(客戶端)、超級節(jié)點(SN)以及登錄服務器,采用傳統(tǒng)流量識別技術的方法已經失效;2、網絡即時通信工具具備多樣化的通信模式,包括語音通話、即時消息、文件傳輸和視頻會議,同時還可以正常工作在NAT和防火墻后;3、網絡即時通信工具采用動態(tài)傳輸端口對數(shù)據(jù)流進行加密傳輸,能抵抗窺探等各種非法行為,并加大安全系數(shù),以保護其不被逆向破解。綜合以上原因,雖然已有大量的研究人員提出了多種方法來識別網絡即時通信工具流量,但不幸的是,這些方法大多屬于粗粒度的解決方案,不能很好地識別每一條網絡即時通信工具產生的流量,在細粒度識別方面存在缺陷。因此,針對這些問題和需求,迫切需要引入新的思路和方法,來解決網絡即時通信工具網絡流的識別問題, 并使之更適用于網絡管理系統(tǒng)(匪S)。
發(fā)明內容
(一)要解決的技術問題本發(fā)明要解決的技術問題是,針對現(xiàn)有技術的不足,提供一種網絡即時通信工具流量識別系統(tǒng)及識別方法,夠有效識別網絡即時通信工具在通信過程中產生的所有網絡流,且具有準確度高、誤報率低、識別快速的特點。(二)技術方案本發(fā)明提供一種網絡即時通信工具流量識別系統(tǒng),包括流量識別預處理模塊、UDP網絡流識別處理模塊、TCP網絡流識別處理模塊和網絡流數(shù)據(jù)統(tǒng)計模塊,其中流量識別預處理模塊,用于加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式;UDP網絡流識別處理模塊,根據(jù)正則DFA算法判斷出網絡即時通信工具的UDP網絡流,并寫入網絡即時通信工具m)P的節(jié)點信息表;TCP網絡流識別處理模塊,根據(jù)所述網絡即時通信工具UDP的節(jié)點信息表,判斷出網絡即時通信工具的TCP網絡流,并寫入網絡即時通信工具TCP的節(jié)點信息表;網絡流數(shù)據(jù)統(tǒng)計模塊,用于統(tǒng)計網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表中流量數(shù)據(jù),并顯示。 其中,所述網絡流量數(shù)據(jù)統(tǒng)計模塊統(tǒng)計出的流量數(shù)據(jù)包括網絡流的大小和數(shù)據(jù)包的數(shù)目。本發(fā)明還一種網絡即時通信工具流量識別方法,包括如下步驟S1:流量識別預處理模塊對網絡流量處理接口系統(tǒng)加載,用于通過網絡流量處理接口建立TCP和UDP流量表;S2 :流量識別預處理模塊對加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式;S3 =UDP網絡流識別處理模塊根據(jù)五元組確定網絡流,對每條所述網絡流中的每個UDP數(shù)據(jù)包進行解析,并判斷出所述UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流;S4 =UDP網絡流識別處理模塊根據(jù)S2中的正則DFA算法對S3中的網絡即時通信工具網絡流進行匹配判斷出S3中的五元組網絡流是否為網絡即時通信工具網絡流,如果是則寫入網絡即時通信工具UDP的節(jié)點信息表;S5 =TCP網絡流識別處理模塊根據(jù)TCP服務器列表判斷出TCP網絡流是否為網絡即時通信工具的TCP網絡流,如果是則進入S6 ;S6 =TCP網絡流識別處理模塊根據(jù)網絡即時通信工具UDP的節(jié)點信息表,判斷S5中的網絡即時通信工具的TCP網絡流是否為網絡即時通信工具的網絡流,如果是則寫入網絡即時通信工具TCP的節(jié)點信息表;S7 :根據(jù)S4和S6得到的網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表進行統(tǒng)計,統(tǒng)計出流量數(shù)據(jù)并顯示。其中,S3具體包括通過判斷UDP數(shù)據(jù)包的純載荷長度是否達到指定長度3,如果大于3個字節(jié),則判斷此UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流。其中,S4具體包括提取S2中正則加載的強特征序列轉換為的正則表達式的第3個字節(jié)位置的字節(jié)值,將該字節(jié)值帶入正則DFA算法進行匹配搜索,如果匹配成功,則證明五元組網絡流是網絡即時通信工具網絡流,并寫入網絡即時通信工具UDP的節(jié)點信息表。其中,S4中的匹配搜索步驟如下S41 :如果屬于五元組網絡流的首個數(shù)據(jù)包,則初始化此網絡流的DFA狀態(tài)值為0,此狀態(tài)值代表正則有限狀態(tài)機中的狀態(tài)號,否則讀取已保存的此網絡流的DFA狀態(tài)值;S42 :提取UDP數(shù)據(jù)包載荷中指定位置的字節(jié)值,將此字節(jié)值與所在網絡流的DFA狀態(tài)值作為形參共同傳入DFA狀態(tài)機進行狀態(tài)轉換,其中DFA狀態(tài)值代表DFA狀態(tài)機的指定狀態(tài),字節(jié)值代表此指定狀態(tài)要輸入的數(shù)據(jù),通過這種狀態(tài)轉換,得到此網絡流的新的狀態(tài)值;S43:判斷此網絡流新的狀態(tài)值是否屬于匹配成功狀態(tài),若是則返回匹配成功,若不是則返回新的狀態(tài)值。其中,S5具體包括S51 :解析TCP網絡流中的IP數(shù)據(jù)包,提取其IP源地址和目的地址;
S52 :根據(jù)TCP服務器IP列表判斷IP源和目的地址是否存在網絡即時通信工具通信交互服務器,如果存在,則此網絡流為網絡即時通信工具的TCP網絡流,否則執(zhí)行S53 ;S53 :進一步通過機器學習的方法判斷TCP網絡流是否屬于網絡即時通信工具的TCP網絡流。其中,S6具體包括S61 :查詢網絡即時通信工具UDP的節(jié)點信息表,如果IPa已被所述UDP網絡流識別處理模塊判斷為網絡即時通信工具節(jié)點,則IPa相關的TCP網絡流則為網絡即時通信工具的TCP網絡流,如果IPb已被所述UDP網絡流識別處理模塊判斷為非網絡即時通信工具節(jié)點,則IPb相關的TCP網絡流則確定為非網絡即時通信工具的TCP網絡流;S62 :如果網絡即時通信工具UDP的節(jié)點信息表中未能找到IPc的信息,則默認為非網絡即時通信工具的TCP網絡流。其中,在S7中流量數(shù)據(jù)包括流量的大小以及數(shù)據(jù)包數(shù)目。(三)有益效果本發(fā)明的方法可以應用于網絡即時通信工具應用的流量識別,由于采用的識別方法是基于強特征序列的,根據(jù)實驗測試,它的準確率很高、且誤報率極低。另外,因為用于網絡即時通信工具的強特征序列只需要檢測一條網絡流的前幾個數(shù)據(jù)包即可,因此具有快速識別的特點,非常易于對于網絡中網絡即時通信工具應用流量的管控和處理。
圖1是本發(fā)明網絡即時 通信工具流量識別方法步驟流程圖;圖2是本發(fā)明網絡即時通信工具強特征序列正則表達式示意圖。
具體實施例方式下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明提供一種網絡即時通信工具流量識別系統(tǒng),包括流量識別預處理模塊、UDP網絡流識別處理模塊、TCP網絡流識別處理模塊和網絡流數(shù)據(jù)統(tǒng)計模塊,其中流量識別預處理模塊,用于加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式;UDP網絡流識別處理模塊,根據(jù)正則DFA算法判斷出網絡即時通信工具的UDP網絡流,并寫入網絡即時通信工具m)P的節(jié)點信息表;TCP網絡流識別處理模塊,根據(jù)所述網絡即時通信工具UDP的節(jié)點信息表,判斷出網絡即時通信工具的TCP網絡流,并寫入網絡即時通信工具TCP的節(jié)點信息表;網絡流數(shù)據(jù)統(tǒng)計模塊,用于統(tǒng)計網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表中流量數(shù)據(jù),并顯示。其中,所述網絡流量數(shù)據(jù)統(tǒng)計模塊統(tǒng)計出的流量數(shù)據(jù)包括網絡流的大小和數(shù)據(jù)包的數(shù)目。如圖1所示,本發(fā)明還一種網絡即時通信工具流量識別方法,包括如下步驟S1:流量識別預處理模塊對網絡流量處理接口系統(tǒng)加載,用于通過網絡流量處理接口建立TCP和UDP流量表;S2 :流量識別預處理模塊對加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式(如圖2所示);S3 =UDP網絡流識別處理模塊根據(jù)五元組確定網絡流(五元組通常是指由源IP地址,源端口,目的IP地址,目的端口,和傳輸層協(xié)議號這五個量組成的一個集合),對每條所述網絡流中的每個UDP數(shù)據(jù)包進行解析,并判斷出所述UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流;S4 UDP網絡流識別處理模塊根據(jù)S2中的正則DFA算法對S3中的網絡即時通信工具網絡流進行匹配判斷出S3中的五元組網絡流是否為網絡即時通信工具網絡流,如果是則寫入網絡即時通信工具UDP的節(jié)點信息表;S5 =TCP網絡流識別處理模塊根據(jù)TCP服務器列表判斷出TCP網絡流是否為網絡即時通信工具的TCP網絡流,如果是則進入S6 ;S6 =TCP網絡流識別處理模塊根據(jù)網絡即時通信工具UDP的節(jié)點信息表,判斷S5中的網絡即時通信工具的TCP網絡流是否為網絡即時通信工具的網絡流,如果是則寫入網絡即時通信工具TCP的節(jié)點信息表;S7 :根據(jù)S4和S6得到的網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表進行統(tǒng)計,統(tǒng)計出流量數(shù)據(jù)并顯示。其中,S3具體包括通過判斷UDP數(shù)據(jù)包的純載荷長度是否達到指定長度3,如果大于3個字節(jié),則判斷此UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流。
其中,S4具體包括提取S2中正則加載的強特征序列轉換為的正則表達式的第3個字節(jié)位置的字節(jié)值,將該字節(jié)值帶入正則DFA算法進行匹配搜索,如果匹配成功,則證明五元組網絡流是網絡即時通信工具網絡流,并寫入網絡即時通信工具UDP的節(jié)點信息表。其中,S4中的匹配搜索步驟如下S41 :如果屬于五元組網絡流的首個數(shù)據(jù)包,則初始化此網絡流的DFA狀態(tài)值為0,此狀態(tài)值代表正則有限狀態(tài)機中的狀態(tài)號,否則讀取已保存的此網絡流的DFA狀態(tài)值;S42 :提取UDP數(shù)據(jù)包載荷中指定位置的字節(jié)值,將此字節(jié)值與所在網絡流的DFA狀態(tài)值作為形參共同傳入DFA狀態(tài)機進行狀態(tài)轉換,其中DFA狀態(tài)值代表DFA狀態(tài)機的指定狀態(tài),字節(jié)值代表此指定狀態(tài)要輸入的數(shù)據(jù),通過這種狀態(tài)轉換,得到此網絡流的新的狀態(tài)值;S43:判斷此網絡流新的狀態(tài)值是否屬于匹配成功狀態(tài),若是則返回匹配成功,若不是則返回新的狀態(tài)值。其中,S5具體包括S51 :解析TCP網絡流中的IP數(shù)據(jù)包,提取其IP源地址和目的地址;S52 :根據(jù)TCP服務器IP列表判斷IP源和目的地址是否存在網絡即時通信工具通信交互服務器,如果存在,則此網絡流為網絡即時通信工具的TCP網絡流,否則執(zhí)行S53 ;S53 :進一步通過機器學習的方法判斷TCP網絡流是否屬于網絡即時通信工具的TCP網絡流。其中,S6具體包括S61 :查詢網絡即時通信工具UDP的節(jié)點信息表,如果IPa已被所述UDP網絡流識別處理模塊判斷為網絡即時通信工具節(jié)點,則IPa相關的TCP網絡流則為網絡即時通信工具的TCP網絡流,如果IPb已被所述UDP網絡流識別處理模塊判斷為非網絡即時通信工具節(jié)點,則IPb相關的TCP網絡流則確定為非網絡即時通信工具的TCP網絡流;S62 :如果網絡即時通信工具UDP的節(jié)點信息表中未能找到IPc的信息,則默認為非網絡即時通信工具的TCP網絡流。其中,在S7中流量數(shù)據(jù)包括流量的大小以及數(shù)據(jù)包數(shù)目。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
1.一種網絡即時通信工具流量識別系統(tǒng),其特征在于,包括流量識別預處理模塊、UDP網絡流識別處理模塊、TCP網絡流識別處理模塊和網絡流數(shù)據(jù)統(tǒng)計模塊,其中 流量識別預處理模塊,用于加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式; UDP網絡流識別處理模塊,根據(jù)正則DFA算法判斷出網絡即時通信工具的UDP網絡流,并寫入網絡即時通信工具Μ)Ρ的節(jié)點信息表; TCP網絡流識別處理模塊,根據(jù)所述網絡即時通信工具UDP的節(jié)點信息表,判斷出網絡即時通信工具的TCP網絡流,并寫入網絡即時通信工具TCP的節(jié)點信息表; 網絡流數(shù)據(jù)統(tǒng)計模塊,用于統(tǒng)計網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表中流量數(shù)據(jù),并顯示。
2.如權利要求1所述的系統(tǒng),其特征在于,所述網絡流量數(shù)據(jù)統(tǒng)計模塊統(tǒng)計出的流量數(shù)據(jù)包括網絡流的大小和數(shù)據(jù)包的數(shù)目。
3.—種網絡即時通信工具流量識別方法,其特征在于,包括如下步驟 s1:流量識別預處理模塊對網絡流量處理接口系統(tǒng)加載,用于通過網絡流量處理接口建立TCP和UDP流量表; s2:流量識別預處理模塊對加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式; s3=UDP網絡流識別處理模塊根據(jù)五元組確定網絡流,對每條所述網絡流中的每個UDP數(shù)據(jù)包進行解析,并判斷出所述UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流; s4=UDP網絡流識別處理模塊根據(jù)S2中的正則DFA算法對S3中的網絡即時通信工具網絡流進行匹配判斷出S3中的五元組網絡流是否為網絡即時通信工具網絡流,如果是則寫入網絡即時通信工具Μ)Ρ的節(jié)點信息表; s5=TCP網絡流識別處理模塊根據(jù)TCP服務器列表判斷出TCP網絡流是否為網絡即時通信工具的TCP網絡流,如果是則進入S6 ; s6=TCP網絡流識別處理模塊根據(jù)網絡即時通信工具UDP的節(jié)點信息表,判斷S5中的網絡即時通信工具的TCP網絡流是否為網絡即時通信工具的網絡流,如果是則寫入網絡即時通信工具TCP的節(jié)點信息表; s7根據(jù)S4和S6得到的網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表進行統(tǒng)計,統(tǒng)計出流量數(shù)據(jù)并顯示。
4.如權利要求3所述的方法,其特征在于,S3具體包括通過判斷UDP數(shù)據(jù)包的純載荷長度是否達到指定長度3,如果大于3個字節(jié),則判斷此UDP數(shù)據(jù)包所在的網絡流為網絡即時通信工具的網絡流。
5.如權利要求3所述的方法,其特征在于,S4具體包括提取S2中正則加載的強特征序列轉換為的正則表達式的第3個字節(jié)位置的字節(jié)值,將該字節(jié)值帶入正則DFA算法進行匹配搜索,如果匹配成功,則證明五元組網絡流是網絡即時通信工具網絡流,并寫入網絡即時通信工具Μ)Ρ的節(jié)點信息表。
6.如權利要求5所述的方法,其特征在于,S4中的匹配搜索步驟如下 S41:如果屬于五元組網絡流的首個數(shù)據(jù)包,則初始化此網絡流的DFA狀態(tài)值為O,此狀態(tài)值代表正則有限狀態(tài)機中的狀態(tài)號,否則讀取已保存的此網絡流的DFA狀態(tài)值;542:提取UDP數(shù)據(jù)包載荷中指定位置的字節(jié)值,將此字節(jié)值與所在網絡流的DFA狀態(tài)值作為形參共同傳入DFA狀態(tài)機進行狀態(tài)轉換,其中DFA狀態(tài)值代表DFA狀態(tài)機的指定狀態(tài),字節(jié)值代表此指定狀態(tài)要輸入的數(shù)據(jù),通過這種狀態(tài)轉換,得到此網絡流的新的狀態(tài)值; 543:判斷此網絡流新的狀態(tài)值是否屬于匹配成功狀態(tài),若是則返回匹配成功,若不是則返回新的狀態(tài)值。
7.如權利要求3所述的方法,其特征在于,S5具體包括 551:解析TCP網絡流中的IP數(shù)據(jù)包,提取其IP源地址和目的地址; 552:根據(jù)TCP服務器IP列表判斷IP源和目的地址是否存在網絡即時通信工具通信交互服務器,如果存在,則此網絡流為網絡即時通信工具的TCP網絡流,否則執(zhí)行S53 ; 553:進一步通過機器學習的方法判斷TCP網絡流是否屬于網絡即時通信工具的TCP網絡流。
8.如權利要求3所述的方法,其特征在于,S6具體包括 561:查詢網絡即時通信工具UDP的節(jié)點信息表,如果IPa已被所述UDP網絡流識別處理模塊判斷為網絡即時通信工具節(jié)點,則IPa相關的TCP網絡流則為網絡即時通信工具的TCP網絡流,如果IPb已被所述UDP網絡流識別處理模塊判斷為非網絡即時通信工具節(jié)點,則IPb相關的TCP網絡流則確定為非網絡即時通信工具的TCP網絡流; 562:如果網絡即時通信工具UDP的節(jié)點信息表中未能找到IPc的信息,則默認為非網絡即時通信工具的TCP網絡流。
9.如權利要求3所述的方法,其特征在于,在S7中流量數(shù)據(jù)包括流量的大小以及數(shù)據(jù)包數(shù)目。
全文摘要
本發(fā)明公開了一種網絡即時通信工具流量識別系統(tǒng)及識別方法,其系統(tǒng)包括流量識別預處理模塊用于加載正則DFA算法以及將網絡即時通信工具的強特征序列轉換為正則表達式的形式;UDP網絡流識別處理模塊根據(jù)正則DFA算法判斷出網絡即時通信工具的UDP網絡流,并寫入網絡即時通信工具UDP的節(jié)點信息表;TCP網絡流識別處理模塊根據(jù)所述網絡即時通信工具UDP的節(jié)點信息表,判斷出網絡即時通信工具的TCP網絡流,并寫入網絡即時通信工具TCP的節(jié)點信息表;網絡流數(shù)據(jù)統(tǒng)計模塊用于統(tǒng)計網絡即時通信工具UDP的節(jié)點信息表和網絡即時通信工具TCP的節(jié)點信息表中流量數(shù)據(jù),并顯示。本發(fā)明具有快速識別的特點,非常易于對于網絡中網絡即時通信工具應用流量的管控和處理。
文檔編號H04L12/58GK103036773SQ20121056469
公開日2013年4月10日 申請日期2012年12月21日 優(yōu)先權日2012年12月21日
發(fā)明者薛一波, 袁振龍 申請人:清華大學