[發(fā)明專利]一種快速打開網(wǎng)絡(luò)數(shù)據(jù)包文件的方法在審
| 申請?zhí)枺?/td> | 201711453866.8 | 申請日: | 2017-12-28 |
| 公開(公告)號: | CN108040069A | 公開(公告)日: | 2018-05-15 |
| 發(fā)明(設(shè)計)人: | 林康;酒紀(jì)偉 | 申請(專利權(quán))人: | 成都數(shù)成科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;G06F17/30 |
| 代理公司: | 成都九鼎天元知識產(chǎn)權(quán)代理有限公司 51214 | 代理人: | 錢成岑 |
| 地址: | 610000 四川省成都市*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 快速 打開 網(wǎng)絡(luò) 數(shù)據(jù)包 文件 方法 | ||
本發(fā)明提供一種快速打開網(wǎng)絡(luò)數(shù)據(jù)包文件的方法,該方法包括:(1)使用各網(wǎng)絡(luò)數(shù)據(jù)包文件類型的魔數(shù)建立全局的字典樹,并建立魔數(shù)與文件模塊的映射關(guān)系;(2)讀取待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的文件頭的若干字節(jié),然后對若干字節(jié)進(jìn)行字符串匹配,若匹配成功,則進(jìn)行步驟(3);(3)若待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的魔數(shù)長度適中,則匹配報文頭,若匹配成功,則調(diào)用對應(yīng)的文件模塊處理文件,若待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的魔數(shù)長度過短,則匹配文件后綴名,若匹配成功,則調(diào)用對應(yīng)的文件模塊處理文件。使用本發(fā)明方法,可以每個文件只用一次I/O,就能確定文件類型,并快速并正確地打開文件。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其是涉及一種快速打開網(wǎng)絡(luò)數(shù)據(jù)包文件的方法。
背景技術(shù)
在網(wǎng)絡(luò)中傳遞信息,如果單條信息比較長將被劃分為多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別傳遞,而這些塊被稱為網(wǎng)絡(luò)數(shù)據(jù)包(Packet)。網(wǎng)絡(luò)數(shù)據(jù)包文件,即存放網(wǎng)絡(luò)數(shù)據(jù)包的文件,通常由抓包工具生成。
網(wǎng)絡(luò)數(shù)據(jù)包文件格式有多種,常見的有l(wèi)ibpcap、pcapng、rapkt、5vw、sniffer等。想要正確打開并讀取一個數(shù)據(jù)包文件,必須知道其文件類型。
在批量處理大量數(shù)據(jù)包文件時,由于文件來自不同的采集點,由不同的廠商設(shè)備生成,在打開文件前并不知道文件的類型。希望通過文件后綴名判斷文件類型是不可取的:首先,有些格式的后綴名是一樣的,例如后綴名為cap、pcap的文件不一定是libpcap格式;其次,一種文件格式可能有多個內(nèi)部版本;再次,有些文件的后綴名是用戶自定義的。因此,要得到正確格式,必須讀取文件并分析。
傳統(tǒng)的做法,實現(xiàn)不同類型的文件模塊,啟動時將各文件模塊加載到隊列中,每次打開文件,按順序由各模塊分別讀取文件頭匹配文件類型,如果匹配失敗則交由下一個文件模塊處理,直到匹配成功。
這將導(dǎo)致:由于數(shù)據(jù)包文件格式很多,且某些文件類型的模塊排在隊列中靠后的位置,每次打開這些格式的文件將產(chǎn)生數(shù)十次文件打開、讀取、關(guān)閉操作,消耗了大量IOPS。特別是在分析數(shù)萬個小文件的時候,這些開銷甚至比數(shù)據(jù)包內(nèi)容分析更耗時,這些消耗毫無意義且極不合理。
發(fā)明內(nèi)容
本發(fā)明的目的在于:針對現(xiàn)有技術(shù)存在的問題,提供一種快速打開網(wǎng)絡(luò)數(shù)據(jù)包文件的方法,實現(xiàn)每個文件只用一次I/O,就能確定文件類型,并快速并正確地打開文件。
本發(fā)明的發(fā)明目的通過以下技術(shù)方案來實現(xiàn):
一種快速打開網(wǎng)絡(luò)數(shù)據(jù)包文件的方法,該方法包括:
(1)使用各網(wǎng)絡(luò)數(shù)據(jù)包文件類型的魔數(shù)建立全局的字典樹,并建立魔數(shù)與文件模塊的映射關(guān)系;
(2)讀取待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的文件頭的若干字節(jié),然后對若干字節(jié)進(jìn)行字符串匹配,若匹配成功,則進(jìn)行步驟(3);
(3)若待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的魔數(shù)長度適中,則匹配報文頭,若匹配成功,則調(diào)用對應(yīng)的文件模塊處理文件,若待處理網(wǎng)絡(luò)數(shù)據(jù)包文件的魔數(shù)長度過短,則匹配文件后綴名,若匹配成功,則調(diào)用對應(yīng)的文件模塊處理文件。
作為進(jìn)一步的技術(shù)方案,若干字節(jié)具體為12個字節(jié)。
作為進(jìn)一步的技術(shù)方案,字符串匹配的方法包括:將一個個字符與字典樹進(jìn)行匹配。
作為進(jìn)一步的技術(shù)方案,魔數(shù)長度不大于1,則視為魔數(shù)長度過短,魔數(shù)長度大于1且小于或等于12,則視為魔數(shù)長度適中。
作為進(jìn)一步的技術(shù)方案,匹配報文頭的方法包括:根據(jù)字符串匹配判斷出的文件類型所對應(yīng)的報文頭結(jié)構(gòu),讀取待處理網(wǎng)絡(luò)數(shù)據(jù)包文件所對應(yīng)長度的字節(jié)數(shù),若報文頭里的捕獲長度和真實長度分別都小于65536,且捕獲長度不大于真實長度,則斷定匹配成功。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都數(shù)成科技有限公司,未經(jīng)成都數(shù)成科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711453866.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 網(wǎng)絡(luò)和網(wǎng)絡(luò)終端
- 網(wǎng)絡(luò)DNA
- 網(wǎng)絡(luò)地址自適應(yīng)系統(tǒng)和方法及應(yīng)用系統(tǒng)和方法
- 網(wǎng)絡(luò)系統(tǒng)及網(wǎng)絡(luò)至網(wǎng)絡(luò)橋接器
- 一種電力線網(wǎng)絡(luò)中根節(jié)點網(wǎng)絡(luò)協(xié)調(diào)方法和系統(tǒng)
- 一種多網(wǎng)絡(luò)定位方法、存儲介質(zhì)及移動終端
- 網(wǎng)絡(luò)裝置、網(wǎng)絡(luò)系統(tǒng)、網(wǎng)絡(luò)方法以及網(wǎng)絡(luò)程序
- 從重復(fù)網(wǎng)絡(luò)地址自動恢復(fù)的方法、網(wǎng)絡(luò)設(shè)備及其存儲介質(zhì)
- 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法、裝置及存儲介質(zhì)
- 網(wǎng)絡(luò)管理方法和裝置
- 通過冗余提高數(shù)據(jù)傳輸速度的方法
- 數(shù)據(jù)包調(diào)度方法和裝置
- 一種數(shù)據(jù)包的轉(zhuǎn)發(fā)方法和設(shè)備
- 網(wǎng)絡(luò)通信主體確認(rèn)方法及系統(tǒng)
- 一種轉(zhuǎn)發(fā)數(shù)據(jù)包的方法、裝置和路由設(shè)備
- 一種數(shù)據(jù)報文接收方法及裝置
- 一種降低語音丟包統(tǒng)計量的方法及基站
- 數(shù)據(jù)包的處理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種數(shù)據(jù)包處理方法、裝置及電子設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)傳輸方法、裝置、設(shè)備及存儲介質(zhì)





