一種報文分析過濾方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種報文分析過濾方法及裝置。所述方法包括:獲取網(wǎng)口接收到的網(wǎng)絡報文;通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息;調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。因此,本發(fā)明可以通過調用分析組件提取網(wǎng)絡報文的元組信息,并調用過濾組件根據(jù)該元組信息對網(wǎng)絡報文進行過濾,來模擬網(wǎng)絡應用設備的分析過濾功能,而無需依賴特定的硬件設備和芯片,因此本發(fā)明能夠降低組網(wǎng)的搭建及維護成本。
【專利說明】
一種報文分析過濾方法及裝置
技術領域
[0001]本發(fā)明涉及通信技術領域,尤其涉及一種報文分析過濾方法及裝置。
【背景技術】
[0002]隨著網(wǎng)絡技術的發(fā)展,網(wǎng)絡中充斥著各種各樣的網(wǎng)絡報文。為了提高網(wǎng)絡應用設備的報文處理效率,常在網(wǎng)絡應用設備處理之前先對網(wǎng)絡報文進行分析過濾。
[0003]現(xiàn)有技術中,網(wǎng)絡應用設備對網(wǎng)絡報文進行分析過濾常依賴于特定的硬件設備及芯片,若在組網(wǎng)中通過裝有特定硬件設備和芯片的網(wǎng)絡應用設備來分析過濾網(wǎng)絡報文,會造成搭建和維護成本較高。
【發(fā)明內容】
[0004]有鑒于此,本發(fā)明提供一種報文分析過濾方法及裝置來解決組網(wǎng)搭建及維護成本高的問題。
[0005]—種報文分析過濾方法,所述方法包括:
[0006]獲取網(wǎng)口接收到的網(wǎng)絡報文;
[0007]通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息;
[0008]調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。
[0009]進一步的,所述方法還可以包括:
[0010]預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,所述網(wǎng)絡元組過濾策略包括若干個網(wǎng)絡元組過濾表項及為每個網(wǎng)絡元組過濾表項設置的哈希值;
[0011]所述調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,包括:
[0012]通過調用報文過濾組件從所述元組信息中獲取IP五元組信息;
[0013]計算所述IP五元組信息的哈希值;
[0014]將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配;
[0015]若匹配成功,則所述網(wǎng)絡報文符合與其哈希值匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略。
[0016]進一步的,所述方法還可以包括:
[0017]預先在所述報文過濾組件中設置掩碼元組過濾策略,所述掩碼元組過濾策略包括若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值;
[0018]所述調用報文過濾組件,按照所述報文過濾組件中預設的過濾策略根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,包括:
[0019]通過調用報文過濾組件從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息;
[0020]將所述匹配信息與預設掩碼表中的任意一個掩碼相與,得到所述網(wǎng)絡報文的匹配值;
[0021]將所述網(wǎng)絡報文的匹配值與所述掩碼元組過濾策略中每個掩碼元組表項的過濾值進行匹配;
[0022]若匹配成功,則將所述網(wǎng)絡報文的元組信息與匹配成功的過濾值對應掩碼元組表項中的元組信息進行比較;
[0023]若相同,則所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略。
[0024]進一步的,所述方法還可以包括:
[0025]調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計;
[0026]以統(tǒng)計結果的類別為索引保存統(tǒng)計結果。
[0027]進一步的,所述方法還可以包括:
[0028]接收統(tǒng)計結果請求;
[0029]根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果;
[0030]發(fā)送所述統(tǒng)計結果。
[0031]基于相同的構思,本發(fā)明還一種報文分析過濾裝置,所述裝置包括:
[0032]報文獲取單元,用于獲取網(wǎng)口接收到的網(wǎng)絡報文;
[0033]報文分析單元,用于通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息;
[0034]報文過濾單元,用于調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。
[0035]進一步的,所述裝置還可以包括:
[0036]第一策略設置單元,用于預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,所述網(wǎng)絡元組過濾策略包括若干個網(wǎng)絡元組過濾表項及為每個網(wǎng)絡元組過濾表項設置的哈希值;
[0037]所述報文過濾單元,具體用于通過調用報文過濾組件從所述元組信息中獲取IP五元組信息,計算所述IP五元組信息的哈希值,將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配,若匹配成功,則所述網(wǎng)絡報文符合與其哈希值匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略。
[0038]進一步的,所述裝置還可以包括:
[0039]第二策略設置單元,用于預先在所述報文過濾組件中設置掩碼元組過濾策略,所述掩碼元組過濾策略包括若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值;
[0040]所述報文過濾單元,具體用于通過調用報文過濾組件從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息,將所述匹配信息與預設掩碼表中的任意一個掩碼相與得到所述網(wǎng)絡報文的匹配值,將所述網(wǎng)絡報文的匹配值與所述掩碼元組過濾策略中每個掩碼元組表項的過濾值進行匹配,若匹配成功,則將所述網(wǎng)絡報文的元組信息與匹配成功的過濾值對應掩碼元組表項中的元組信息進行比較,若相同,則所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略。[0041 ] 進一步的,所述裝置還可以包括:
[0042]報文統(tǒng)計單元,用于調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計,以統(tǒng)計結果的類別為索引保存統(tǒng)計結果。
[0043]進一步的,所述裝置還可以包括:
[0044]結果發(fā)送單元,用于在收到統(tǒng)計結果請求時,根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果,并發(fā)送所述統(tǒng)計結果。
[0045]由此可見,本發(fā)明可以通過調用分析組件提取網(wǎng)絡報文的元組信息,并調用過濾組件根據(jù)該元組信息對網(wǎng)絡報文進行過濾,來模擬網(wǎng)絡應用設備的分析過濾功能,而無需依賴特定的硬件設備和芯片,因此本發(fā)明能夠降低組網(wǎng)的搭建及維護成本。
【附圖說明】
[0046]圖1是本發(fā)明實施例中的一種報文分析過濾方法的處理流程圖;
[0047]圖2是本發(fā)明實施例中一種網(wǎng)絡報文處理流程圖;
[0048]圖3a是本發(fā)明實施例中設置網(wǎng)絡元組過濾策略的處理流程圖;
[0049]圖3b是本發(fā)明實施例中對網(wǎng)絡報文進行網(wǎng)絡元組過濾的處理流程圖;
[0050]圖4a是本發(fā)明實施例中設置掩碼元組過濾策略的處理流程圖;
[0051]圖4b是本發(fā)明實施例中對網(wǎng)絡報文進行掩碼元組過濾的處理流程圖;
[0052]圖5是本發(fā)明實施例中一種報文分析過濾裝置的結構示意圖;
[0053]圖6是本發(fā)明實施例中另一種報文分析過濾裝置的結構示意圖。
【具體實施方式】
[0054]請參見圖1,是本發(fā)明實施例中的一種報文分析過濾方法的處理流程圖,其中包括:
[0055]步驟101、獲取網(wǎng)口接收到的網(wǎng)絡報文;
[0056]在本實施例中所述報文分析過濾方法可以作為應用程序安裝在任意的計算機或服務器上。所述計算機或服務器上通常會配置網(wǎng)卡以接收網(wǎng)絡報文,當網(wǎng)卡中的網(wǎng)口收到網(wǎng)絡報文時,本發(fā)明的報文分析過濾方法可以通過調用接口函數(shù)來獲取該網(wǎng)口上收到的網(wǎng)絡報文。
[0057]步驟102、通過調用報文分析組件對所述網(wǎng)絡報文按照IP (Internet Protocol,網(wǎng)絡互連協(xié)議)協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息;
[0058]當獲取到網(wǎng)絡報文后,可以通過調用報文分析組件對該網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層,如鏈路層、網(wǎng)絡層、傳輸層的順序進行報文解析。報文解析完成后,進一步提取該網(wǎng)絡報文中的元組信息,以及報文內容等信息。
[0059]步驟103、調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。
[0060]在獲取到所述網(wǎng)絡報文的元組信息后,可調用報文過濾組件對網(wǎng)絡報文進行過濾,若符合報文過濾組件中的過濾策略,則按照所述過濾策略處理所述網(wǎng)絡報文。其中,具體的過濾方法要根據(jù)所述報文過濾組件中的過濾策略而定,下面請參考本發(fā)明可選的兩種過濾策略的處理過程:
[0061]一種為網(wǎng)絡元組過濾策略,在本實施例中可預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,其中所述網(wǎng)絡元組過濾策略包括了若干個網(wǎng)絡元組過濾表項及為每個所述網(wǎng)絡元組過濾表項設置的哈希值。在調用所述報文過濾組件時,所述報文過濾組件可從所述元組信息中獲取所述網(wǎng)絡報文的IP五元組信息,并計算所述IP五元組信息的哈希值;然后將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配;如果匹配成功,則說明所述網(wǎng)絡報文符合與其哈希值相匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略,并按照該網(wǎng)絡元組過濾策略處理該網(wǎng)絡報文。
[0062]另一種為掩碼元組過濾策略,在本實施例中,還可以預先在所述報文過濾組件中設置掩碼元組過濾策略,其中所述掩碼元組過濾策略包括了若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值。在調用所述報文過濾組件時,所述報文過濾組件可從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息,并將所述匹配信息與預設掩碼表中的任意一個掩碼相與后得到所述網(wǎng)絡報文的匹配值。得到所述網(wǎng)絡報文的匹配值后再將所述匹配值與每個掩碼元組表項的過濾值進行匹配;如果匹配成功,則說明匹配成功的掩碼元組表項中的元組信息與所述網(wǎng)絡報文的元組信息相同幾率很高,因此再將所述網(wǎng)絡報文的元組信息與該掩碼元組表項中的元組信息進行比較,從而提高過濾速率。若所述網(wǎng)絡報文的元組信息與所述掩碼元組表項中的元組信息相同,則說明所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略,并根據(jù)該掩碼元組過濾策略處理所述網(wǎng)絡報文。
[0063]由此可見,本發(fā)明可以通過調用分析組件提取網(wǎng)絡報文的元組信息,并調用過濾組件根據(jù)該元組信息對網(wǎng)絡報文進行過濾,來模擬網(wǎng)絡應用設備的分析過濾功能,而無需依賴特定的硬件設備和芯片,因此本發(fā)明能夠降低組網(wǎng)的搭建及維護成本。
[0064]除此之外,在本發(fā)明可選的實施例中,所述報文分析過濾方法中還可以提供拓展接口,以支持寫入和更改程序。在優(yōu)選的實施例中,可以添加報文統(tǒng)計組件,來對過濾的網(wǎng)絡報文進行分類統(tǒng)計;還可以添加結果輸出組件,來調用接口函數(shù)輸出報文統(tǒng)計結果及其他報文信息,從而可以模擬更多的網(wǎng)絡應用設備中的報文處理功能,并使報文過濾結果的分析研究更加便利。
[0065]下面結合附圖,對本發(fā)明提供的報文分析過濾方法的【具體實施方式】進行詳細說明。
[0066]請參見圖2,是本發(fā)明實施例中一種網(wǎng)絡報文處理流程圖,其處理過程包括:
[0067]步驟201、設置網(wǎng)卡為混合模式,獲取該網(wǎng)卡上網(wǎng)口收到的網(wǎng)絡報文;
[0068]在計算機或服務器上安裝基于本發(fā)明的報文分析過濾方法制作的應用程序,運行該程序后,首先會將本機的網(wǎng)卡模式設置為混合模式,以便于接收所有類型的網(wǎng)絡報文。當網(wǎng)卡的網(wǎng)口上收到網(wǎng)絡報文時,可以獲取網(wǎng)口中的網(wǎng)絡報文。
[0069]步驟202、通過調用報文分析組件對所述網(wǎng)絡報文依次進行鏈路層報文解析、網(wǎng)絡層報文解析和傳輸層報文解析后,提取所述網(wǎng)絡報文的元組信息;
[0070]其中,調用報文分析組件對網(wǎng)絡報文進行逐層解析具體分為:鏈路層報文解析,主要對鏈路層的以太網(wǎng)報文和POS (Packet Over S0NET/SDH,標準傳輸協(xié)議的分組)報文進行解析;網(wǎng)絡層報文解析,主要對網(wǎng)絡層的VLAN (Virtual Local Area Network,虛擬局域網(wǎng))報文、MPLS (Mult1-Protocol Label Switching,多協(xié)議標簽交換)報文、IPV4 (InternetProtocol Vers1n 4,互聯(lián)網(wǎng)協(xié)議第四版)報文、IPV6 (Internet Protocol Vers1n6,互聯(lián)網(wǎng)協(xié)議第六版)報文等進行解析;傳輸層報文解析,主要是對傳輸層的TCP (Transmiss1nControl Protocol,傳輸控制協(xié)議)報文和UDP (User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)報文進行解析。
[0071]通過逐層的報文解析,可獲取完整的報文元組信息、報文內容以及其他信息。由于后續(xù)對該網(wǎng)絡報文進行過濾時主要基于報文的元組信息,因此關于報文內容和其他信息此處不做贅述。
[0072]步驟203、調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文;
[0073]由于所述報文過濾組件中設置的過濾策略可以根據(jù)實際應用情況選擇,不同的過濾策略會有不同的處理過程,因此下面分別以網(wǎng)絡元組過濾策略和掩碼元組過濾策略的具體實現(xiàn)過程來示例性的說明本發(fā)明中所述報文過濾組件的處理過程。
[0074]請參見圖3a,是本發(fā)明實施例中設置網(wǎng)絡元組過濾策略的處理流程圖,其中包括:
[0075]步驟311、添加網(wǎng)絡元組過濾表項到報文過濾組件,所述網(wǎng)絡元組過濾表項中包括網(wǎng)絡元組過濾策略A ;
[0076]步驟312、判斷所述報文過濾組件中是否已存在所述網(wǎng)絡元組過濾表項;若是則結束當前流程,若否則轉步驟313 ;
[0077]步驟313、計算所述網(wǎng)絡元組過濾表項的哈希值;
[0078]步驟314、判斷網(wǎng)絡元組過濾表中該哈希值所在的位置上是否已有網(wǎng)絡元組過濾策略,若是則轉步驟315,若否則轉步驟316 ;
[0079]步驟315、將所述網(wǎng)絡元組過濾策略A添加在已有的網(wǎng)絡元組過濾策略之后,結束當前流程;
[0080]步驟316、將所述網(wǎng)絡元組過濾策略A添加到所述哈希值所在的位置上,結束當前流程。
[0081]上述設置過程示例性的說明了所述網(wǎng)絡元組過濾表中每個網(wǎng)絡元組過濾表項及其對應的網(wǎng)絡元組過濾策略的設置過程,通過反復重復上述設置過程,可以在所述報文過濾組件中設置一個或多個網(wǎng)絡元組過濾策略。網(wǎng)絡元組過濾策略設置完成后,可以進一步對獲取的網(wǎng)絡報文進行過濾。
[0082]請參見圖3b,是本發(fā)明實施例中對網(wǎng)絡報文進行網(wǎng)絡元組過濾的處理流程圖,其中包括:
[0083]步驟321、調用報文過濾組件,提取所述網(wǎng)絡報文的IP五元組信息;
[0084]步驟322、計算所述IP五元組信息的哈希值hash_indexl ;
[0085]步驟323、將哈希值hash_indexl與所述網(wǎng)絡元組過濾表中的每個哈希值進行匹配;
[0086]步驟324、若匹配成功,則獲取與所述哈希值hash_indexl匹配的哈希值對應的網(wǎng)絡元組過濾表項;
[0087]步驟325、根據(jù)所獲取的網(wǎng)絡元組過濾表項中的網(wǎng)絡元組過濾策略對所述網(wǎng)絡報文進行處理。
[0088]請參見圖4a,是本發(fā)明實施例中設置掩碼元組過濾策略的處理流程圖,其中包括:
[0089]步驟411、添加掩碼元組過濾表項到報文過濾組件,所述掩碼元組過濾表項中包括掩碼元組過濾策略A ;
[0090]步驟412、判斷所述報文過濾組件中是否已存在所述掩碼元組過濾表項;若是則結束當前流程,若否則轉步驟413 ;
[0091]步驟413、判斷所述掩碼元組表項中的掩碼項是否在掩碼表中;
[0092]步驟414、當所述掩碼項未存在所述掩碼表中時,將所述掩碼項添加到所述掩碼表中;
[0093]步驟415、所述掩碼元組過濾表項中的掩碼項與元組項相與后計算哈希值;
[0094]步驟416、根據(jù)所述哈希值將所述掩碼元組過濾表項添加到所述掩碼元組過濾表中該哈希值所在的位置上,結束當前流程。
[0095]上述設置過程示例性的說明了所述掩碼元組過濾表中每個掩碼元組過濾表項及掩碼項的添加過程,通過反復重復上述設置過程,可以在所述報文過濾組件中設置一個或多個掩碼元組過濾策略。掩碼元組過濾策略設置完成后,可以進一步對獲取的網(wǎng)絡報文進行過濾。
[0096]請參見圖4b,是本發(fā)明實施例中對網(wǎng)絡報文進行掩碼元組過濾的處理流程圖,其中包括:
[0097]步驟421、調用報文過濾組件,從所述網(wǎng)絡報文的元組信息中提取預設個元組信息;
[0098]步驟422、組合所述預設個元組信息;
[0099]步驟423、將組合后的元組信息與所述掩碼表中的任一掩碼項相與后,計算哈希值hash_index2;
[0100]步驟424、將哈希值hash_index2與所述掩碼元組過濾表中的每個哈希值進行匹配;
[0101]步驟425、若匹配成功,則獲取與所述哈希值hash_index2相匹配的哈希值對應的掩碼元組過濾表項中的元組項;
[0102]步驟426、將所述預設個的元組信息與所獲取元組項比較;
[0103]步驟427、若所述預設個的元組信息與所獲取元組項相同,則按照該掩碼元組過濾表項中的掩碼元組過濾策略對所述網(wǎng)絡報文進行處理。
[0104]由于現(xiàn)有技術中,網(wǎng)絡報文的數(shù)量很大,需要依靠特定的芯片來完成報文過濾。而本發(fā)明實施例中的網(wǎng)絡元組過濾和掩碼元組過濾利用哈希算法將復雜的元組信息轉換成哈希值進行比較,從而可以減少系統(tǒng)運行負擔,提高過濾效率。因此本發(fā)明可以通過軟件實現(xiàn)網(wǎng)絡應用設備的報文過濾功能。
[0105]步驟204、調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計,并以統(tǒng)計結果的類別為索引保存統(tǒng)計結果;
[0106]為便于分析研究和新功能預研,在進行報文過濾后,可以調用報文統(tǒng)計組件,對報文過濾結果進行詳細統(tǒng)計。在本實施例中,統(tǒng)計過濾結果可以按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計,例如統(tǒng)計收發(fā)報文總包數(shù)和字節(jié)數(shù),以及各類報文的總包數(shù)、字節(jié)數(shù)和占總報文數(shù)的比例;統(tǒng)計收到的錯誤報文總包數(shù)、字節(jié)數(shù)和占總報文數(shù)的比例;統(tǒng)計當前網(wǎng)絡速率、各時段網(wǎng)絡速率;統(tǒng)計各種過濾策略的命中率等。完成統(tǒng)計后,以統(tǒng)計結果的類別為索引將統(tǒng)計結果保存在內存中,以便進行后續(xù)的分析研究。
[0107]步驟205、收到統(tǒng)計結果請求時,根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果,并發(fā)送所述統(tǒng)計結果。
[0108]為了便于本機的應用程序或其他設備上的應用程序方便快速查詢到上述統(tǒng)計結果,在本實施例中還提供了多種開放接口供應用程序調用。當收到統(tǒng)計結果請求時,可以根據(jù)所述統(tǒng)計結果請求中所請求統(tǒng)計結果的類別,來調用該類別對應的接口函數(shù),從而獲取到保存的統(tǒng)計結果。例如調用獲取報文數(shù)統(tǒng)計的函數(shù)可獲取到所述收發(fā)的報文總包數(shù)和字節(jié)數(shù)的統(tǒng)計結果;調用按類別獲取報文數(shù)統(tǒng)計的函數(shù)可獲取到指定類行報文的總包數(shù)、字節(jié)數(shù)和占有比例的統(tǒng)計結果;調用獲取網(wǎng)絡速率函數(shù)可獲取到當前網(wǎng)絡速率或各時段網(wǎng)絡速率匯總的統(tǒng)計結果等。獲取到所需的統(tǒng)計結果后,將所述統(tǒng)計結果發(fā)送到應用程序上,從而使所述統(tǒng)計結果得到有效了利用。
[0109]由此可見,本發(fā)明可以通過調用分析組件提取網(wǎng)絡報文的元組信息,并調用過濾組件根據(jù)該元組信息對網(wǎng)絡報文進行過濾,來模擬網(wǎng)絡應用設備的分析過濾功能,而無需依賴特定的硬件設備和芯片,因此本發(fā)明能夠降低組網(wǎng)的搭建及維護成本。
[0110]基于相同的構思,本發(fā)明還提供一種報文分析過濾裝置,所述裝置可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,本發(fā)明的報文分析過濾裝置作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的計算機程序指令讀取到內存中運行而成。
[0111]請參考圖5及圖6,本發(fā)明實施例中提供的一種報文分析過濾裝置500,所述裝置基本運行環(huán)境包括CPU,非易失性存儲器、內存、以及其他硬件,從邏輯層面上來看,所述裝置500包括:
[0112]報文獲取單元501,用于獲取網(wǎng)口接收到的網(wǎng)絡報文;
[0113]報文分析單元502,用于通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息;
[0114]報文過濾單元503,用于調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。
[0115]進一步的,所述裝置還可以包括:
[0116]第一策略設置單元504,用于預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,所述網(wǎng)絡元組過濾策略包括若干個網(wǎng)絡元組過濾表項及為每個網(wǎng)絡元組過濾表項設置的哈希值;
[0117]所述報文過濾單元503,具體可用于通過調用報文過濾組件從所述元組信息中獲取IP五元組信息,計算所述IP五元組信息的哈希值,將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配,若匹配成功,則所述網(wǎng)絡報文符合與其哈希值匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略。
[0118]進一步的,所述裝置還可以包括:
[0119]第二策略設置單元505,用于預先在所述報文過濾組件中設置掩碼元組過濾策略,所述掩碼元組過濾策略包括若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值;
[0120]所述報文過濾單元503,具體可用于通過調用報文過濾組件從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息,將所述匹配信息與預設掩碼表中的任意一個掩碼相與得到所述網(wǎng)絡報文的匹配值,將所述網(wǎng)絡報文的匹配值與所述掩碼元組過濾策略中每個掩碼元組表項的過濾值進行匹配,若匹配成功,則將所述網(wǎng)絡報文的元組信息與匹配成功的過濾值對應掩碼元組表項中的元組信息進行比較,若相同,則所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略。
[0121]進一步的,所述裝置還可以包括:
[0122]報文統(tǒng)計單元506,用于調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計,以統(tǒng)計結果的類別為索引保存統(tǒng)計結果。
[0123]進一步的,所述裝置還可以包括:
[0124]結果發(fā)送單元507,用于在收到統(tǒng)計結果請求時,根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果,并發(fā)送所述統(tǒng)計結果。
[0125]由此可見,本發(fā)明可以通過調用分析組件提取網(wǎng)絡報文的元組信息,并調用過濾組件根據(jù)該元組信息對網(wǎng)絡報文進行過濾,來模擬網(wǎng)絡應用設備的分析過濾功能,而無需依賴特定的硬件設備和芯片,因此本發(fā)明能夠降低組網(wǎng)的搭建及維護成本。
[0126]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。
【主權項】
1.一種報文分析過濾方法,其特征在于,所述方法包括: 獲取網(wǎng)口接收到的網(wǎng)絡報文; 通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息; 調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。2.如權利要求1所述的方法,其特征在于,所述方法還包括: 預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,所述網(wǎng)絡元組過濾策略包括若干個網(wǎng)絡元組過濾表項及為每個網(wǎng)絡元組過濾表項設置的哈希值; 所述調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,包括: 通過調用報文過濾組件從所述元組信息中獲取IP五元組信息; 計算所述IP五元組信息的哈希值; 將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配; 若匹配成功,則所述網(wǎng)絡報文符合與其哈希值匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略。3.如權利要求1所述的方法,其特征在于,所述方法還包括: 預先在所述報文過濾組件中設置掩碼元組過濾策略,所述掩碼元組過濾策略包括若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值; 所述調用報文過濾組件,按照所述報文過濾組件中預設的過濾策略根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,包括: 通過調用報文過濾組件從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息; 將所述匹配信息與預設掩碼表中的任意一個掩碼相與,得到所述網(wǎng)絡報文的匹配值;將所述網(wǎng)絡報文的匹配值與所述掩碼元組過濾策略中每個掩碼元組表項的過濾值進行匹配; 若匹配成功,則將所述網(wǎng)絡報文的元組信息與匹配成功的過濾值對應掩碼元組表項中的元組信息進行比較; 若相同,則所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略。4.如權利要求1所述的方法,其特征在于,所述方法還包括: 調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計; 以統(tǒng)計結果的類別為索引保存統(tǒng)計結果。5.如權利要求4所述的方法,其特征在于,所述方法還包括: 接收統(tǒng)計結果請求; 根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果; 發(fā)送所述統(tǒng)計結果。6.一種報文分析過濾裝置,其特征在于,所述裝置包括: 報文獲取單元,用于獲取網(wǎng)口接收到的網(wǎng)絡報文; 報文分析單元,用于通過調用報文分析組件對所述網(wǎng)絡報文按照IP協(xié)議棧包含的協(xié)議層依次進行解析后,提取所述網(wǎng)絡報文的元組信息; 報文過濾單元,用于調用報文過濾組件,根據(jù)提取的元組信息判斷所述網(wǎng)絡報文是否符合預設過濾策略,若符合則按照所述過濾策略處理所述網(wǎng)絡報文。7.如權利要求6所述的裝置,其特征在于,所述裝置還包括: 第一策略設置單元,用于預先在所述報文過濾組件中設置網(wǎng)絡元組過濾策略,所述網(wǎng)絡元組過濾策略包括若干個網(wǎng)絡元組過濾表項及為每個網(wǎng)絡元組過濾表項設置的哈希值; 所述報文過濾單元,具體用于通過調用報文過濾組件從所述元組信息中獲取IP五元組信息,計算所述IP五元組信息的哈希值,將計算出的哈希值與所述網(wǎng)絡元組過濾策略中每個網(wǎng)絡元組過濾表項的哈希值進行匹配,若匹配成功,則所述網(wǎng)絡報文符合與其哈希值匹配的網(wǎng)絡元組過濾表項對應的網(wǎng)絡元組過濾策略。8.如權利要求6所述的裝置,其特征在于,所述裝置還包括: 第二策略設置單元,用于預先在所述報文過濾組件中設置掩碼元組過濾策略,所述掩碼元組過濾策略包括若干個掩碼元組表項及為每個掩碼元組表項設置的過濾值; 所述報文過濾單元,具體用于通過調用報文過濾組件從所述網(wǎng)絡報文的元組信息中提取預設個元組信息組合成匹配信息,將所述匹配信息與預設掩碼表中的任意一個掩碼相與得到所述網(wǎng)絡報文的匹配值,將所述網(wǎng)絡報文的匹配值與所述掩碼元組過濾策略中每個掩碼元組表項的過濾值進行匹配,若匹配成功,則將所述網(wǎng)絡報文的元組信息與匹配成功的過濾值對應掩碼元組表項中的元組信息進行比較,若相同,則所述網(wǎng)絡報文符合所述掩碼元組表項對應的掩碼元組過濾策略。9.如權利要求6所述的裝置,其特征在于,所述裝置還包括: 報文統(tǒng)計單元,用于調用報文統(tǒng)計組件,按照預設的分類統(tǒng)計策略對符合所述過濾策略的網(wǎng)絡報文進行分類統(tǒng)計,以統(tǒng)計結果的類別為索引保存統(tǒng)計結果。10.如權利要求9所述的裝置,其特征在于,所述裝置還包括: 結果發(fā)送單元,用于在收到統(tǒng)計結果請求時,根據(jù)所請求的統(tǒng)計結果的類別調用對應的接口函數(shù)來獲取保存的統(tǒng)計結果,并發(fā)送所述統(tǒng)計結果。
【文檔編號】H04L12/24GK105871573SQ201510029065
【公開日】2016年8月17日
【申請日】2015年1月20日
【發(fā)明人】彭義剛, 董琳, 鄒瀟湘, 王濤, 黃曉朦, 王廣亮, 董釗
【申請人】國家計算機網(wǎng)絡與信息安全管理中心