欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

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