一種dns關(guān)鍵信息處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)通信領(lǐng)域,更具體地說(shuō),涉及一種DNS關(guān)鍵信息處理方法和系統(tǒng)。
【背景技術(shù)】
[0002]DNS(域名解析系統(tǒng))是十分重要的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施,其主要作用是提供域名和IP地址之間的轉(zhuǎn)換,基于internet的各種web服務(wù)、Email服務(wù)、路由服務(wù)都直接或者間接依賴(lài)DNS。隨著上網(wǎng)人群的快速增長(zhǎng),寬帶網(wǎng)絡(luò)的光纖化,互聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)隨之爆炸式的增長(zhǎng),DNS產(chǎn)生了海量的數(shù)據(jù)流量日志。
[0003]為了保障客戶的上網(wǎng)質(zhì)量,各大運(yùn)營(yíng)商都按區(qū)域建立了自己的DNS網(wǎng)絡(luò),而DNS網(wǎng)絡(luò)由若干個(gè)DNS節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)最核心的就是DNS服務(wù)器集群,用于響應(yīng)用戶的DNS查詢請(qǐng)求。目前,為了掌握DNS網(wǎng)絡(luò)的日常運(yùn)行情況,現(xiàn)有的方式是通過(guò)分析DNS流量獲取各種統(tǒng)計(jì)指標(biāo)或者對(duì)流量進(jìn)行抽樣分析,采用這些方式的原因是DNS流量非常巨大,記錄用戶的全行為日志非常困難。對(duì)于統(tǒng)計(jì)指標(biāo),比較固化,無(wú)法再進(jìn)行深度挖掘;而抽樣分析,會(huì)導(dǎo)致大量有效數(shù)據(jù)的缺失,分析失去準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題在于,克服現(xiàn)有技術(shù)的上述缺陷,提供一種DNS關(guān)鍵信息處理方法和系統(tǒng),通過(guò)對(duì)DNS數(shù)據(jù)的采集和分析,按照不同的DNS數(shù)據(jù)類(lèi)型,從原始數(shù)據(jù)中提取相應(yīng)的關(guān)鍵信息,逐條存儲(chǔ),保證信息的最大完整性。從DNS應(yīng)答數(shù)據(jù)獲取更全面,更多類(lèi)型的原始記錄,對(duì)原始數(shù)據(jù)只做儲(chǔ)存,不做分析,第三方可以根據(jù)需要獲取對(duì)應(yīng)類(lèi)型的數(shù)據(jù),而深度挖掘,進(jìn)行多維度的統(tǒng)計(jì)。
[0005]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種DNS關(guān)鍵信息處理方法,涉及采集模塊、協(xié)議識(shí)別模塊、DNS解碼模塊、輸出模塊、傳輸模塊和匯聚中心節(jié)點(diǎn)服務(wù)器;
[0006]包括以下步驟:
[0007]S1、所述采集模塊實(shí)時(shí)采集網(wǎng)絡(luò)數(shù)據(jù)并將所述網(wǎng)絡(luò)數(shù)據(jù)發(fā)送至所述協(xié)議識(shí)別模塊;
[0008]S2、所述協(xié)議識(shí)別模塊從所述網(wǎng)絡(luò)數(shù)據(jù)中分析出DNS應(yīng)答數(shù)據(jù),并將所述DNS應(yīng)答數(shù)據(jù)發(fā)送至所述DNS解碼模塊;
[0009]S3、所述DNS解碼模塊對(duì)所述DNS應(yīng)答數(shù)據(jù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì),并將統(tǒng)計(jì)文件發(fā)送至所述輸出模塊,同時(shí)對(duì)所述DNS應(yīng)答數(shù)據(jù)進(jìn)行解碼,并按照不同的查詢類(lèi)型生成所述DNS應(yīng)答數(shù)據(jù)中相應(yīng)的關(guān)鍵信息數(shù)據(jù);
[0010]S4、所述DNS解碼模塊將所述關(guān)鍵信息數(shù)據(jù)按照其對(duì)應(yīng)的所述查詢類(lèi)型存儲(chǔ)至對(duì)應(yīng)的內(nèi)存隊(duì)列中;
[0011]S5、所述輸出模塊讀取所述內(nèi)存隊(duì)列中的所述關(guān)鍵信息數(shù)據(jù),并將所述關(guān)鍵信息數(shù)據(jù)與所述統(tǒng)計(jì)文件生成相應(yīng)的文件,同時(shí)將所述文件發(fā)送至內(nèi)存文件系統(tǒng)目錄中;
[0012]S6、所述傳輸模塊將所述內(nèi)存文件系統(tǒng)目錄中的所述文件發(fā)送至所述匯聚中心節(jié)點(diǎn)服務(wù)器;
[0013]S7、所述匯聚中心節(jié)點(diǎn)服務(wù)器按預(yù)設(shè)的時(shí)間周期對(duì)所述文件進(jìn)行去重和壓縮,并對(duì)去重和壓縮后的所述文件進(jìn)行存儲(chǔ)。
[0014]優(yōu)選地,所述步驟S3還包括以下步驟:
[0015]S31、獲取所述DNS應(yīng)答數(shù)據(jù)中的問(wèn)題,并對(duì)所述問(wèn)題進(jìn)行解析;
[0016]S32、判斷所述問(wèn)題的數(shù)量是否為零,若判斷結(jié)果不為零則繼續(xù)對(duì)所述問(wèn)題進(jìn)行解析;若判斷結(jié)果為零則進(jìn)入步驟S33 ;
[0017]S33、獲取所述DNS應(yīng)答數(shù)據(jù)中的回答,并根據(jù)所述查詢類(lèi)型解析相對(duì)應(yīng)的RDATA數(shù)據(jù);
[0018]S34、判斷所述回答的數(shù)量是否為零,若判斷結(jié)果不為零則繼續(xù)對(duì)所述回答進(jìn)行解析;若判斷結(jié)果為零則進(jìn)入步驟S35 ;
[0019]S35、將解析結(jié)果生成所述關(guān)鍵信息數(shù)據(jù)。
[0020]優(yōu)選地,所述查詢類(lèi)型包括查詢類(lèi)型A、查詢類(lèi)型MX和查詢類(lèi)型NS ;生成的所述關(guān)鍵信息數(shù)據(jù)包括與所述查詢類(lèi)型相對(duì)應(yīng)的A記錄數(shù)據(jù)、MX記錄數(shù)據(jù)和NS記錄數(shù)據(jù)。
[0021]優(yōu)選地,所述A記錄數(shù)據(jù)包括客戶IP、域名、域名CNAME和域名IP ;
[0022]所述MX記錄數(shù)據(jù)包括域名、郵件服務(wù)器域名、郵件服務(wù)器IP ;
[0023]所述NS記錄數(shù)據(jù)包括名字服務(wù)器名稱(chēng)、名字服務(wù)器IP。
[0024]優(yōu)選地,所述內(nèi)存隊(duì)列包括隊(duì)列一、隊(duì)列二、隊(duì)列三和隊(duì)列四;
[0025]所述步驟S4還包括以下步驟:
[0026]所述A記錄數(shù)據(jù)同時(shí)存儲(chǔ)至所述隊(duì)列一和所述隊(duì)列二中;
[0027]所述MX記錄數(shù)據(jù)存儲(chǔ)至所述隊(duì)列三中;
[0028]所述NS記錄數(shù)將存儲(chǔ)至所述隊(duì)列四中。
[0029]優(yōu)選地,所述步驟S5還包括以下步驟:
[0030]所述輸出模塊讀取所述隊(duì)列一中的所述A記錄數(shù)據(jù),并判斷所述A記錄數(shù)據(jù)中的所述域名或域名IP是否與指定域名或指定域名IP相匹配;如果不匹配,則讀取下一條所述A記錄數(shù)據(jù);如果匹配,則將所述A記錄數(shù)據(jù)生成監(jiān)控文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0031]所述輸出模塊讀取所述隊(duì)列二中的所述A記錄數(shù)據(jù),并將所述A記錄數(shù)據(jù)生成A記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0032]所述輸出模塊讀取所述隊(duì)列三中的所述MX記錄數(shù)據(jù),并將所述MX記錄數(shù)據(jù)生成MX記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0033]所述輸出模塊讀取所述隊(duì)列四中的所述NS記錄數(shù)據(jù),并將所述NS記錄數(shù)據(jù)生成NS記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中。
[0034]優(yōu)選地,所述步驟S7中去重采用的是朱迪矩陣算法。
[0035]本發(fā)明還提供一種DNS關(guān)鍵信息處理系統(tǒng),包括采集模塊、協(xié)議識(shí)別模塊、DNS解碼模塊、輸出模塊、傳輸模塊和匯聚中心節(jié)點(diǎn)服務(wù)器;還包括內(nèi)存隊(duì)列和內(nèi)存文件系統(tǒng)目錄;
[0036]所述采集模塊、所述協(xié)議識(shí)別模塊、所述DNS解碼模塊、所述內(nèi)存隊(duì)列、所述輸出模塊、所述內(nèi)存文件系統(tǒng)目錄、所述傳輸模塊和所述匯聚中心節(jié)點(diǎn)服務(wù)器依次連接;
[0037]所述采集模塊用于實(shí)時(shí)采集網(wǎng)絡(luò)數(shù)據(jù)并將所述網(wǎng)絡(luò)數(shù)據(jù)發(fā)送至所述協(xié)議識(shí)別模塊;
[0038]所述協(xié)議識(shí)別模塊用于從所述網(wǎng)絡(luò)數(shù)據(jù)中分析出DNS應(yīng)答數(shù)據(jù),并將所述DNS應(yīng)答數(shù)據(jù)發(fā)送至所述DNS解碼模塊;
[0039]所述DNS解碼模塊用于對(duì)所述DNS應(yīng)答數(shù)據(jù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì),并將統(tǒng)計(jì)文件發(fā)送至所述傳輸模塊,還用于對(duì)所述DNS應(yīng)答數(shù)據(jù)進(jìn)行解碼,并按照不同的查詢類(lèi)型生成所述DNS應(yīng)答數(shù)據(jù)中相應(yīng)的關(guān)鍵信息數(shù)據(jù);還用于將所述的關(guān)鍵信息數(shù)據(jù)按照其對(duì)應(yīng)的所述查詢類(lèi)型存儲(chǔ)至對(duì)應(yīng)的內(nèi)存隊(duì)列中;
[0040]所述內(nèi)存隊(duì)列用于存儲(chǔ)對(duì)應(yīng)的所述查詢類(lèi)型的所述關(guān)鍵信息數(shù)據(jù);
[0041]所述輸出模塊用于讀取所述內(nèi)存隊(duì)列中的所述關(guān)鍵信息數(shù)據(jù),并將所述關(guān)鍵信息數(shù)據(jù)與所述統(tǒng)計(jì)文件生成相應(yīng)的文件,同時(shí)將所述文件發(fā)送至內(nèi)存文件系統(tǒng)目錄中;
[0042]所述內(nèi)存文件系統(tǒng)目錄用于存儲(chǔ)所述文件;
[0043]所述傳輸模塊用于將所述內(nèi)存文件系統(tǒng)目錄中的所述文件發(fā)送至所述匯聚中心節(jié)點(diǎn)服務(wù)器;
[0044]所述匯聚中心節(jié)點(diǎn)服務(wù)器用于按預(yù)設(shè)的時(shí)間周期對(duì)所述網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行去重和壓縮,并對(duì)去重和壓縮后的所述網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行存儲(chǔ)。
[0045]優(yōu)選地,所述DNS解碼模塊還用于獲取所述DNS應(yīng)答數(shù)據(jù)中的問(wèn)題,并對(duì)所述問(wèn)題進(jìn)行解析并判斷所述問(wèn)題的數(shù)量是否為零;
[0046]還用于獲取所述DNS應(yīng)答數(shù)據(jù)中的回答,并根據(jù)所述查詢類(lèi)型解析相對(duì)應(yīng)的RDATA數(shù)據(jù);并判斷所述回答的數(shù)量是否為零;并將解析結(jié)果生成所述關(guān)鍵信息數(shù)據(jù)。
[0047]優(yōu)選地,所述查詢類(lèi)型包括查詢類(lèi)型A、查詢類(lèi)型MX和查詢類(lèi)型NS ;生成的所述關(guān)鍵信息數(shù)據(jù)包括與所述查詢類(lèi)型相對(duì)應(yīng)的A記錄數(shù)據(jù)、MX記錄數(shù)據(jù)和NS記錄數(shù)據(jù);
[0048]所述A記錄數(shù)據(jù)包括客戶IP、域名、域名CNAME和域名IP ;所述MX記錄數(shù)據(jù)包括域名、郵件服務(wù)器域名、郵件服務(wù)器IP ;所述NS記錄數(shù)據(jù)包括名字服務(wù)器名稱(chēng)、名字服務(wù)器IP ;
[0049]所述內(nèi)存隊(duì)列包括隊(duì)列一、隊(duì)列二、隊(duì)列三和隊(duì)列四;所述A記錄數(shù)據(jù)同時(shí)存儲(chǔ)至所述隊(duì)列一和所述隊(duì)列二中;所述MX記錄數(shù)據(jù)存儲(chǔ)至所述隊(duì)列三中;所述NS記錄數(shù)將存儲(chǔ)至所述隊(duì)列四中;
[0050]所述輸出模塊還用于讀取所述隊(duì)列一中的所述A記錄數(shù)據(jù),并根據(jù)所述A記錄數(shù)據(jù)中的所述域名或域名IP是否與指定域名或指定域名IP相匹配,將所述A記錄數(shù)據(jù)生成監(jiān)控文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0051]所述輸出模塊還用于讀取所述隊(duì)列二中的所述A記錄數(shù)據(jù),并將所述A記錄數(shù)據(jù)生成A記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0052]所述輸出模塊還用于讀取所述隊(duì)列三中的所述MX記錄數(shù)據(jù),并將所述MX記錄數(shù)據(jù)生成MX記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中;
[0053]所述輸出模塊還用于讀取所述隊(duì)列四中的所述NS記錄數(shù)據(jù),并將所述NS記錄數(shù)據(jù)生成NS記錄文件并發(fā)送至所述內(nèi)存文件系統(tǒng)目錄中。
[0054]實(shí)施本發(fā)明具有以下有益效果:通過(guò)對(duì)DNS數(shù)據(jù)的采集和分析,按照不同的DNS數(shù)據(jù)類(lèi)型,從原始數(shù)據(jù)中提取相應(yīng)的關(guān)鍵信息,逐條存儲(chǔ),保證信息的最大完整性。從DNS應(yīng)答數(shù)據(jù)獲取更全面,更多類(lèi)型的原始記錄,對(duì)原始數(shù)據(jù)只做儲(chǔ)存,不做分析,第三方可以根據(jù)需要獲取對(duì)應(yīng)類(lèi)型的數(shù)據(jù),而深度挖掘,進(jìn)行多維度的統(tǒng)計(jì)。
【附圖說(shuō)明】
[0055]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附