基于BitTorrent的主动式特定信息传播监测方法

文档序号:7945652阅读:180来源:国知局
专利名称:基于BitTorrent的主动式特定信息传播监测方法
技术领域
本发明涉及一种信息传播监测方法,特别是基于BitTorrent的主动式特定信息传播监 测方法。
背景技术
P2P文件共享系统模型总体上可分成4种
(1) 采用中心拓扑的集中目录式P2P模型,资源发现依赖于中心目录服务器,典型的代 表是Napster系统;
(2) 采用全分布非结构化拓扑的纯粹P2P模型,节点间的文件查询和共享都是直接通过 相邻节点的广播方式传递,典型的代表是Gnutella系统;
(3) 采用半分布式结构拓扑的混合式P2P模型,在纯粹P2P的基础上,引入了超级节 点的概念,综合了集中目录式P2P的査找快速和纯粹P2P非中心化的优势,典型的代表是 Kazaa系统等;
(4) 采用全分布结构化拓扑的结构化P2P模型,利用分布式消息传递机制和分布式哈希 表(Distributed Hash Table, DHT)技术实现信息定位与文件共享。目前,在互联网上流行的P2P 软件是以混合式P2P模型和结构化P2P模型为主,典型的是BitTorrent、 eMule/eDonkey等。
P2P网络监测模型主要有2种 (1 )基于流量特征的监测模型,根据各种P2P软件通信过程所呈现出的流量特征进行识 别和监测,主要用于网络运营商对P2P流量的管理;
(2)基于流量内容的监测模型,根据P2P软件所传输的流量内容进行识别和监测,但对 加密的P2P流量内容则无法识别。
文献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"公 开了一种基于应用签名的P2P流量识别方法,该方法基于深层数据包识别技术(Deep Packet Inspection),通过读取数据载荷并进行模式匹配来发现协议签名,该方法可实现已知P2P协议数 据流的精确识别,但无法识别未知P2P协议的数据流。总的来看,基于流量特征的监测模型主 要用于网络运营商对P2P流量限制和管理,并不适合P2P特定信息传播监控和取证。
文献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"公 开了一种基于内容恢复的P2P文件共享系统特定内容监控方法,该方法首先对P2P数据流进行识别,将P2P数据流按传输内容的类型分为文本、图像和视频数据。对于文本类型数据内 容采用字典比较的方法,将文本中携带的关键字与事先建立好的不良信息字典库进行比较, 以实现对不良内容的监测。对于图像内容,文中只提及对色情内容的监测,通过图像处理的 方法检测文件中"皮肤区域"所占整个图像的比例,超过一定的阈值则认为该图像携带色情内 容。对于视频文件,采用两种监测方法 一是从视频文件中获取关键帧,对关键帧的内容进 行判断;二是恢复视频文件的某一片段,根据该片段的内容判断视频文件是否存在非法内容。 该方案的缺点在于系统架构过于复杂,缺乏统一的检测机制;数据报文内容恢复技术难度大, 无法恢复加密的数据内容;图像和视频的检测方法只能采取事后分析,需要使用复杂的图像 处理技术,计算量大,实时性差,检测准确率较低。由于基于流量内容的监测模型需要对P2P 软件所传输的流量内容进行恢复性识别,却无法恢复和监控被加密的P2P信息内容。
国内外现有P2P网络监测技术主要用于网络运营商对P2P流量的识别与管理,无法实现 对P2P特定信息传播及其受众进行有效的监测和分析,不能满足网络安全监管的应用需求。

