一種協(xié)議指紋自動提取方法及系統(tǒng)的制作方法
【技術領域】
[0001 ]本發(fā)明屬于網(wǎng)絡技術領域,尤其涉及一種協(xié)議指紋自動提取方法及系統(tǒng)。
【背景技術】
[0002]從網(wǎng)絡運行和管理者角度說,希望對本地網(wǎng)絡信息的訪問、讀寫等操作受到保護和控制,避免出現(xiàn)“陷門”、病毒、非法存取、拒絕服務和網(wǎng)絡資源非法占用和非法控制等威脅,制止和防御網(wǎng)絡黑客的攻擊。對安全保密部門來說,他們希望對非法的、有害的或涉及國家機密的信息進行過濾和防堵,避免機要信息泄露,避免對社會產(chǎn)生危害,對國家造成巨大損失。
[0003]在網(wǎng)絡協(xié)議識別領域,出現(xiàn)了協(xié)議指紋識別技術,網(wǎng)絡協(xié)議指紋,廣泛應用于計算機安全的各個方面,例如流量識別、入侵檢測系統(tǒng)、網(wǎng)絡監(jiān)控等?,F(xiàn)有的協(xié)議指紋識別方法為:如要分析QQ旋風的協(xié)議指紋,讓有協(xié)議指紋提取經(jīng)驗的工程師,通過使用抓包工具,如wireshark反復多次抓取數(shù)據(jù)包,抓包(packet capture)就是將網(wǎng)絡傳輸發(fā)送與接收的數(shù)據(jù)包進行截獲、重發(fā)、編輯、轉(zhuǎn)存等操作,也用來檢查網(wǎng)絡安全。抓包也經(jīng)常被用來進行數(shù)據(jù)截取等。抓到數(shù)據(jù)包后,人眼對比分析數(shù)據(jù)報文,提取出QQ旋風的數(shù)據(jù)報文攜帶的協(xié)議指紋特征。因為不斷涌現(xiàn)新的應用軟件需要提取協(xié)議指紋特征,舊的應用軟件也在不斷在更新版本,很可能指紋特征需要修改維護,重新提取,這樣工作量就很大,比如QQ軟件分多個平臺的版本,PC平臺、安卓平臺、1s平臺,包括聊天、語音、視頻、文件等協(xié)議,并且每隔一段時間就有新版本出現(xiàn),這些都需要投入人力進行分析維護。
[0004]因此,如何自動高效地提取協(xié)議指紋,降低工作人員的工作強度,提高工作效率,成為技術人員需要考慮的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術問題是提供一種協(xié)議指紋自動提取方法及系統(tǒng),提高協(xié)議指紋提取的自動化水平,降低工作人員的工作強度,提高工作效率。
[0006]為了解決上述技術問題,本發(fā)明提供了一種協(xié)議指紋自動提取方法,所述方法包括以下步驟:
[0007]調(diào)用進程抓包工具對指定的電腦網(wǎng)卡進行抓包,輸出各進程流量的數(shù)據(jù)包;
[0008]獲得待分析的進程的流量數(shù)據(jù)包;
[0009]將待分析的流量數(shù)據(jù)包按三元組確定的節(jié)點自動歸類,每一個節(jié)點按五元組分成多個會話;
[0010]對于一個節(jié)點,將所有會話的首個報文內(nèi)容相互比對,獲得所有首個報文內(nèi)容中重復性高的字段,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋;直到獲得所有節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0011 ] 優(yōu)選的,所述三元組為:IP+端口 +協(xié)議類型;所述五元組為:源IP+源端口 +目的IP+目的端口+協(xié)議類型。
[0012]優(yōu)選的,所述對于一個節(jié)點,將所有會話的首個報文內(nèi)容相互比對,包括:
[0013]查找所有首個報文中固定字節(jié)重復性最高的內(nèi)容作為第一字段,再查找所有首個報文中除固定字節(jié)外的其他字節(jié)重復性最高的內(nèi)容作為第二字段,將所述第一字段和所述第二字段綜合,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0014]為了解決上述技術問題,本發(fā)明還提供了一種協(xié)議指紋自動提取系統(tǒng),所述系統(tǒng)包括:
[0015]數(shù)據(jù)包獲取模塊,用于調(diào)用進程抓包工具對指定的電腦網(wǎng)卡進行抓包,輸出各進程流量的數(shù)據(jù)包;
[0016]進程確定模塊,用于獲得待分析的進程的流量數(shù)據(jù)包;
[0017]數(shù)據(jù)包劃分模塊,用于將待分析的流量數(shù)據(jù)包按三元組確定的節(jié)點自動歸類,每一個節(jié)點按五元組分成多個會話;
[0018]指紋獲取模塊,用于將一個節(jié)點的所有會話的首個報文內(nèi)容相互比對,獲得所有首個報文內(nèi)容中重復性高的字段,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋,直至獲得所有節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0019]優(yōu)選的,所述數(shù)據(jù)包劃分模塊,進一步用于確定所述三元組為:IP+端口+協(xié)議類型;確定所述五元組為:源IP+源端口 +目的IP+目的端口 +協(xié)議類型。
[0020]優(yōu)選的,所述指紋獲取模塊,進一步用于查找所有首個報文中固定字節(jié)重復性最高的內(nèi)容作為第一字段,再查找所有首個報文中除固定字節(jié)外的其他字節(jié)重復性最高的內(nèi)容作為第二字段,將所述第一字段和所述第二字段綜合,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0021]本發(fā)明的協(xié)議指紋自動提取方法及系統(tǒng),根據(jù)三元組(IP+端口+協(xié)議類型)確定一個節(jié)點,五元組(源IP+源端口 +目的IP+目的端口 +協(xié)議類型)確定一條會話,將待分析的流量數(shù)據(jù)包按三元組確定的節(jié)點自動歸類,每一個節(jié)點按五元組分成多個會話,對于一個節(jié)點,將所有會話的首個報文內(nèi)容相互比對,獲得所有首個報文內(nèi)容中重復性高的字段,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋;直到獲得所有節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。本發(fā)明與人工提取協(xié)議指紋的方法相比,自動提取協(xié)議指紋更加精準、快速高效、省時省力。
【附圖說明】
[0022]圖1為本發(fā)明實施例的協(xié)議指紋自動提取方法流程圖。
[0023]圖2為本發(fā)明實施例的協(xié)議指紋自動提取系統(tǒng)結(jié)構(gòu)示意圖。
[0024]圖3為本發(fā)明的實際工作流程圖。
[0025]圖4為本發(fā)明應用實例中的指紋自動提取演示例示意圖。
【具體實施方式】
[0026]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0027]本發(fā)明的主要思想是:根據(jù)三元組(IP+端口+協(xié)議類型)確定一個節(jié)點,五元組(源IP+源端口 +目的IP+目的端口 +協(xié)議類型)確定一條會話,將待分析的流量數(shù)據(jù)包按三元組確定的節(jié)點自動歸類,每一個節(jié)點按五元組分成多個會話,對于一個節(jié)點,將所有會話的首個報文內(nèi)容相互比對,獲得所有首個報文內(nèi)容中重復性高的字段,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋;直到獲得所有節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0028]參照圖1所示,本發(fā)明實施例的協(xié)議指紋自動提取方法流程圖。所述方法包括以下步驟:
[0029]步驟101,調(diào)用進程抓包工具對指定的電腦網(wǎng)卡進行抓包,輸出各進程流量的數(shù)據(jù)包;
[0030]步驟102,獲得待分析的進程的流量數(shù)據(jù)包;
[0031]步驟103,根據(jù)三元組(IP+端口 +協(xié)議類型)確定一個節(jié)點,五元組(源IP+源端口 +目的IP+目的端口 +協(xié)議類型)確定一條會話,將待分析的流量數(shù)據(jù)包按三元組確定的節(jié)點自動歸類,每一個節(jié)點按五元組分成多個會話;
[0032]步驟104,對于一個節(jié)點,將所有會話的首個報文內(nèi)容相互比對,獲得所有首個報文內(nèi)容中重復性高的字段,作為該節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋;
[0033]步驟105,重復步驟104,直到獲得所有節(jié)點的流量數(shù)據(jù)包的協(xié)議指紋。
[0034]在本發(fā)明的一個優(yōu)選實施例中,步驟104中的具體處理方法為:鑒于指紋一般存在于報文的固定字節(jié)或者非固定字節(jié),拿到某個節(jié)點的報文后,首先對比固定字節(jié),即查找固定字節(jié)重復性最高的內(nèi)容作為第一字段,看是否固定位置存在指紋,如固定字節(jié)04-07字節(jié)存在十六進制值表示的403\別7\別9\別8字段指紋,然后再對比非固定字節(jié),即除固定字節(jié)外的其他字節(jié)重復性