專利名稱:基于BitTorrent的主動式特定信息傳播監(jiān)測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息傳播監(jiān)測方法,特別是基于BitTorrent的主動式特定信息傳播監(jiān) 測方法。
背景技術(shù):
P2P文件共享系統(tǒng)模型總體上可分成4種
(1) 采用中心拓?fù)涞募心夸浭絇2P模型,資源發(fā)現(xiàn)依賴于中心目錄服務(wù)器,典型的代 表是Napster系統(tǒng);
(2) 采用全分布非結(jié)構(gòu)化拓?fù)涞募兇釶2P模型,節(jié)點(diǎn)間的文件查詢和共享都是直接通過 相鄰節(jié)點(diǎn)的廣播方式傳遞,典型的代表是Gnutella系統(tǒng);
(3) 采用半分布式結(jié)構(gòu)拓?fù)涞幕旌鲜絇2P模型,在純粹P2P的基礎(chǔ)上,引入了超級節(jié) 點(diǎn)的概念,綜合了集中目錄式P2P的査找快速和純粹P2P非中心化的優(yōu)勢,典型的代表是 Kazaa系統(tǒng)等;
(4) 采用全分布結(jié)構(gòu)化拓?fù)涞慕Y(jié)構(gòu)化P2P模型,利用分布式消息傳遞機(jī)制和分布式哈希 表(Distributed Hash Table, DHT)技術(shù)實(shí)現(xiàn)信息定位與文件共享。目前,在互聯(lián)網(wǎng)上流行的P2P 軟件是以混合式P2P模型和結(jié)構(gòu)化P2P模型為主,典型的是BitTorrent、 eMule/eDonkey等。
P2P網(wǎng)絡(luò)監(jiān)測模型主要有2種 (1 )基于流量特征的監(jiān)測模型,根據(jù)各種P2P軟件通信過程所呈現(xiàn)出的流量特征進(jìn)行識 別和監(jiān)測,主要用于網(wǎng)絡(luò)運(yùn)營商對P2P流量的管理;
(2)基于流量內(nèi)容的監(jiān)測模型,根據(jù)P2P軟件所傳輸?shù)牧髁績?nèi)容進(jìn)行識別和監(jiān)測,但對 加密的P2P流量內(nèi)容則無法識別。
文獻(xiàn)1 "Sen, O Spatscheckj D Wang. Accurate scalable in-network identification of P2P traffic using application signatures [C]. WWW2004, May 17-22, 2004, New York, USA. ACM.512-521"公 開了一種基于應(yīng)用簽名的P2P流量識別方法,該方法基于深層數(shù)據(jù)包識別技術(shù)(Deep Packet Inspection),通過讀取數(shù)據(jù)載荷并進(jìn)行模式匹配來發(fā)現(xiàn)協(xié)議簽名,該方法可實(shí)現(xiàn)已知P2P協(xié)議數(shù) 據(jù)流的精確識別,但無法識別未知P2P協(xié)議的數(shù)據(jù)流??偟膩砜?,基于流量特征的監(jiān)測模型主 要用于網(wǎng)絡(luò)運(yùn)營商對P2P流量限制和管理,并不適合P2P特定信息傳播監(jiān)控和取證。
文獻(xiàn)2 "Ho Gyun Lee, Taek yong Nam, Jong Soo Jang. The Method of P2P Traffic Detecting for P2P Harmful Contents Prevention [C]. ICACT2005. Feb 21-23, 2005, Phoenix Park, Korea"公 開了一種基于內(nèi)容恢復(fù)的P2P文件共享系統(tǒng)特定內(nèi)容監(jiān)控方法,該方法首先對P2P數(shù)據(jù)流進(jìn)行識別,將P2P數(shù)據(jù)流按傳輸內(nèi)容的類型分為文本、圖像和視頻數(shù)據(jù)。對于文本類型數(shù)據(jù)內(nèi) 容采用字典比較的方法,將文本中攜帶的關(guān)鍵字與事先建立好的不良信息字典庫進(jìn)行比較, 以實(shí)現(xiàn)對不良內(nèi)容的監(jiān)測。對于圖像內(nèi)容,文中只提及對色情內(nèi)容的監(jiān)測,通過圖像處理的 方法檢測文件中"皮膚區(qū)域"所占整個圖像的比例,超過一定的閾值則認(rèn)為該圖像攜帶色情內(nèi) 容。對于視頻文件,采用兩種監(jiān)測方法 一是從視頻文件中獲取關(guān)鍵幀,對關(guān)鍵幀的內(nèi)容進(jìn) 行判斷;二是恢復(fù)視頻文件的某一片段,根據(jù)該片段的內(nèi)容判斷視頻文件是否存在非法內(nèi)容。 該方案的缺點(diǎn)在于系統(tǒng)架構(gòu)過于復(fù)雜,缺乏統(tǒng)一的檢測機(jī)制;數(shù)據(jù)報(bào)文內(nèi)容恢復(fù)技術(shù)難度大, 無法恢復(fù)加密的數(shù)據(jù)內(nèi)容;圖像和視頻的檢測方法只能采取事后分析,需要使用復(fù)雜的圖像 處理技術(shù),計(jì)算量大,實(shí)時(shí)性差,檢測準(zhǔn)確率較低。由于基于流量內(nèi)容的監(jiān)測模型需要對P2P 軟件所傳輸?shù)牧髁績?nèi)容進(jìn)行恢復(fù)性識別,卻無法恢復(fù)和監(jiān)控被加密的P2P信息內(nèi)容。
國內(nèi)外現(xiàn)有P2P網(wǎng)絡(luò)監(jiān)測技術(shù)主要用于網(wǎng)絡(luò)運(yùn)營商對P2P流量的識別與管理,無法實(shí)現(xiàn) 對P2P特定信息傳播及其受眾進(jìn)行有效的監(jiān)測和分析,不能滿足網(wǎng)絡(luò)安全監(jiān)管的應(yīng)用需求。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)方法對BitTorrent特定信息傳播及其受眾進(jìn)行監(jiān)測和分析效果差的不 足,本發(fā)明提供一種基于BitTorrent的主動式特定信息傳播監(jiān)測方法,通過模擬BitTorrent客 戶端向BitTorrent網(wǎng)絡(luò)發(fā)送仿真數(shù)據(jù)包,并對返回的數(shù)據(jù)包進(jìn)行分析,可以有效的對BitTorrent 網(wǎng)絡(luò)特定信息傳播進(jìn)行監(jiān)測和分析。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案 一種基于BitTorrent的主動式特定信息傳播
監(jiān)測方法,其特點(diǎn)是包括下述歩驟
(a) 通過"元信息"收集器,從系統(tǒng)中讀取"元信息"在網(wǎng)頁中的匹配關(guān)鍵字,再從系統(tǒng)設(shè)置 信息中讀取搜索起始地址,將該地址所指定的網(wǎng)頁信息讀取到本地并使用文本方式打開,對文 本中的內(nèi)容根據(jù)已讀取的"元信息"匹配關(guān)鍵字進(jìn)行單詞匹配,將該匹配位置的后續(xù)信息作為元 信息的鏈接地址進(jìn)行下載,同時(shí)進(jìn)行5 20的線程數(shù)配置,即先將線程數(shù)配置信息設(shè)為5,開 始獲取"元信息",判斷計(jì)算機(jī)系統(tǒng)的CPU占用率是否達(dá)到80%,如果沒有達(dá)到,則將線程數(shù) 配置信息加1,直到計(jì)算機(jī)系統(tǒng)的CPU占用率達(dá)到80%或者線程數(shù)配置信息達(dá)到20為止;
系統(tǒng)對當(dāng)前網(wǎng)頁信息進(jìn)行匹配搜索,發(fā)現(xiàn)有鏈接標(biāo)簽<a></a>,將鏈接標(biāo)簽中的鏈接地 址作為后續(xù)需要處理的地址信息存放到未處理隊(duì)列中,當(dāng)前網(wǎng)頁信息處理完成后,從未處理 隊(duì)列中讀取出該隊(duì)列的第一個地址重復(fù)上述的匹配處理操作,直到未處理隊(duì)列中的鏈接地址 為空為止;
(b) 對"元信息"收集器獲取的"元信息"進(jìn)行分析,根據(jù)BitTorrent協(xié)議中的規(guī)范內(nèi)容, 使用BitTorrent協(xié)議中的報(bào)文關(guān)鍵字對"元信息"中的信息進(jìn)行匹配,獲取文件名、文件大小、文件Hash值、DHT網(wǎng)絡(luò)入口地址和端口號信息;
(c) 采用偽客戶端方法來連接DHT網(wǎng)絡(luò),獲取共享特定文件的Peers節(jié)點(diǎn)列表信息, 當(dāng)BT偽客戶端啟動時(shí),選中已有的"元信息"進(jìn)行訪問過程模擬,先讀取"元信息"中的DHT 網(wǎng)絡(luò)入口節(jié)點(diǎn)列表信息,再根據(jù)BitTorrent協(xié)議,按照真實(shí)的網(wǎng)絡(luò)鏈接請求信息向DHT網(wǎng)絡(luò) 入口節(jié)點(diǎn)發(fā)起連接請求,入口節(jié)點(diǎn)接收到當(dāng)前連接請求后,根據(jù)DHT網(wǎng)絡(luò)協(xié)議在DHT網(wǎng)絡(luò) 中查詢可提供下載"元信息"對應(yīng)文件的節(jié)點(diǎn)信息,節(jié)點(diǎn)列表信息使用UDP數(shù)據(jù)包返回給偽客 戶端;采用分布式系統(tǒng)結(jié)構(gòu),通過部署多個偽客戶端,每個偽客戶端向DHT網(wǎng)絡(luò)提交多次查 詢請求,獲得參與文件傳輸?shù)乃泄?jié)點(diǎn)信息;
(d) BitTorrent偽客戶端獲取到DHT網(wǎng)絡(luò)的返回信息后,根據(jù)BitTorrent協(xié)議對返回?cái)?shù)據(jù) 包進(jìn)行分析,得到當(dāng)前"元信息"對應(yīng)文件下載的Peer節(jié)點(diǎn)列表信息,這些節(jié)點(diǎn)列表信息在數(shù) 據(jù)包中按協(xié)議規(guī)范進(jìn)行組織;當(dāng)仿真客戶端收到DHT網(wǎng)絡(luò)返回信息數(shù)據(jù)包后,將數(shù)據(jù)包按照 協(xié)議規(guī)范進(jìn)行分解,得到節(jié)點(diǎn)列表信息,并對分解后可用的節(jié)點(diǎn)信息進(jìn)行鏈接,獲取該節(jié)點(diǎn) 的狀態(tài)信息;當(dāng)偽客戶端獲得節(jié)點(diǎn)列表后,根據(jù)BitTorrent協(xié)議規(guī)范,對于每個節(jié)點(diǎn),使用該 節(jié)點(diǎn)的IP地址和端口號生成仿真握手?jǐn)?shù)據(jù)包,并向該節(jié)點(diǎn)發(fā)出握手請求,以建立用于數(shù)據(jù)傳 輸?shù)腡CP鏈接;與節(jié)點(diǎn)之間建立鏈接,偽客戶端模擬BitTorrent協(xié)議中的數(shù)據(jù)請求數(shù)據(jù)包,并 向該節(jié)點(diǎn)發(fā)送,同時(shí)接收該節(jié)點(diǎn)的返回?cái)?shù)據(jù)包,通過固定時(shí)間段的發(fā)送與接收,對接收到的 數(shù)據(jù)量進(jìn)行統(tǒng)計(jì)、取時(shí)間平均值,得出該TCP鏈接的傳輸速率和節(jié)點(diǎn)狀態(tài)信息,對于收集的"元 信息"和受眾信息數(shù)據(jù)中冗余和重復(fù)信息進(jìn)行過濾重復(fù)的數(shù)據(jù)只保留一條,以標(biāo)準(zhǔn)的數(shù)據(jù)格 式存入受眾數(shù)據(jù)庫。
本發(fā)明的有益效果是由于采用了偽客戶端主動發(fā)送模擬數(shù)據(jù)包來獲取受眾信息,能夠 盡可能多的獲得受眾信息,與現(xiàn)有技術(shù)只能被動的對網(wǎng)絡(luò)上的流量進(jìn)行監(jiān)測、分析,而得到 少部分受眾信息,本發(fā)明有效地解決了 BitTorrent特定信息傳播及其受眾的監(jiān)測問題,通過實(shí) 驗(yàn)驗(yàn)證和實(shí)際測試表明,本發(fā)明能夠高效地搜索和獲取互聯(lián)網(wǎng)中BitTorrent "元信息",偽客戶 端能夠準(zhǔn)確地獲取到參與特定信息傳播的受眾信息,形成特定信息傳播受眾數(shù)據(jù)庫,為網(wǎng)絡(luò) 安全監(jiān)管部門提供了受眾信息監(jiān)測與取證手段,同時(shí)為網(wǎng)絡(luò)安全態(tài)勢宏觀分析和預(yù)警預(yù)報(bào)提 供了基礎(chǔ)數(shù)據(jù)和決策依據(jù)。
下面結(jié)合附圖和實(shí)施例對本發(fā)明作詳細(xì)說明。
圖1是實(shí)現(xiàn)本發(fā)明方法所需系統(tǒng)組成圖。 圖2是本發(fā)明方法的流程圖。
具體實(shí)施例方式
5參照圖1 2,本發(fā)明所涉及的基本概念解釋如下
元信息是指啟動一個P2P特定文件傳播任務(wù)所需的基本信息,包括文件名、文件大小、 文件Hash值、DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)地址、端口號信息。例如,BitTorrent中的Torrent種子文 件、eMule中的Ed2K鏈接等。
"元信息"收集器是指從互聯(lián)網(wǎng)上自動獲取"元信息"的方法,通過這種方法可以自動從 萬維網(wǎng)上下載"元信息",是"元信息"獲取的主要來源,"元信息"收集器專門用于搜索并獲取 以網(wǎng)頁形式發(fā)布的"元信息",采用深度優(yōu)先搜索策略,首先根據(jù)已知鏈接地址獲取網(wǎng)頁內(nèi)容
并處理網(wǎng)頁中的鏈接信息使用預(yù)先設(shè)置的"匹配關(guān)鍵字"査找元信息鏈接,對于找到的元信 息鏈接,直接獲取元信息;對于網(wǎng)頁鏈接,將其放入等待抓取的URL隊(duì)列;然后按照深度優(yōu) 先搜索策略,從URL隊(duì)列中選擇下一步要抓取的URL。重復(fù)上述過程,直至達(dá)到系統(tǒng)設(shè)定 的搜索停止條件。
偽客戶端是根據(jù)已有的"元信息",通過模擬BitTorrent通信過程來獲取"元信息"和受眾信息。
本發(fā)明采用分模塊的體系結(jié)構(gòu),分模塊可使各功能模塊的實(shí)現(xiàn)分離,模塊與模塊之間通 過接口進(jìn)行通訊。第一級為界面部分,包括用戶界面管理。它是系統(tǒng)與用戶交互的主要接 口,主要實(shí)現(xiàn)用戶與軟件的交互功能以及其它模塊的調(diào)用功能;第二級為實(shí)現(xiàn)部分,包括元 信息收集模塊、元信息分析處理模塊、DHT網(wǎng)絡(luò)訪問過程模擬、Peers節(jié)點(diǎn)列表提取與處理、 系統(tǒng)參數(shù)設(shè)置與讀取模塊和操作幫助。以下為各個實(shí)現(xiàn)模塊的說明 元信息收集模塊通過"元信息"收集器收集需要的"元信息"; 元信息分析處理模塊對收集的"元信息"進(jìn)行分析與處理; DHT網(wǎng)絡(luò)訪問過程模擬模擬節(jié)點(diǎn)與DHT網(wǎng)絡(luò)的訪問過程,獲取受眾信息; Peers節(jié)點(diǎn)列表提取與處理對DHT網(wǎng)絡(luò)的返回信息進(jìn)行處理,獲取DHT網(wǎng)絡(luò)返回的 Peers節(jié)點(diǎn)列表信息,并通過與Peer進(jìn)行連接,獲取Peer節(jié)點(diǎn)的狀態(tài)信息;
系統(tǒng)參數(shù)設(shè)置與讀取模塊對系統(tǒng)的運(yùn)行參數(shù)進(jìn)行設(shè)置,并且可以根據(jù)需要讀取指定的 參數(shù);
操作幫助對系統(tǒng)可進(jìn)行的操作進(jìn)行說明的模塊。
本發(fā)明方法采用以下步驟實(shí)現(xiàn)
u)獲取"元信息"。
利用"元信息"收集器技術(shù),首先從系統(tǒng)中讀取"元信息"在網(wǎng)頁中的匹配關(guān)鍵字,以進(jìn)行后 續(xù)的比較,再從系統(tǒng)設(shè)置信息中讀取搜索起始地址,將該地址所指定的網(wǎng)頁信息讀取到本地并 使用文本方式打開,對文本中的內(nèi)容從前到后根據(jù)己讀取的"元信息"匹配關(guān)鍵字進(jìn)行單詞匹
6配, 一旦發(fā)現(xiàn)有匹配位置,則將該匹配位置的后續(xù)信息作為元信息的鏈接地址進(jìn)行下載。為了 加快"元信息"獲取速度,這個步驟需要采用多線程方式進(jìn)行工作,所以在下載"元信息"的同時(shí) 可以繼續(xù)進(jìn)行后續(xù)內(nèi)容的匹配、下載操作。為了達(dá)到效率最大化,可同時(shí)進(jìn)行的線程數(shù)需要可 以在系統(tǒng)中進(jìn)行配置,考慮到獲取"元信息"的效率和計(jì)算機(jī)的負(fù)載情況,線程數(shù)的配置范圍為 5 20。配置時(shí)由操作人員根據(jù)計(jì)算機(jī)的配置情況,首先將線程數(shù)配置信息設(shè)為5,開始獲取"元 信息",判斷計(jì)算機(jī)系統(tǒng)的CPU占用率是否達(dá)到80%,如果沒有達(dá)到,則將線程數(shù)配置信息加 1,重新開始獲取"元信息",并判斷計(jì)算機(jī)系統(tǒng)的CPU占用率是否達(dá)到了80%,重復(fù)上述歩驟, 直到計(jì)算機(jī)系統(tǒng)的CPU占用率達(dá)到80%或者線程數(shù)配置信息達(dá)到20為止。
在系統(tǒng)對當(dāng)前網(wǎng)頁信息進(jìn)行匹配搜索時(shí), 一旦發(fā)現(xiàn)有鏈接標(biāo)簽<a></a〉,則將鏈接標(biāo)簽 中的鏈接地址作為后續(xù)需要處理的地址信息存放到未處理隊(duì)列中,當(dāng)前網(wǎng)頁信息處理完成后, 從未處理隊(duì)列中讀取出該隊(duì)列的第一個地址重復(fù)上述的匹配處理操作,直到未處理隊(duì)列中的 鏈接地址為空為止。
在用戶界面上點(diǎn)擊"元信息"收集按鈕,系統(tǒng)自動調(diào)用"元信息"收集模塊,該模塊首先從 系統(tǒng)參數(shù)中讀取"元信息"在網(wǎng)頁中的匹配關(guān)鍵字為""orrent",再從系統(tǒng)參數(shù)中讀取搜索起始 地址為http://btl.btchina.net/coolky/,自動執(zhí)行"元信息"收集工作,最后收集的"元信息"數(shù)量 為18756個。
(2)"元信息"的分析處理。
對于通過"元信息"收集器獲取的"元信息",需要對其進(jìn)行分析,得到"元信息"中所包含 的有效信息,包括文件名、文件大小、文件Hash值、DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)地址、端口號。 將這些信息存儲到數(shù)據(jù)庫中,在通過偽客戶端進(jìn)行"受眾信息"獲取時(shí),根據(jù)指定的查詢條件 快速査找相關(guān)的"元信息"。
分析時(shí)由系統(tǒng)自動地將元信息以文本文件的方式打開,根據(jù)BitTorrent協(xié)議中的規(guī)范內(nèi) 容,使用BitTorrent協(xié)議中的報(bào)文關(guān)鍵字對元信息中的信息進(jìn)行匹配,獲取文件名、文件大小、 文件Hash值、DHT網(wǎng)絡(luò)入口地址和端口號信息。當(dāng)元信息中包含單個文件信息時(shí),文件名 信息來自于Info字段的Name信息,文件大小來自于Info字段的Length信息;當(dāng)元信息中包 含多個文件信息時(shí),文件名信息來自于Info字段的Name信息,文件大小來自于Info字段的 Files目錄下每個文件的Length總和。文件Hash值來自于Info字段的摘要信息。DHT網(wǎng)絡(luò)入 口節(jié)點(diǎn)的地址和端口號信息來自于nodes字段,這個字段被設(shè)置為離生成torrent的節(jié)點(diǎn)路由 表中最近的幾個節(jié)點(diǎn)或者已知的好節(jié)點(diǎn),節(jié)點(diǎn)的信息包括節(jié)點(diǎn)IP地址和節(jié)點(diǎn)端口號。
在用戶界面上點(diǎn)擊"元信息"分析處理按鈕,系統(tǒng)自動調(diào)用"元信息"分析處理模塊,該模 塊對于已經(jīng)獲取的"元信息"進(jìn)行分析、處理,得到"元信息"中所包含的有效信息,這些有效信息包括文件名、文件大小、文件Hash值、DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)地址、端口號信息,并將 這些信息存儲到數(shù)據(jù)庫中。成功處理的"元信息"數(shù)量為18756個,文件個數(shù)為25636個,成 功存儲這些數(shù)據(jù)后的數(shù)據(jù)庫大小為267M。 (3 ) DHT網(wǎng)絡(luò)訪問過程模擬。
對于BitTorrent,利用"元信息"查詢并獲取特定文件共享的Peers節(jié)點(diǎn)列表,即受眾信息。 由于BitTorrent軟件都采用特定協(xié)議實(shí)現(xiàn)Peers節(jié)點(diǎn)之間通信,因此需要采用偽客戶端方法來 連接DHT網(wǎng)絡(luò),以獲取共享特定文件的Peers節(jié)點(diǎn)列表信息。
當(dāng)BT偽客戶端啟動時(shí),并不直接連接DHT網(wǎng)絡(luò)。當(dāng)選中已有的"元信息"進(jìn)行訪問過 程模擬時(shí),首先讀取"元信息"中的DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)列表信息,其次根據(jù)BitTorrent協(xié)議, 仿造真實(shí)的網(wǎng)絡(luò)鏈接請求信息向DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)發(fā)起連接請求,入口節(jié)點(diǎn)接收到當(dāng)前連接 請求后,根據(jù)DHT網(wǎng)絡(luò)協(xié)議在DHT網(wǎng)絡(luò)屮査詢可提供下載"元信息"對應(yīng)文件的節(jié)點(diǎn)信息, 節(jié)點(diǎn)列表信息使用UDP數(shù)據(jù)包返回給偽客戶端。
由于DHT網(wǎng)絡(luò)每次只隨機(jī)選擇一部分節(jié)點(diǎn)信息返回給偽客戶端,偽客戶端不能通過一次 查詢獲取DHT網(wǎng)絡(luò)上參與文件傳輸?shù)乃泄?jié)點(diǎn)信息。因此,本歩驟在實(shí)施時(shí)可采用分布式系 統(tǒng)結(jié)構(gòu),通過部署多個偽客戶端,每個偽客戶端向DHT網(wǎng)絡(luò)提交多次査詢請求,進(jìn)而可以獲 得參與文件傳輸?shù)乃泄?jié)點(diǎn)信息。
在用戶界面上點(diǎn)擊"DHT網(wǎng)絡(luò)訪問過程模擬"按鈕,系統(tǒng)自動調(diào)用"DHT網(wǎng)絡(luò)訪問過程模 擬"模塊,該模塊對數(shù)據(jù)庫中已處理過的"元信息"進(jìn)行操作,總共獲取到18756個返回?cái)?shù)據(jù)包。 (4) Peers節(jié)點(diǎn)列表提取與處理。
BitTorrent偽客戶端獲取到DHT網(wǎng)絡(luò)的返回信息后,根據(jù)BitTorrent協(xié)議對返回?cái)?shù)據(jù)包進(jìn) 行分析,得到可進(jìn)行當(dāng)前"元信息"對應(yīng)文件下載的Peer節(jié)點(diǎn)列表信息,每個Peer節(jié)點(diǎn)信息包 含IP地址和端口號,這些節(jié)點(diǎn)列表信息在數(shù)據(jù)包中按協(xié)議規(guī)范進(jìn)行組織。當(dāng)仿真客戶端收到 DHT網(wǎng)絡(luò)返回信息數(shù)據(jù)包后,將數(shù)據(jù)包按照協(xié)議規(guī)范進(jìn)行分解,得到節(jié)點(diǎn)列表信息,并對分 解后可用的節(jié)點(diǎn)信息進(jìn)行鏈接,獲取該節(jié)點(diǎn)的狀態(tài)信息,包括是否可用、傳輸速率和對資 源的擁有情況。DHT網(wǎng)絡(luò)返回信息數(shù)據(jù)包的協(xié)議規(guī)范是BitTo1Tent協(xié)議將所有節(jié)點(diǎn)列表信 息存儲為6個字節(jié)的16位制信息,前四位代表IP地址,后兩位代表端口號。
當(dāng)偽客戶端獲得節(jié)點(diǎn)列表后,根據(jù)BitTorrent協(xié)議規(guī)范,對于每個節(jié)點(diǎn),使用該節(jié)點(diǎn)的 IP地址和端口號生成仿真握手?jǐn)?shù)據(jù)包,并向該節(jié)點(diǎn)發(fā)出握手請求,以建立用于數(shù)據(jù)傳輸?shù)腡CP 鏈接。與節(jié)點(diǎn)之間的鏈接建立起來后,偽客戶端模擬BitTorrent協(xié)議中的數(shù)據(jù)請求數(shù)據(jù)包,并 向該節(jié)點(diǎn)發(fā)送,同時(shí)接收該節(jié)點(diǎn)的返回?cái)?shù)據(jù)包,通過固定時(shí)間段的發(fā)送與接收,對接收到的 數(shù)據(jù)量進(jìn)行統(tǒng)計(jì)、取時(shí)間平均值,可得出該TCP鏈接的傳輸速率和節(jié)點(diǎn)狀態(tài)信息。固定時(shí)間段的具體數(shù)值可從配置文件中讀取"數(shù)據(jù)請求時(shí)間"參數(shù)信息。
對于收集的"元信息"和受眾信息,形成了完整的受眾監(jiān)控信息,但是由于在收集信息的 過程中沒有進(jìn)行過濾,所以在所收集數(shù)據(jù)中包含冗余和重復(fù)信息,需要對已收集的數(shù)據(jù)進(jìn)行 過濾對于重復(fù)的數(shù)據(jù)只保留一條,以標(biāo)準(zhǔn)的數(shù)據(jù)格式存入受眾數(shù)據(jù)庫,保證受眾數(shù)據(jù)庫中 數(shù)據(jù)的惟一性、 一致性和完整性。
在用戶界面上點(diǎn)擊"Peers節(jié)點(diǎn)列表提取與處理"按鈕,系統(tǒng)自動調(diào)用"Peers節(jié)點(diǎn)列表提取 與處理,,模塊,該模塊通過對己獲取的數(shù)據(jù)包進(jìn)行處理,總計(jì)獲得157863個節(jié)點(diǎn),實(shí)際可用 節(jié)點(diǎn)為67357個,其余節(jié)點(diǎn)為不可連接節(jié)點(diǎn)。在有條件的環(huán)境下,可以采用分布式部署結(jié)構(gòu), 可以獲得更多的節(jié)點(diǎn)信息。
權(quán)利要求
1、一種基于BitTorrent的主動式特定信息傳播監(jiān)測方法,其特征在于包括下述步驟(a)通過“元信息”收集器,從系統(tǒng)中讀取“元信息”在網(wǎng)頁中的匹配關(guān)鍵字,再從系統(tǒng)設(shè)置信息中讀取搜索起始地址,將該地址所指定的網(wǎng)頁信息讀取到本地并使用文本方式打開,對文本中的內(nèi)容根據(jù)已讀取的“元信息”匹配關(guān)鍵字進(jìn)行單詞匹配,將該匹配位置的后續(xù)信息作為元信息的鏈接地址進(jìn)行下載,同時(shí)進(jìn)行5~20的線程數(shù)配置,即先將線程數(shù)配置信息設(shè)為5,開始獲取“元信息”,判斷計(jì)算機(jī)系統(tǒng)的CPU占用率是否達(dá)到80%,如果沒有達(dá)到,則將線程數(shù)配置信息加1,直到計(jì)算機(jī)系統(tǒng)的CPU占用率達(dá)到80%或者線程數(shù)配置信息達(dá)到20為止;系統(tǒng)對當(dāng)前網(wǎng)頁信息進(jìn)行匹配搜索,發(fā)現(xiàn)有鏈接標(biāo)簽<a></a>,將鏈接標(biāo)簽中的鏈接地址作為后續(xù)需要處理的地址信息存放到未處理隊(duì)列中,當(dāng)前網(wǎng)頁信息處理完成后,從未處理隊(duì)列中讀取出該隊(duì)列的第一個地址重復(fù)上述的匹配處理操作,直到未處理隊(duì)列中的鏈接地址為空為止;(b)對“元信息”收集器獲取的“元信息”進(jìn)行分析,根據(jù)BitTorrent協(xié)議中的規(guī)范內(nèi)容,使用BitTorrent協(xié)議中的報(bào)文關(guān)鍵字對“元信息”中的信息進(jìn)行匹配,獲取文件名、文件大小、文件Hash值、DHT網(wǎng)絡(luò)入口地址和端口號信息;(c)采用偽客戶端方法來連接DHT網(wǎng)絡(luò),獲取共享特定文件的Peers節(jié)點(diǎn)列表信息,當(dāng)BT偽客戶端啟動時(shí),選中已有的“元信息”進(jìn)行訪問過程模擬,先讀取“元信息”中的DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)列表信息,再根據(jù)BitTorrent協(xié)議,按照真實(shí)的網(wǎng)絡(luò)鏈接請求信息向DHT網(wǎng)絡(luò)入口節(jié)點(diǎn)發(fā)起連接請求,入口節(jié)點(diǎn)接收到當(dāng)前連接請求后,根據(jù)DHT網(wǎng)絡(luò)協(xié)議在DHT網(wǎng)絡(luò)中查詢可提供下載“元信息”對應(yīng)文件的節(jié)點(diǎn)信息,節(jié)點(diǎn)列表信息使用UDP數(shù)據(jù)包返回給偽客戶端;采用分布式系統(tǒng)結(jié)構(gòu),通過部署多個偽客戶端,每個偽客戶端向DHT網(wǎng)絡(luò)提交多次查詢請求,獲得參與文件傳輸?shù)乃泄?jié)點(diǎn)信息;(d)BitTorrent偽客戶端獲取到DHT網(wǎng)絡(luò)的返回信息后,根據(jù)BitTorrent協(xié)議對返回?cái)?shù)據(jù)包進(jìn)行分析,得到當(dāng)前“元信息”對應(yīng)文件下載的Peer節(jié)點(diǎn)列表信息,這些節(jié)點(diǎn)列表信息在數(shù)據(jù)包中按協(xié)議規(guī)范進(jìn)行組織;當(dāng)仿真客戶端收到DHT網(wǎng)絡(luò)返回信息數(shù)據(jù)包后,將數(shù)據(jù)包按照協(xié)議規(guī)范進(jìn)行分解,得到節(jié)點(diǎn)列表信息,并對分解后可用的節(jié)點(diǎn)信息進(jìn)行鏈接,獲取該節(jié)點(diǎn)的狀態(tài)信息;當(dāng)偽客戶端獲得節(jié)點(diǎn)列表后,根據(jù)BitTorrent協(xié)議規(guī)范,對于每個節(jié)點(diǎn),使用該節(jié)點(diǎn)的IP地址和端口號生成仿真握手?jǐn)?shù)據(jù)包,并向該節(jié)點(diǎn)發(fā)出握手請求,以建立用于數(shù)據(jù)傳輸?shù)腡CP鏈接;與節(jié)點(diǎn)之間建立鏈接,偽客戶端模擬BitTorrent協(xié)議中的數(shù)據(jù)請求數(shù)據(jù)包,并向該節(jié)點(diǎn)發(fā)送,同時(shí)接收該節(jié)點(diǎn)的返回?cái)?shù)據(jù)包,通過固定時(shí)間段的發(fā)送與接收,對接收到的數(shù)據(jù)量進(jìn)行統(tǒng)計(jì)、取時(shí)間平均值,得出該TCP鏈接的傳輸速率和節(jié)點(diǎn)狀態(tài)信息,對于收集的“元信息”和受眾信息數(shù)據(jù)中冗余和重復(fù)信息進(jìn)行過濾重復(fù)的數(shù)據(jù)只保留一條,以標(biāo)準(zhǔn)的數(shù)據(jù)格式存入受眾數(shù)據(jù)庫。
全文摘要
本發(fā)明公開了一種基于BitTorrent的主動式特定信息傳播監(jiān)測方法,通過“元信息”收集器,從系統(tǒng)中讀取“元信息”,對“元信息”收集器獲取的“元信息”進(jìn)行分析,通過向偽客戶端主動發(fā)送模擬數(shù)據(jù)包來獲取受眾信息,通過DHT網(wǎng)絡(luò)訪問過程模擬,提取Peers節(jié)點(diǎn)列表并進(jìn)行處理。由于采用了偽客戶端主動發(fā)送模擬數(shù)據(jù)包來獲取受眾信息,能夠盡可能多的獲得受眾信息,與現(xiàn)有技術(shù)相比較,本發(fā)明通過搜索和獲取互聯(lián)網(wǎng)中BitTorrent“元信息”,偽客戶端獲取到參與特定信息傳播的受眾信息,形成特定信息傳播受眾數(shù)據(jù)庫,為網(wǎng)絡(luò)安全監(jiān)管部門提供了受眾信息監(jiān)測與取證手段,同時(shí)為網(wǎng)絡(luò)安全態(tài)勢宏觀分析和預(yù)警預(yù)報(bào)提供了基礎(chǔ)數(shù)據(jù)和決策依據(jù)。
文檔編號H04L12/58GK101567811SQ20091002272
公開日2009年10月28日 申請日期2009年5月26日 優(yōu)先權(quán)日2009年5月26日
發(fā)明者丁軍平, 蔣元成, 蔡皖東 申請人:西北工業(yè)大學(xué)