一種網(wǎng)絡(luò)流量的識別方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及網(wǎng)絡(luò)流量識別技術(shù)領(lǐng)域,尤其是一種可以準(zhǔn)確并全面地識別網(wǎng)絡(luò)流量使用的協(xié)議及應(yīng)用的識別方法及裝置。
【背景技術(shù)】
[0002]OSI (Open System Interconnect1n)網(wǎng)絡(luò)協(xié)議包括七層,依次為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層及應(yīng)用層。其中,數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層及應(yīng)用層各自包含多種網(wǎng)絡(luò)協(xié)議,是網(wǎng)絡(luò)流量分析時(shí)的重要研究對象。具體地,網(wǎng)絡(luò)流量分析即識別網(wǎng)絡(luò)數(shù)據(jù)包使用到的網(wǎng)絡(luò)協(xié)議。
[0003]目前,網(wǎng)絡(luò)流量的識別方法是在數(shù)據(jù)包中的某些特定字段中提取字段值,利用國際規(guī)定的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)對字段值進(jìn)行識別,該種識別方式識別準(zhǔn)確率低且識別結(jié)果不全面。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供了一種網(wǎng)絡(luò)流量的識別方法及裝置,用以解決現(xiàn)有的識別方法準(zhǔn)確率低且識別結(jié)果不全面的技術(shù)問題。為實(shí)現(xiàn)所述目的,本發(fā)明提供的技術(shù)方案如下:
[0005]—種網(wǎng)絡(luò)流量的識別方法,包括:
[0006]獲取待識別數(shù)據(jù)包;
[0007]對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議;
[0008]在所述待識別數(shù)據(jù)包的頭部中提取IP地址及端口 ;
[0009]在預(yù)設(shè)流表中查找所述IP地址及端口 ;
[0010]當(dāng)查找到時(shí),將查找到的所述IP地址及端口對應(yīng)的網(wǎng)絡(luò)協(xié)議及應(yīng)用確定為所述待識別數(shù)據(jù)包的應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議及應(yīng)用;
[0011]當(dāng)未查找到時(shí),將所述待識別數(shù)據(jù)包中的負(fù)載數(shù)據(jù)與預(yù)設(shè)特征庫中的特征關(guān)鍵詞進(jìn)行匹配;
[0012]當(dāng)匹配成功時(shí),將匹配成功的特征關(guān)鍵詞對應(yīng)的網(wǎng)絡(luò)協(xié)議及應(yīng)用確定為所述待識別數(shù)據(jù)包的應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議及應(yīng)用。
[0013]優(yōu)選地,當(dāng)匹配成功時(shí),還包括:
[0014]將所述IP地址及端口添加至所述預(yù)設(shè)流表中。
[0015]優(yōu)選地,所述對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議包括:
[0016]利用預(yù)設(shè)協(xié)議樹對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議。
[0017]優(yōu)選地,所述在所述待識別數(shù)據(jù)包的頭部中提取IP地址及端口包括:
[0018]在所述待識別數(shù)據(jù)包的頭部中提取同一端的IP地址及端口 ;其中,所述同一端為發(fā)送端或接收端;或,
[0019]在所述待識別數(shù)據(jù)包的頭部中提取兩端的IP地址及任意一端的端口 ;或,
[0020]在所述待識別數(shù)據(jù)包的頭部中提取兩端的IP地址及兩端的端口。
[0021]本申請還提供了一種網(wǎng)絡(luò)流量的識別裝置,包括:
[0022]數(shù)據(jù)包獲取單元,用于獲取待識別數(shù)據(jù)包;
[0023]網(wǎng)絡(luò)協(xié)議確定單元,用于對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議;
[0024]IP地址端口獲取單元,用于在所述待識別數(shù)據(jù)包的頭部中提取IP地址及端口 ;
[0025]IP地址端口查找單元,用于在預(yù)設(shè)流表中查找所述IP地址及端口 ;
[0026]第一協(xié)議及應(yīng)用確定單元,用于當(dāng)查找到時(shí),將查找到的所述IP地址及端口對應(yīng)的網(wǎng)絡(luò)協(xié)議及應(yīng)用確定為所述待識別數(shù)據(jù)包的應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議及應(yīng)用;
[0027]負(fù)載數(shù)據(jù)匹配單元,用于當(dāng)未查找到時(shí),將所述待識別數(shù)據(jù)包中的負(fù)載數(shù)據(jù)與預(yù)設(shè)特征庫中的特征關(guān)鍵詞進(jìn)行匹配;
[0028]第二協(xié)議及應(yīng)用確定單元,用于當(dāng)匹配成功時(shí),將匹配成功的特征關(guān)鍵詞對應(yīng)的網(wǎng)絡(luò)協(xié)議及應(yīng)用確定為所述待識別數(shù)據(jù)包的應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議及應(yīng)用。
[0029]優(yōu)選地,還包括:
[0030]流表添加單元,用于當(dāng)匹配成功時(shí),將所述IP地址及端口添加至所述預(yù)設(shè)流表中。
[0031]優(yōu)選地,所述網(wǎng)絡(luò)協(xié)議確定單元包括:
[0032]網(wǎng)絡(luò)協(xié)議確定子單元,利用預(yù)設(shè)協(xié)議樹對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議。
[0033]優(yōu)選地,所述IP地址端口獲取單元包括:
[0034]第一 IP地址端口獲取子單元,用于在所述待識別數(shù)據(jù)包的頭部中提取同一端的IP地址及端口 ;其中,所述同一端為發(fā)送端或接收端;
[0035]第二 IP地址端口獲取子單元,用于在所述待識別數(shù)據(jù)包的頭部中提取兩端的IP地址及任意一端的端口;
[0036]第三IP地址端口獲取子單元,用于在所述待識別數(shù)據(jù)包的頭部中提取兩端的IP地址及兩端的端口。
[0037]本發(fā)明提供了一種網(wǎng)絡(luò)流量的識別方法及裝置,該方法包括:對獲取到的待識別數(shù)據(jù)包的頭部進(jìn)行識別,可以確定出待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議,另外,在待識別數(shù)據(jù)包的頭部中提取IP地址及端口,并在預(yù)設(shè)流表中查找該IP地址及端口,當(dāng)查找到時(shí),將該IP地址及端口對應(yīng)的網(wǎng)絡(luò)協(xié)議確定為待識別數(shù)據(jù)包應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議,并且將該IP地址及端口對應(yīng)的應(yīng)用確定為待識別數(shù)據(jù)包應(yīng)用層使用的應(yīng)用類型,當(dāng)未查找到時(shí),將待識別數(shù)據(jù)包中的負(fù)載數(shù)據(jù)與預(yù)設(shè)特征庫中的特征關(guān)鍵詞進(jìn)行匹配,若匹配成功,則將該特征關(guān)鍵詞對應(yīng)的網(wǎng)絡(luò)協(xié)議及應(yīng)用確定為該待識別數(shù)據(jù)包的應(yīng)用層使用的網(wǎng)絡(luò)協(xié)議及應(yīng)用。與現(xiàn)有技術(shù)相比,一方面,本發(fā)明中預(yù)先設(shè)置有流表及特征庫,流表及特征庫是根據(jù)檢測到的大量數(shù)據(jù)包生成的,可以真實(shí)反映數(shù)據(jù)包的應(yīng)用層協(xié)議使用的端口,因此利用流表及特征庫可以準(zhǔn)確識別應(yīng)用層協(xié)議,另一方面,流表及特征庫中記錄有與應(yīng)用的對應(yīng)關(guān)系,因此能夠確定出待識別數(shù)據(jù)包使用的應(yīng)用類型,識別結(jié)果更加全面。
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0039]圖1為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)流量的識別方法的流程圖;
[0040]圖2為本發(fā)明另一實(shí)施例提供的網(wǎng)絡(luò)流量的識別方法的流程圖;
[0041]圖3為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)流量的識別裝置的結(jié)構(gòu)示意圖;
[0042]圖4為本發(fā)明另一實(shí)施例提供的網(wǎng)絡(luò)流量的識別裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]參見圖1,其示出了本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)流量的識別方法,具體包括以下步驟:
[0045]步驟S101:獲取待識別數(shù)據(jù)包。
[0046]本實(shí)施例中,首先抓取網(wǎng)絡(luò)中的數(shù)據(jù)包,將抓取到的數(shù)據(jù)包作為待識別數(shù)據(jù)包。
[0047]步驟S102:對所述待識別數(shù)據(jù)包的頭部進(jìn)行識別,以確定所述待識別數(shù)據(jù)包的傳輸層及其以下各層分別使用的網(wǎng)絡(luò)協(xié)議。
[0048]其中,待識別數(shù)據(jù)包包括頭部及負(fù)載兩部分。通常,從頭部中的字段可以判斷出傳輸層及網(wǎng)絡(luò)層使用的網(wǎng)絡(luò)協(xié)議。對待識別數(shù)據(jù)包的負(fù)載部分解封裝后,獲得數(shù)據(jù)幀,根據(jù)數(shù)據(jù)幀的幀頭部格式及幀頭部中的類型字段可以判斷出數(shù)據(jù)鏈路層使用的網(wǎng)絡(luò)協(xié)議。當(dāng)然,還可以是現(xiàn)有技術(shù)中的其他識別方法,本發(fā)明并不做具體限定。
[0049]例如,當(dāng)待識別數(shù)據(jù)包的版本號字段為0100時(shí)表明網(wǎng)絡(luò)層使用的是IPV4,版本號字段為0110時(shí)表明網(wǎng)絡(luò)層使用的是IPV6 ;當(dāng)待識別數(shù)據(jù)包的協(xié)議字段為6時(shí),表明傳輸層使用的是TCP,協(xié)議字段為17時(shí),傳輸層使用的是UDP,協(xié)議字段為1時(shí),傳輸層使用的是ICMP。數(shù)據(jù)鏈路層使用的可能是IEEE802.3或無線傳輸協(xié)議等。
[0050]步驟S103:在所述待識別數(shù)據(jù)包的頭部中提取IP地址及端口。
[0051]其中,待識別數(shù)據(jù)包的頭部中不僅包含端口信息,還包括IP地址信息?,F(xiàn)有技術(shù)中僅僅提取端口信息,利用單一的端口信息對應(yīng)用層使用的協(xié)議進(jìn)行識別,然而,本