发明内容
为了克服现有技术方法对BitTorrent特定信息传播及其受众进行监测和分析效果差的不 足,本发明提供一种基于BitTorrent的主动式特定信息传播监测方法,通过模拟BitTorrent客 户端向BitTorrent网络发送仿真数据包,并对返回的数据包进行分析,可以有效的对BitTorrent 网络特定信息传播进行监测和分析。
本发明解决其技术问题所采用的技术方案 一种基于BitTorrent的主动式特定信息传播
监测方法,其特点是包括下述歩骤
(a) 通过"元信息"收集器,从系统中读取"元信息"在网页中的匹配关键字,再从系统设置 信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并使用文本方式打开,对文 本中的内容根据已读取的"元信息"匹配关键字进行单词匹配,将该匹配位置的后续信息作为元 信息的链接地址进行下载,同时进行5 20的线程数配置,即先将线程数配置信息设为5,开 始获取"元信息",判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数 配置信息加1,直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止;
系统对当前网页信息进行匹配搜索,发现有链接标签<a></a>,将链接标签中的链接地 址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后,从未处理 队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的链接地址 为空为止;
(b) 对"元信息"收集器获取的"元信息"进行分析,根据BitTorrent协议中的规范内容, 使用BitTorrent协议中的报文关键字对"元信息"中的信息进行匹配,获取文件名、文件大小、文件Hash值、DHT网络入口地址和端口号信息;
(c) 采用伪客户端方法来连接DHT网络,获取共享特定文件的Peers节点列表信息, 当BT伪客户端启动时,选中已有的"元信息"进行访问过程模拟,先读取"元信息"中的DHT 网络入口节点列表信息,再根据BitTorrent协议,按照真实的网络链接请求信息向DHT网络 入口节点发起连接请求,入口节点接收到当前连接请求后,根据DHT网络协议在DHT网络 中查询可提供下载"元信息"对应文件的节点信息,节点列表信息使用UDP数据包返回给伪客 户端;采用分布式系统结构,通过部署多个伪客户端,每个伪客户端向DHT网络提交多次查 询请求,获得参与文件传输的所有节点信息;
(d) BitTorrent伪客户端获取到DHT网络的返回信息后,根据BitTorrent协议对返回数据 包进行分析,得到当前"元信息"对应文件下载的Peer节点列表信息,这些节点列表信息在数 据包中按协议规范进行组织;当仿真客户端收到DHT网络返回信息数据包后,将数据包按照 协议规范进行分解,得到节点列表信息,并对分解后可用的节点信息进行链接,获取该节点 的状态信息;当伪客户端获得节点列表后,根据BitTorrent协议规范,对于每个节点,使用该 节点的IP地址和端口号生成仿真握手数据包,并向该节点发出握手请求,以建立用于数据传 输的TCP链接;与节点之间建立链接,伪客户端模拟BitTorrent协议中的数据请求数据包,并 向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的 数据量进行统计、取时间平均值,得出该TCP链接的传输速率和节点状态信息,对于收集的"元 信息"和受众信息数据中冗余和重复信息进行过滤重复的数据只保留一条,以标准的数据格 式存入受众数据库。
本发明的有益效果是由于采用了伪客户端主动发送模拟数据包来获取受众信息,能够 尽可能多的获得受众信息,与现有技术只能被动的对网络上的流量进行监测、分析,而得到 少部分受众信息,本发明有效地解决了 BitTorrent特定信息传播及其受众的监测问题,通过实 验验证和实际测试表明,本发明能够高效地搜索和获取互联网中BitTorrent "元信息",伪客户 端能够准确地获取到参与特定信息传播的受众信息,形成特定信息传播受众数据库,为网络 安全监管部门提供了受众信息监测与取证手段,同时为网络安全态势宏观分析和预警预报提 供了基础数据和决策依据。
下面结合附图和实施例对本发明作详细说明。


