基于DHT网络爬虫原理的P2P监听系统研究
2021-11-02张晓宇
张晓宇
(中国电子科技集团公司第四十七研究所,沈阳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网络资源的分布范围分析、资源热度分析与资源健康度分析。……
