本發(fā)明涉及網(wǎng)絡(luò)管理和安全分析,尤其涉及一種數(shù)據(jù)包解析處理方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、流量解析工具通常能夠捕獲和分析數(shù)據(jù)包,提供關(guān)于網(wǎng)絡(luò)流量、協(xié)議使用和網(wǎng)絡(luò)性能等其它信息,通過上述信息可便于網(wǎng)絡(luò)管理人員開展網(wǎng)絡(luò)性能分析、異常流量識別和安全威脅預(yù)警等網(wǎng)絡(luò)管理工作,并對維護網(wǎng)絡(luò)正常運行,以及為上網(wǎng)用戶提供穩(wěn)定、安全、可靠的上網(wǎng)環(huán)境都均具備重要意義。因此,如何對數(shù)據(jù)包進行解析處理就顯得尤為重要。
2、相關(guān)技術(shù)中,通常使用網(wǎng)絡(luò)封包分析軟件(wireshark)和網(wǎng)絡(luò)流量分析器(netflow?analyzer)等流量解析軟件對多種通用網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包進行解析;但上述流量解析軟件均只能解析標(biāo)準(zhǔn)協(xié)議格式的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包,當(dāng)待解析的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包是經(jīng)過人為修改的協(xié)議中傳輸?shù)臄?shù)據(jù)包時,上述流量解析軟件均會將其視為錯誤數(shù)據(jù)包或異常數(shù)據(jù)包進行處理,從而導(dǎo)致解析數(shù)據(jù)包的成功率和準(zhǔn)確率均很低。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種數(shù)據(jù)包解析處理方法、裝置、電子設(shè)備及存儲介質(zhì),用以解決現(xiàn)有技術(shù)中解析數(shù)據(jù)包的成功率和準(zhǔn)確率均很低的缺陷,在滿足標(biāo)準(zhǔn)協(xié)議識別解析的基礎(chǔ)條件下,支持對基于標(biāo)準(zhǔn)協(xié)議修改的非標(biāo)準(zhǔn)協(xié)議開展流量解析工作,對于經(jīng)過人為修改的協(xié)議中傳輸?shù)臄?shù)據(jù)包,不僅能可以解析其所含的標(biāo)準(zhǔn)協(xié)議字段,同時還可以解析其所含的非標(biāo)準(zhǔn)協(xié)議字段,并非直接將其作為錯誤數(shù)據(jù)包或異常數(shù)據(jù)包進行處理,提高了解析數(shù)據(jù)包的成功率和準(zhǔn)確率。
2、本發(fā)明提供一種數(shù)據(jù)包解析處理方法,包括如下步驟。
3、確定目標(biāo)協(xié)議數(shù)據(jù)包中未被對應(yīng)的目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議正確識別的未識別字段以及所述未識別字段的字段數(shù)據(jù)。
4、基于所述未識別字段的關(guān)聯(lián)字段的目標(biāo)通用數(shù)據(jù)解析策略和目標(biāo)自定義數(shù)據(jù)解析策略,確定多個目標(biāo)數(shù)據(jù)解析策略;每個所述目標(biāo)數(shù)據(jù)解析策略用于對所述未識別字段和所述字段數(shù)據(jù)進行解析。
5、對所述多個目標(biāo)數(shù)據(jù)解析策略各自的解析結(jié)果進行結(jié)果判決,并基于判決結(jié)果確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果。
6、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述基于所述未識別字段的關(guān)聯(lián)字段的目標(biāo)通用數(shù)據(jù)解析策略和目標(biāo)自定義數(shù)據(jù)解析策略,確定多個目標(biāo)數(shù)據(jù)解析策略,包括:確定至少兩個所述未識別字段的多種順序調(diào)整方式;基于所述多種順序調(diào)整方式,以及所述目標(biāo)通用數(shù)據(jù)解析策略的個數(shù)和所述目標(biāo)自定義數(shù)據(jù)解析策略的個數(shù),確定所述多個目標(biāo)數(shù)據(jù)解析策略。
7、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述方法還包括:從預(yù)先構(gòu)建的網(wǎng)絡(luò)協(xié)議解析庫中查找與所述未識別字段具備關(guān)聯(lián)關(guān)系的關(guān)聯(lián)字段;基于查找到的所述關(guān)聯(lián)字段,從所述網(wǎng)絡(luò)協(xié)議解析庫中查找各所述目標(biāo)通用數(shù)據(jù)解析策略和各所述目標(biāo)自定義數(shù)據(jù)解析策略;
8、其中,所述網(wǎng)絡(luò)協(xié)議解析庫中包括不同類型標(biāo)準(zhǔn)化協(xié)議數(shù)據(jù)包中各自涉及的標(biāo)準(zhǔn)化字段和所述標(biāo)準(zhǔn)化字段對應(yīng)的通用數(shù)據(jù)解析策略、不同類型非標(biāo)準(zhǔn)化協(xié)議數(shù)據(jù)包中各自涉及的非標(biāo)準(zhǔn)化字段和所述非標(biāo)準(zhǔn)化字段對應(yīng)的自定義數(shù)據(jù)解析策略,以及各所述標(biāo)準(zhǔn)化字段和各所述非標(biāo)準(zhǔn)化字段中按照關(guān)聯(lián)關(guān)系完成的字段統(tǒng)計分類。
9、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述方法還包括:對所述多個目標(biāo)數(shù)據(jù)解析策略進行優(yōu)先級排序;基于所述目標(biāo)數(shù)據(jù)解析策略的策略數(shù)量、當(dāng)前算力資源的資源數(shù)量和優(yōu)先級排序結(jié)果,確定每個所述目標(biāo)數(shù)據(jù)解析策略的執(zhí)行順序;基于各所述執(zhí)行順序并行啟動各自對應(yīng)的所述目標(biāo)數(shù)據(jù)解析策略,得到所述多個目標(biāo)數(shù)據(jù)解析策略各自的所述解析結(jié)果。
10、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述對所述多個目標(biāo)數(shù)據(jù)解析策略各自的解析結(jié)果進行結(jié)果判決,并基于判決結(jié)果確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果,包括:在多個所述解析結(jié)果中存在唯一解的情況下,則基于所述唯一解對應(yīng)的所述目標(biāo)數(shù)據(jù)解析策略以及所述目標(biāo)協(xié)議數(shù)據(jù)包中已識別字段對應(yīng)的目標(biāo)通用數(shù)據(jù)解析策略,確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果;在多個所述解析結(jié)果中存在多個解或者所述多個解析結(jié)果均無解的情況下,對多個所述解析結(jié)果進行關(guān)聯(lián)數(shù)據(jù)分析,并根據(jù)關(guān)聯(lián)數(shù)據(jù)分析結(jié)果確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果。
11、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述對多個所述解析結(jié)果進行關(guān)聯(lián)數(shù)據(jù)分析,并根據(jù)關(guān)聯(lián)數(shù)據(jù)分析結(jié)果確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果,包括:基于預(yù)設(shè)關(guān)聯(lián)原則,獲取所述目標(biāo)協(xié)議數(shù)據(jù)包的多個關(guān)聯(lián)協(xié)議數(shù)據(jù)包,所述預(yù)設(shè)關(guān)聯(lián)原則包括同流關(guān)聯(lián)原則、同會話關(guān)聯(lián)原則、相鄰序列號關(guān)聯(lián)原則、同源地址關(guān)聯(lián)原則和同目的地址關(guān)聯(lián)原則中的至少1個;在各所述關(guān)聯(lián)協(xié)議數(shù)據(jù)包各自的解析結(jié)果中含有解析成功策略集合的情況下,若各所述解析成功策略集合中存在唯一交集,則基于所述唯一交集對應(yīng)的解析成功策略和所述目標(biāo)通用數(shù)據(jù)解析策略,確定所述解析處理結(jié)果;若各所述解析成功策略集合中不存在交集或者存在多個交集,則將所述目標(biāo)協(xié)議數(shù)據(jù)包的人工解析結(jié)果確定為所述解析處理結(jié)果。
12、根據(jù)本發(fā)明提供的一種數(shù)據(jù)包解析處理方法,所述確定目標(biāo)協(xié)議數(shù)據(jù)包中未被對應(yīng)的目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議正確識別的未識別字段以及所述未識別字段的字段數(shù)據(jù),包括:基于所述目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議對所述目標(biāo)協(xié)議數(shù)據(jù)包進行逐層解析,并將每層解析出的初始字段和初始字段數(shù)據(jù)均與所述目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議對應(yīng)的預(yù)設(shè)協(xié)議要求進行匹配;確定匹配失敗時對應(yīng)的所述初始字段和所述初始字段的至少1個后續(xù)字段均為所述未識別字段,以及將匹配失敗時對應(yīng)的所述初始字段和所述至少1個后續(xù)字段各自對應(yīng)的所述初始字段數(shù)據(jù)均作為所述字段數(shù)據(jù)。
13、本發(fā)明還提供一種數(shù)據(jù)包解析處理裝置,包括字段數(shù)據(jù)識別單元、解析策略確定單元和解析策略處理單元。
14、字段數(shù)據(jù)識別單元,用于確定目標(biāo)協(xié)議數(shù)據(jù)包中未被對應(yīng)的目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議正確識別的未識別字段以及所述未識別字段的字段數(shù)據(jù)。
15、解析策略確定單元,用于基于所述未識別字段的關(guān)聯(lián)字段的目標(biāo)通用數(shù)據(jù)解析策略和目標(biāo)自定義數(shù)據(jù)解析策略,確定多個目標(biāo)數(shù)據(jù)解析策略。每個所述目標(biāo)數(shù)據(jù)解析策略用于對所述未識別字段和所述字段數(shù)據(jù)進行解析。
16、解析策略處理單元,用于對所述多個目標(biāo)數(shù)據(jù)解析策略各自的解析結(jié)果進行結(jié)果判決,并基于判決結(jié)果確定所述目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果。
17、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如上述任一種所述數(shù)據(jù)包解析處理方法。
18、本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述數(shù)據(jù)包解析處理方法。
19、本發(fā)明提供的數(shù)據(jù)包解析處理方法、裝置、電子設(shè)備及存儲介質(zhì),其中數(shù)據(jù)包解析處理方法,首先確定目標(biāo)協(xié)議數(shù)據(jù)包中未被對應(yīng)的目標(biāo)標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議正確識別的未識別字段以及所述未識別字段的字段數(shù)據(jù);并進一步基于未識別字段的關(guān)聯(lián)字段的目標(biāo)通用數(shù)據(jù)解析策略和目標(biāo)自定義數(shù)據(jù)解析策略,確定多個目標(biāo)數(shù)據(jù)解析策略。由于每個目標(biāo)數(shù)據(jù)解析策略用于對未識別字段和字段數(shù)據(jù)進行解析,故對多個目標(biāo)數(shù)據(jù)解析策略各自的解析結(jié)果進行結(jié)果判決,可以基于判決結(jié)果確定目標(biāo)協(xié)議數(shù)據(jù)包的解析處理結(jié)果。這樣,在滿足標(biāo)準(zhǔn)協(xié)議識別解析的基礎(chǔ)條件下,支持對基于標(biāo)準(zhǔn)協(xié)議修改的非標(biāo)準(zhǔn)協(xié)議開展流量解析工作,對于經(jīng)過人為修改的協(xié)議中傳輸?shù)臄?shù)據(jù)包,不僅能可以解析其所含的標(biāo)準(zhǔn)協(xié)議字段,同時還可以解析其所含的非標(biāo)準(zhǔn)協(xié)議字段,并非直接將其作為錯誤數(shù)據(jù)包或異常數(shù)據(jù)包進行處理,提高了解析數(shù)據(jù)包的成功率和準(zhǔn)確率。