999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DHT網絡爬蟲原理的P2P監聽系統研究

2021-11-02 11:48:20張曉宇
微處理機 2021年5期
關鍵詞:資源用戶

張曉宇

(中國電子科技集團公司第四十七研究所,沈陽110000)

1 引言

互聯網的本質在于虛擬、服務、分享與互動。其中信息資源的免費共享又是成就互聯網的關鍵因素,而P2P(Peer-to-Peer,點對點)技術無疑是現今最主要的資源共享方式[1-3]。當前P2P技術已被廣泛應用于流媒體傳輸、即時通信、文件共享等諸多領域[4-7]。但該項技術在實際使用中會占用大量網絡資源,同時由于其去中心化及點對點傳輸的特點,使得P2P網絡管控很難有效充分、高效地開展。監控P2P成為信息化管理者一項重要工作。在此,利用DHT網絡爬蟲工具,提出一款改進的P2P監聽系統設計方案,進一步提升P2P技術的應用潛力。

2 DHT網絡爬蟲原理

網絡爬蟲是一種能自動在萬維網上的龐雜資源里定向抓取目標的網頁下載程序,是各大搜索引擎的重要組成部分,其效率高低直接決定一個搜索引擎的優劣[8-9]。

DHT(Distributed Hash Table,分布式哈希表)網絡爬蟲是一種基于DHT網絡交互漏洞來獲取資源對應Key的爬蟲工具[10]。以Kad網絡實現為例,當DHT網絡爬蟲加入到Kad網絡中時,會收到許多消息,其中的ping與find_node消息攜帶了網絡拓撲信息[11-12],而get_peer和announce_peer消息中都有攜帶發送方正在搜索資源對應的Key。兩者的不同之處在于,發送announce_peer消息的節點已經收到了get_peer應答中的peer-list,在其開始進行P2P下載時,會向本地路由表中較近節點(或所有節點)發送announce_peer消息,將自己加入其他節點的peerlist中;而發送get_peer消息的節點則有可能搜索的是“死種”。利用上述功能特點,即可使用DHT網絡爬蟲進行DHT網絡資源的分布范圍分析、資源熱度分析與資源健康度分析。所以DHT網絡爬蟲技術不僅僅用于“種子搜索神器”,還可作為一種有效的P2P網絡狀態監聽軟件。

DHT網絡爬蟲的實現方式較多,小到個人實現的“H31DHT”、“DHT Crawler”,大到日本的“Rapid and Massive Monitoring of DHT”。

DHT網絡爬蟲實現方法與普通P2P下載工具客戶端基本相同,只不過它僅對信息交互進行應答,而不提供資源交互服務。其具體實現過程一般為:首先,接收其他節點發來的announce_peer(僅收集可被下載的資源時),提取其中的Key字段;隨后,通過MagNet或者是通過提供InfoHash-to-Torrent轉換的網站來獲取這個資源的種子文件;最后,提取種子文件中的資源信息,累計這些信息用于統計分析或構建種子文件的搜索引擎。

上述過程中,爬蟲功能是依賴以下兩條重要設定而實現的:

①一個資源的種子文件對應一個InfoHash值,獲得了InfoHash,便相當于獲得了種子文件;

②announce_peer會發送給所有回應下載用戶的臨近節點(甚至本地路由表中的所有節點)。

以當前流行的下載方式MagNet,即磁力鏈接,來作為示例。假設某一資源的磁力鏈接為:

magnet:?xt=urn:btih:C119E2D25658102625C8B1FA325863 3C7B4225BA&dn=Microsoft%20Office%20Professional%20Plus%202013%20v15.0.4517.1003

通過觀察可以得知,“&dn=”之后內容為待獲取資源的完整文件名,是可選字段,因此可以忽略。整個連接最重要的便是“btih:”之后以40個16進制數表示的20個字節即160位(也有其他編碼形式,最終所指的內容相同)。“btih”就是BT-InfoHash的縮寫,是對種子文件中info字段進行SHA1計算得出的。此info字段是資源所有的特征值,理論上不會與其他資源相同。所以每個種子文件對應一個InfoHash,這個InfoHash即是“Key”。

