国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種未知協(xié)議報文格式推斷方法

      文檔序號:9219755閱讀:1045來源:國知局
      一種未知協(xié)議報文格式推斷方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于網(wǎng)絡數(shù)據(jù)流未知協(xié)議識別領(lǐng)域,具體為一種未知協(xié)議報文格式推斷方 法,利用網(wǎng)絡中截獲的數(shù)據(jù)包,根據(jù)數(shù)據(jù)包序列比對技術(shù)實現(xiàn)對未知協(xié)議數(shù)據(jù)報文格式推 斷。
      【背景技術(shù)】
      [0002] 現(xiàn)在的協(xié)議識別技術(shù)主要包括基于端口映射的協(xié)議識別技術(shù)、基于靜態(tài)特征的深 度包檢測協(xié)議識別技術(shù)和基于動態(tài)行為特征的協(xié)議識別技術(shù)等。這些方法都是根據(jù)從公開 的協(xié)議規(guī)范提取該類協(xié)議的協(xié)議特征,進而建立該協(xié)議的特征庫,作為識別的依據(jù)。
      [0003] 根據(jù)協(xié)議格式規(guī)范,可以對流量進行應用識別。但是很多網(wǎng)絡協(xié)議,例如私有協(xié) 議或者非標準協(xié)議,沒有公共的協(xié)議規(guī)范,因此不能建立特征庫,傳統(tǒng)的協(xié)議識別工具無法 使用?,F(xiàn)目前的挑戰(zhàn)在于,現(xiàn)在未知協(xié)議分析沒有自動的方法,大多采用人工參與的方式。 數(shù)據(jù)包中具有固定長度的域還可以人工反向推斷出來,但是當數(shù)據(jù)包的格式中具有變長域 時,試圖進行自動格式推斷難度更大。

      【發(fā)明內(nèi)容】

      [0004] 要解決的技術(shù)問題
      [0005] 針對在偵察截獲網(wǎng)絡數(shù)據(jù)包后,如何根據(jù)網(wǎng)絡數(shù)據(jù)包進行序列比對實現(xiàn)對未知協(xié) 議報文格式的推測的問題,本發(fā)明提出了一種基于數(shù)據(jù)包序列比對的自動未知協(xié)議報文推 斷方法,該方法的提出主要有以下目的:1、未知協(xié)議報文推斷僅根據(jù)網(wǎng)絡截獲的數(shù)據(jù)流,不 依賴于公共的協(xié)議格式規(guī)范;2、在網(wǎng)絡截獲數(shù)據(jù)充足的條件下,可以實現(xiàn)自動協(xié)議格式報 文數(shù)據(jù)域的有效推測,降低人工參與量。
      [0006] 技術(shù)方案
      [0007] 本發(fā)明的技術(shù)方案為:
      [0008] 所述一種未知協(xié)議報文格式推斷方法,其特征在于:包括以下步驟:
      [0009] 步驟1 :采集N個數(shù)據(jù)包序列,按照數(shù)據(jù)包序列的長度對數(shù)據(jù)包序列進行排序;建 立最底層具有N個葉子節(jié)點,高度為『log2ATI啲比對完全二叉樹;比對完全二叉樹初始時, 將排序后的N個數(shù)據(jù)包序列依次對應賦值給最底層N個葉子節(jié)點,每個葉子節(jié)點內(nèi)的值為 一個數(shù)據(jù)包序列,其余節(jié)點為空值;
      [0010] 步驟2 :根據(jù)構(gòu)造的比對完全二叉樹,按照下面的規(guī)則自下而上進行序列比對,使 得比對完全二叉樹中的每個節(jié)點均有值,且每條邊均有對應的空格插入操作方式:若一個 節(jié)點為空值,并且它的左右子節(jié)點均有值,則對其子節(jié)點進行序列比對,并將比對結(jié)果序列 存儲到該節(jié)點中,同時將序列比對產(chǎn)生的空格插入操作方式記錄到對應的邊上;
      [0011] 所述序列比對采用以下方法:
      [0012] 步驟2. 1 :構(gòu)造一個行數(shù)為M+1,列數(shù)為K+1的矩陣,其中M為第一數(shù)據(jù)包序列的長 度,K為第二數(shù)據(jù)包序列的長度;
      [0013] 步驟2.2 :將第一數(shù)據(jù)包序列放置在矩陣左側(cè),且第一數(shù)據(jù)包序列中的每個字符 對應矩陣的一行,第一數(shù)據(jù)包序列的所有字符依次對應第2行至第M+1行;將第二數(shù)據(jù)包序 列放置在矩陣上方,且第二數(shù)據(jù)包序列中的每個字符對應矩陣的一列,第二數(shù)據(jù)包序列的 所有字符依次對應第2列至第K+1列;
      [0014] 步驟2. 3 :將矩陣的第1行和第1列的元素全部賦0 ;矩陣中的其余元素值通過以 下公式得到:
      [0015]
      [0016] Qu為矩陣第i行第j列的元素值,i取2~M+l,j取2至K+l,Su為打分值,若矩 陣第i行對應的第一數(shù)據(jù)包序列中的字符與矩陣第j列對應的第二數(shù)據(jù)包序列中的字符相 同,則Si』=1,否則Si』=0 ;
      [0017] 步驟2. 4 :對于步驟2. 3得到的賦值完成的矩陣,從矩陣中取值最大的元素開始, 反向跟蹤到矩陣的第1行第1列元素,得到一條從矩陣中取值最大的元素到矩陣第1行第 1列元素的路徑;所述反向跟蹤的規(guī)則為:對于第i行第j列元素:比較第i-1行第j列元 素、第i行第j-1列元素、第i-1行第j-1列元素的元素值,第i行第j列元素的反向跟蹤 方向為第i-1行第j列元素、第i行第j-1列元素、第i-1行第j-1列元素中元素值最大的 元素位置,若第i-1行第j列元素、第i行第j-1列元素、第i-1行第j-1列元素的元素值 相同,則第i行第j列元素的反向跟蹤方向為第i-1行第j-1列元素位置;
      [0018] 步驟2. 5 :根據(jù)步驟2. 4得到的路徑,得到第一序列和第二序列的空格插入操作方 式:對于處于路徑中的第i行第j列元素:
      [0019] 若反向跟蹤方向為第i-1行第j-1列元素位置,則不進行操作;
      [0020] 若反向跟蹤方向為第i行第j-1列元素位置,則在第一數(shù)據(jù)包序列中插入空格,空 格插入位置為矩陣第i行對應的字符與矩陣第i+1行對應的字符之間;
      [0021] 若反向跟蹤方向為第i-1行第j列元素位置,則在第二數(shù)據(jù)包序列中插入空格,空 格插入位置為矩陣第j列對應的字符與矩陣第j+1列對應的字符之間;
      [0022] 步驟2. 6 :將第一數(shù)據(jù)包序列和第二數(shù)據(jù)包序列按照步驟2. 5得到的空格插入操 作方式插入空格,得到比對結(jié)果序列;
      [0023] 步驟3 :比對完全二叉樹的根節(jié)點中得到所有葉子節(jié)點對齊的結(jié)果,所述所有葉 子節(jié)點對齊的結(jié)果具有相同的長度;在所有葉子節(jié)點對齊的結(jié)果中,具有相同位置且字符 相同的部分組成推斷出的協(xié)議報文格式。
      [0024] 有益效果
      [0025] 該發(fā)明提供的一種基于數(shù)據(jù)包序列比對的自動未知協(xié)議報文方法較之現(xiàn)有人工 參與的未知數(shù)據(jù)包格式推斷方法,在采集數(shù)據(jù)包數(shù)目確定的基礎上,可以降低人工參與的 工作量實現(xiàn)自動推斷;在沒有數(shù)據(jù)包格式任何先驗信息的條件下,可以實現(xiàn)對未知協(xié)議數(shù) 據(jù)包格式的有效推斷。
      【附圖說明】
      [0026] 圖1序列比對^叉樹不意圖。
      [0027] 圖2序列比對算法示例圖。
      [0028] 圖3基于序列比對的自動未知協(xié)議報文推斷方法實施實例示意圖。左側(cè)是數(shù)據(jù)報 文;右側(cè)是推斷分析系統(tǒng)。
      [0029] 圖4未知協(xié)議報文格式推斷結(jié)果。
      【具體實施方式】
      [0030] 下面結(jié)合具體實施例描述本發(fā)明:
      [0031] 如圖3所示,左側(cè)的數(shù)據(jù)采集系統(tǒng)包括一個網(wǎng)絡數(shù)據(jù)包捕獲工具,捕獲網(wǎng)絡上的 原始數(shù)據(jù)包直接傳遞到分析推斷系統(tǒng)。分析推斷系統(tǒng)根據(jù)數(shù)據(jù)包的長度建立序列比對二叉 樹,從二叉樹葉子節(jié)點向上進行序列比對,序列比對采用基于動態(tài)規(guī)劃的序列比對算法。所 有節(jié)點序列比對結(jié)束后得到具有相同的長度葉子節(jié)點對齊的結(jié)果,根據(jù)結(jié)果尋找相同的部 分,實現(xiàn)自動對未知協(xié)議報文格式推斷并輸出,如圖4所示。實施實例表明本發(fā)明所提出的 方法具備對未知協(xié)議報文格式推斷能力同時減少了人工操作。
      [0032] 實施例的具體實現(xiàn)步驟為:
      [0033] 步驟1 :采集N個數(shù)據(jù)包序列。數(shù)據(jù)包采集通過網(wǎng)絡數(shù)據(jù)包采集工具實現(xiàn)。采用 基于libpcap的數(shù)據(jù)捕獲工具,通過增加一個旁路處理,對發(fā)送和接收到的數(shù)據(jù)包做過濾/ 緩沖等相關(guān)處理,最后可以將捕獲網(wǎng)絡上的原始數(shù)據(jù)包直接傳遞到應用程序。通過數(shù)據(jù)包 采集得到的原始數(shù)據(jù)包將作為序列比對的對象。
      [0034] 按照數(shù)據(jù)包序列的長度對數(shù)據(jù)包序列進行排序;建立最底層具有N個葉子節(jié)點, 高度為丨l〇g2A/丨的比對完全二叉樹,如圖1所示。比對完全二叉樹初始時,將排序后的N個 數(shù)據(jù)包序列依次對應賦值給最底層N個葉子節(jié)點,每個葉子節(jié)點內(nèi)的值為一個數(shù)據(jù)包序 列,其余節(jié)點為空值;
      [0035] 步驟2 :根據(jù)構(gòu)造的比對完全二叉樹,按照下面的規(guī)則自下而上進行序列比對,使 得比對完全二叉樹中的每個節(jié)點均有值,且每條邊均有對應的空格插入操作方式:若
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1