图1是实现本发明方法所需系统组成图。 图2是本发明方法的流程图。
具体实施例方式
5参照图1 2,本发明所涉及的基本概念解释如下
元信息是指启动一个P2P特定文件传播任务所需的基本信息,包括文件名、文件大小、 文件Hash值、DHT网络入口节点地址、端口号信息。例如,BitTorrent中的Torrent种子文 件、eMule中的Ed2K链接等。
"元信息"收集器是指从互联网上自动获取"元信息"的方法,通过这种方法可以自动从 万维网上下载"元信息",是"元信息"获取的主要来源,"元信息"收集器专门用于搜索并获取 以网页形式发布的"元信息",采用深度优先搜索策略,首先根据已知链接地址获取网页内容
并处理网页中的链接信息使用预先设置的"匹配关键字"査找元信息链接,对于找到的元信 息链接,直接获取元信息;对于网页链接,将其放入等待抓取的URL队列;然后按照深度优 先搜索策略,从URL队列中选择下一步要抓取的URL。重复上述过程,直至达到系统设定 的搜索停止条件。
伪客户端是根据已有的"元信息",通过模拟BitTorrent通信过程来获取"元信息"和受众信息。
本发明采用分模块的体系结构,分模块可使各功能模块的实现分离,模块与模块之间通 过接口进行通讯。第一级为界面部分,包括用户界面管理。它是系统与用户交互的主要接 口,主要实现用户与软件的交互功能以及其它模块的调用功能;第二级为实现部分,包括元 信息收集模块、元信息分析处理模块、DHT网络访问过程模拟、Peers节点列表提取与处理、 系统参数设置与读取模块和操作帮助。以下为各个实现模块的说明 元信息收集模块通过"元信息"收集器收集需要的"元信息"; 元信息分析处理模块对收集的"元信息"进行分析与处理; DHT网络访问过程模拟模拟节点与DHT网络的访问过程,获取受众信息; Peers节点列表提取与处理对DHT网络的返回信息进行处理,获取DHT网络返回的 Peers节点列表信息,并通过与Peer进行连接,获取Peer节点的状态信息;
系统参数设置与读取模块对系统的运行参数进行设置,并且可以根据需要读取指定的 参数;
操作帮助对系统可进行的操作进行说明的模块。
本发明方法采用以下步骤实现
u)获取"元信息"。
利用"元信息"收集器技术,首先从系统中读取"元信息"在网页中的匹配关键字,以进行后 续的比较,再从系统设置信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并 使用文本方式打开,对文本中的内容从前到后根据己读取的"元信息"匹配关键字进行单词匹
6配, 一旦发现有匹配位置,则将该匹配位置的后续信息作为元信息的链接地址进行下载。为了 加快"元信息"获取速度,这个步骤需要采用多线程方式进行工作,所以在下载"元信息"的同时 可以继续进行后续内容的匹配、下载操作。为了达到效率最大化,可同时进行的线程数需要可 以在系统中进行配置,考虑到获取"元信息"的效率和计算机的负载情况,线程数的配置范围为 5 20。配置时由操作人员根据计算机的配置情况,首先将线程数配置信息设为5,开始获取"元 信息",判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数配置信息加 1,重新开始获取"元信息",并判断计算机系统的CPU占用率是否达到了80%,重复上述歩骤, 直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止。
在系统对当前网页信息进行匹配搜索时, 一旦发现有链接标签<a></a〉,则将链接标签 中的链接地址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后, 从未处理队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的 链接地址为空为止。
在用户界面上点击"元信息"收集按钮,系统自动调用"元信息"收集模块,该模块首先从 系统参数中读取"元信息"在网页中的匹配关键字为""orrent",再从系统参数中读取搜索起始 地址为http://btl.btchina.net/coolky/,自动执行"元信息"收集工作,最后收集的"元信息"数量 为18756个。
(2)"元信息"的分析处理。
对于通过"元信息"收集器获取的"元信息",需要对其进行分析,得到"元信息"中所包含 的有效信息,包括文件名、文件大小、文件Hash值、DHT网络入口节点地址、端口号。 将这些信息存储到数据库中,在通过伪客户端进行"受众信息"获取时,根据指定的查询条件 快速査找相关的"元信息"。
分析时由系统自动地将元信息以文本文件的方式打开,根据BitTorrent协议中的规范内 容,使用BitTorrent协议中的报文关键字对元信息中的信息进行匹配,获取文件名、文件大小、 文件Hash值、DHT网络入口地址和端口号信息。当元信息中包含单个文件信息时,文件名 信息来自于Info字段的Name信息,文件大小来自于Info字段的Length信息;当元信息中包 含多个文件信息时,文件名信息来自于Info字段的Name信息,文件大小来自于Info字段的 Files目录下每个文件的Length总和。文件Hash值来自于Info字段的摘要信息。DHT网络入 口节点的地址和端口号信息来自于nodes字段,这个字段被设置为离生成torrent的节点路由 表中最近的几个节点或者已知的好节点,节点的信息包括节点IP地址和节点端口号。
在用户界面上点击"元信息"分析处理按钮,系统自动调用"元信息"分析处理模块,该模 块对于已经获取的"元信息"进行分析、处理,得到"元信息"中所包含的有效信息,这些有效信息包括文件名、文件大小、文件Hash值、DHT网络入口节点地址、端口号信息,并将 这些信息存储到数据库中。成功处理的"元信息"数量为18756个,文件个数为25636个,成 功存储这些数据后的数据库大小为267M。 (3 ) DHT网络访问过程模拟。
对于BitTorrent,利用"元信息"查询并获取特定文件共享的Peers节点列表,即受众信息。 由于BitTorrent软件都采用特定协议实现Peers节点之间通信,因此需要采用伪客户端方法来 连接DHT网络,以获取共享特定文件的Peers节点列表信息。
当BT伪客户端启动时,并不直接连接DHT网络。当选中已有的"元信息"进行访问过 程模拟时,首先读取"元信息"中的DHT网络入口节点列表信息,其次根据BitTorrent协议, 仿造真实的网络链接请求信息向DHT网络入口节点发起连接请求,入口节点接收到当前连接 请求后,根据DHT网络协议在DHT网络屮査询可提供下载"元信息"对应文件的节点信息, 节点列表信息使用UDP数据包返回给伪客户端。
由于DHT网络每次只随机选择一部分节点信息返回给伪客户端,伪客户端不能通过一次 查询获取DHT网络上参与文件传输的所有节点信息。因此,本歩骤在实施时可采用分布式系 统结构,通过部署多个伪客户端,每个伪客户端向DHT网络提交多次査询请求,进而可以获 得参与文件传输的所有节点信息。
在用户界面上点击"DHT网络访问过程模拟"按钮,系统自动调用"DHT网络访问过程模 拟"模块,该模块对数据库中已处理过的"元信息"进行操作,总共获取到18756个返回数据包。 (4) Peers节点列表提取与处理。
BitTorrent伪客户端获取到DHT网络的返回信息后,根据BitTorrent协议对返回数据包进 行分析,得到可进行当前"元信息"对应文件下载的Peer节点列表信息,每个Peer节点信息包 含IP地址和端口号,这些节点列表信息在数据包中按协议规范进行组织。当仿真客户端收到 DHT网络返回信息数据包后,将数据包按照协议规范进行分解,得到节点列表信息,并对分 解后可用的节点信息进行链接,获取该节点的状态信息,包括是否可用、传输速率和对资 源的拥有情况。DHT网络返回信息数据包的协议规范是BitTo1Tent协议将所有节点列表信 息存储为6个字节的16位制信息,前四位代表IP地址,后两位代表端口号。
当伪客户端获得节点列表后,根据BitTorrent协议规范,对于每个节点,使用该节点的 IP地址和端口号生成仿真握手数据包,并向该节点发出握手请求,以建立用于数据传输的TCP 链接。与节点之间的链接建立起来后,伪客户端模拟BitTorrent协议中的数据请求数据包,并 向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的 数据量进行统计、取时间平均值,可得出该TCP链接的传输速率和节点状态信息。固定时间段的具体数值可从配置文件中读取"数据请求时间"参数信息。
对于收集的"元信息"和受众信息,形成了完整的受众监控信息,但是由于在收集信息的 过程中没有进行过滤,所以在所收集数据中包含冗余和重复信息,需要对已收集的数据进行 过滤对于重复的数据只保留一条,以标准的数据格式存入受众数据库,保证受众数据库中 数据的惟一性、 一致性和完整性。
在用户界面上点击"Peers节点列表提取与处理"按钮,系统自动调用"Peers节点列表提取 与处理,,模块,该模块通过对己获取的数据包进行处理,总计获得157863个节点,实际可用 节点为67357个,其余节点为不可连接节点。在有条件的环境下,可以采用分布式部署结构, 可以获得更多的节点信息。
权利要求
1、一种基于BitTorrent的主动式特定信息传播监测方法,其特征在于包括下述步骤(a)通过“元信息”收集器,从系统中读取“元信息”在网页中的匹配关键字,再从系统设置信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并使用文本方式打开,对文本中的内容根据已读取的“元信息”匹配关键字进行单词匹配,将该匹配位置的后续信息作为元信息的链接地址进行下载,同时进行5~20的线程数配置,即先将线程数配置信息设为5,开始获取“元信息”,判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数配置信息加1,直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止;系统对当前网页信息进行匹配搜索,发现有链接标签&lt;a&gt;&lt;/a&gt;,将链接标签中的链接地址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后,从未处理队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的链接地址为空为止;(b)对“元信息”收集器获取的“元信息”进行分析,根据BitTorrent协议中的规范内容,使用BitTorrent协议中的报文关键字对“元信息”中的信息进行匹配,获取文件名、文件大小、文件Hash值、DHT网络入口地址和端口号信息;(c)采用伪客户端方法来连接DHT网络,获取共享特定文件的Peers节点列表信息,当BT伪客户端启动时,选中已有的“元信息”进行访问过程模拟,先读取“元信息”中的DHT网络入口节点列表信息,再根据BitTorrent协议,按照真实的网络链接请求信息向DHT网络入口节点发起连接请求,入口节点接收到当前连接请求后,根据DHT网络协议在DHT网络中查询可提供下载“元信息”对应文件的节点信息,节点列表信息使用UDP数据包返回给伪客户端;采用分布式系统结构,通过部署多个伪客户端,每个伪客户端向DHT网络提交多次查询请求,获得参与文件传输的所有节点信息;(d)BitTorrent伪客户端获取到DHT网络的返回信息后,根据BitTorrent协议对返回数据包进行分析,得到当前“元信息”对应文件下载的Peer节点列表信息,这些节点列表信息在数据包中按协议规范进行组织;当仿真客户端收到DHT网络返回信息数据包后,将数据包按照协议规范进行分解,得到节点列表信息,并对分解后可用的节点信息进行链接,获取该节点的状态信息;当伪客户端获得节点列表后,根据BitTorrent协议规范,对于每个节点,使用该节点的IP地址和端口号生成仿真握手数据包,并向该节点发出握手请求,以建立用于数据传输的TCP链接;与节点之间建立链接,伪客户端模拟BitTorrent协议中的数据请求数据包,并向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的数据量进行统计、取时间平均值,得出该TCP链接的传输速率和节点状态信息,对于收集的“元信息”和受众信息数据中冗余和重复信息进行过滤重复的数据只保留一条,以标准的数据格式存入受众数据库。
全文摘要
本发明公开了一种基于BitTorrent的主动式特定信息传播监测方法,通过“元信息”收集器,从系统中读取“元信息”,对“元信息”收集器获取的“元信息”进行分析,通过向伪客户端主动发送模拟数据包来获取受众信息,通过DHT网络访问过程模拟,提取Peers节点列表并进行处理。由于采用了伪客户端主动发送模拟数据包来获取受众信息,能够尽可能多的获得受众信息,与现有技术相比较,本发明通过搜索和获取互联网中BitTorrent“元信息”,伪客户端获取到参与特定信息传播的受众信息,形成特定信息传播受众数据库,为网络安全监管部门提供了受众信息监测与取证手段,同时为网络安全态势宏观分析和预警预报提供了基础数据和决策依据。
文档编号H04L12/58GK101567811SQ20091002272
公开日2009年10月28日 申请日期2009年5月26日 优先权日2009年5月26日
发明者丁军平, 蒋元成, 蔡皖东 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1