3 P2P監聽模塊的實現

當監聽模塊進入DHT網絡后會收到大量Kademlia請求消息,這些消息有的是由內網用戶所發出,也有的來自相應的外部網絡,可根據子網劃分的知識通過地址很容易將內網用戶的消息區分出來。在一般情景下DHT爬蟲只會收集announce_peer來積累活躍的資源信息。然而在本設計中,P2P模塊的目的在于發現目標用戶的下載請求。get_peer消息會在announce_peer之前被調用,所以此處的收集目標主要是get_peer消息,此外,表明目標用戶已經開始下載的announce_peer消息必然也要收集。

路由表樹形圖中每個子樹(k-bucket)都至少要有一個節點,每個子樹所表示的節點ID范圍是與自身節點ID距離在2i到2i+1之間(0≤i≤160),而多數網絡應用中announce_peer消息會發給路由表中的所有節點,但通常僅是一些距離自己較近的節點(前幾個k-bucket)。

一方面,監聽模塊為了增大接到請求的可能性,應將自己的信息傳遞給盡可能多的網絡系統節點,這就需要發送find_node消息。在一般的實現中,find_node不會完成全網的探測,因為對于資源下載來說,只需要讓其他節點可以通過多次轉發路由到自己即可。然而DHT爬蟲需要網絡系統中的每個節點都可以向自己發送請求消息,所以在DHT爬蟲的實現中要周期性地使用find_node對整個網絡系統進行“自我介紹”。

其中k為 模擬節點編號,0≤k<n;random(time)為以時間為種子的隨機函數;%表示求余運算。

為了將自身表示為多個模擬節點,可以調用多線程來實現,同時也大幅度提高處理效率。

DHT網絡爬蟲實質就是一個遵守Kademlia協議但不對外服務的假節點實現。在此只需將可獲得源代碼的下載工具的DHT相關部分略加改動,即可實現DHT網絡爬蟲,例如transmission源代碼中的“dht.c”、“dht.h”和“dht-example.c”三個文件。

DHT爬蟲的目的就在于收集InfoHash,依靠獲得InfoHash來得到資源的描述信息。為了區分并判斷資源的合法性,必須收集并分析內網用戶所請求資源的描述信息。

資源描述信息包含在種子文件中,此處需要做的實際上就是InfoHash向種子文件的轉換。種子文件不是通過分析InfoHash得來的,而是一個文件下載的過程。可以通過兩種簡單的方法實現此過程:

其一,MagNet磁力鏈接。想要使用InfoHash構建一個磁力鏈接相當簡單,只需要將InfoHash編碼成磁力鏈接的xt字段即可,然后將磁力鏈接交給一個支持磁力下載的網絡應用下載種子即可,構建源代碼也可以從transmission源碼里找到。

其二,有許多網站直接提供InfoHash to Torrent轉換服務,只需實現一個將InfoHash上傳,并接收存儲種子文件的函數即可。

4 性能測試

性能測試的目標為及時、準確地發覺正在進行P2P下載的目標用戶以便加以管理。如何盡早發現信息是此測試的關鍵,而DHT爬蟲的線程數量在其中起到關鍵性作用。

由于此測試在同一時間段內實驗條件是相同的,因此不需要專門搭建特定實驗環境。在不同時間段,通過改變線程數量進行測試,分別獲取幾組效率數據,對其取平均值(保留一位小數)。測試得到的結果數據如表1所示。

表1 不同線程數分時段InfoHash收集效率情況測試

為更加直觀分析表中數據,將測試結果繪制成折線圖,如圖1所示。通過觀察折線圖可知,當線程數量為32條到64條時,已經能夠及時發現目標用戶的請求信息;而當線程數量超過64條時,不但不能再進一步提高爬蟲反應速度,反而會由于運算負擔較大而降低反應速度。因此,最終將DHT爬蟲的線程數量定為64條。

圖1 測試結果折線圖

此外,在測試結果中還可發現,中午12點到下午1點時間段的P2P下載用戶明顯少于網民上網的“黃金”時間——22點到23點,以及常見的開始掛機下載的時間——凌晨1點到2點的數量;而凌晨時間段的爬蟲效率基本上是隨著線程數量的增加沿正比例增長的,另外可見上網“黃金”時間的爬蟲效率呈現很不穩定的特征。其原因據分析是因為凌晨時間發送各種交互請求的網絡用戶相比“黃金”時間要少,網絡環境較好,所以DHT爬蟲在進行資源信息獲取時也會相應地更少受到影響。因此這一類數據應該以凌晨時間段的結果為準。

5 結束語

基于DHT網絡爬蟲技術原理所提出并設計的P2P監聽系統,其主要功能是及時發現網絡中的P2P用戶并加以管理。利用多線程DHT爬蟲收集InfoHash信息,對P2P網絡及資源進行分析,在此系統下,能夠盡快發現P2P用戶,及時采取措施,可成為信息化人員管控P2P網絡的一種有效手段。通過實際測試,驗證了該監聽系統方案的實際可行性,結果符合理論預期。

猜你喜歡
資源用戶
讓有限的“資源”更有效
基礎教育資源展示
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产噜噜在线视频观看| 日韩精品专区免费无码aⅴ| 一本色道久久88| 色婷婷色丁香| 国产精品亚洲综合久久小说| 欧美日韩北条麻妃一区二区| 久久福利网| 亚洲va在线∨a天堂va欧美va| 在线免费观看a视频| 国产91小视频| 国产99欧美精品久久精品久久| 日韩小视频在线播放| 91精品人妻互换| 久久黄色毛片| 日本精品视频| 国产9191精品免费观看| 久久亚洲AⅤ无码精品午夜麻豆| 欧美 亚洲 日韩 国产| 国产区人妖精品人妖精品视频| 欧美不卡视频一区发布| 亚州AV秘 一区二区三区 | 亚洲色欲色欲www在线观看| 亚洲三级a| 国模在线视频一区二区三区| 日韩视频精品在线| 日本国产精品一区久久久| 亚洲毛片一级带毛片基地| 婷婷丁香色| 国产精品成人一区二区| 亚洲国产看片基地久久1024| 欧美日韩国产成人高清视频| 国产国语一级毛片| 国产尤物在线播放| 日本午夜影院| 一本色道久久88| 97se亚洲| 亚洲第一综合天堂另类专| 国产成人亚洲毛片| 青草国产在线视频| 国产精品白浆在线播放| 超清人妻系列无码专区| 亚洲国产精品无码AV| 亚洲av无码专区久久蜜芽| 午夜福利网址| 中文字幕在线观看日本| 久久亚洲精少妇毛片午夜无码 | 欧美成在线视频| 亚洲无码免费黄色网址| 亚洲资源站av无码网址| 精品国产成人高清在线| 亚洲中文字幕23页在线| 91网红精品在线观看| 欧美亚洲国产日韩电影在线| 亚卅精品无码久久毛片乌克兰| 91青青草视频在线观看的| 99热最新网址| www.国产福利| 亚洲精品男人天堂| 亚洲女同欧美在线| 国产精鲁鲁网在线视频| 国产18在线播放| 午夜a视频| 亚洲福利片无码最新在线播放| 国产青榴视频| 亚洲天堂免费观看| 国产精品.com| 亚洲欧美极品| 中文字幕 91| 色久综合在线| 国产一区二区在线视频观看| 亚洲天堂免费在线视频| 好紧好深好大乳无码中文字幕| 99人体免费视频| 波多野结衣久久精品| 亚洲国产精品无码久久一线| 91精品国产综合久久香蕉922| 99视频在线免费观看| 91久久国产综合精品女同我| 日韩精品专区免费无码aⅴ| 97se亚洲综合在线天天| 亚洲毛片网站| 试看120秒男女啪啪免费|