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

文档序号:7945662阅读:99来源:国知局

专利名称::基于eMule的主动式特定信息传播监测方法
技术领域
:本发明涉及一种信息传播监测方法,特别是基于eMule的主动式特定信息传播监测方法。
背景技术
:P2P文件共享系统模型总体上可分成4种(1)采用中心拓扑的集中目录式P2P模型,资源发现依赖于中心目录服务器,典型的代表是Napster系统;(2)采用全分布非结构化拓扑的纯粹P2P模型,节点间的文件査询和共享都是直接通过相邻节点的广播方式传递,典型的代表是Gnutella系统;(3)采用半分布式结构拓扑的混合式P2P模型,在纯粹P2P的基础上,引入了超级节点的概念,综合了集中目录式P2P的查找快速和纯粹P2P非中心化的优势,典型的代表是Kazaa系统等;(4)采用全分布结构化拓扑的结构化P2P模型,利用分布式消息传递机制和分布式哈希表(DistributedHashTable,DHT)技术实现信息定位与文件共享。在互联网上流行的P2P软件是以混合式P2P模型和结构化P2P模型为主,典型的是EMule、eMule/eDonkey等。P2P网络监测模型主要有2种(1)基于流量特征的监测模型,根据各种P2P软件通信过程所呈现出的流量特征进行识别和监测,主要用于网络运营商对P2P流量的管理;(2)基于流量内容的监测模型,根据P2P软件所传输的流量内容进行识别和监测,但对加密的P2P流量内容则无法识别。文献1"ThomasKaragiannis,AndreBroido,MichalisFaloutsos,etal.TransportlayeridentificationofP2Ptraffic[C].IMC,04,October25-27,2004,Taormlna,Sicily,Italy.Copyright2004ACM:121-134"公开了一种基于传输层特征的P2P流量检测方法,该方法以P2P流量在传输层所表现出来的一般性特征为依据,结合传统的端口检测技术,能够检测到新的P2P应用和加密的P2P应用的数据流,但该方法过于复杂且不能对P2P应用进行分类。总的来看,基于流量特征的监测模型主要用于网络运营商对P2P流量限制和管理,并不适合P2P特定信息传播监控和取证。文献2"HoGyunLee,TaekyongNam,JongSooJang.TheMethodofP2PTrafficDetectingforP2PHarmfulContentsPrevention[C].ICACT2005.Feb21-23,2005,PhoenixPark,Korea"公开了一种基于内容恢复的P2P文件共享系统特定内容监控方法,该方法首先对P2P数据流进行识别,将P2P数据流按传输内容的类型分为文本、图像和视频数据。对于文本类型数据内容采用字典比较的方法,将文本中携带的关键字与事先建立好的不良信息字典库进行比较,以实现对不良内容的监测。对于图像内容,文中只提及对色情内容的监测,通过图像处理的方法检测文件中"皮肤区域"所占整个图像的比例,超过一定的阈值则认为该图像携带色情内容。对于视频文件,采用两种监测方法一是从视频文件中获取关键帧,对关键帧的内容进行判断;二是恢复视频文件的某一片段,根据该片段的内容判断视频文件是否存在非法内容。该方案的缺点在于系统架构过于复杂,缺乏统一的检测机制;数据报文内容恢复技术难度大,无法恢复加密的数据内容;图像和视频的检测方法只能采取事后分析,需要使用复杂的图像处理技术,计算量大,实时性差,检测准确率较低。由于基于流量内容的监测模型需要对P2P软件所传输的流量内容进行恢复性识别,却无法恢复和监控被加密的P2P信息内容。国内外现有P2P网络监测技术主要用于网络运营商对P2P流量的识别与管理,无法实现对P2P特定信息传播及其受众进行有效的监测和分析,不能满足网络安全监管的应用需求。
发明内容为了克服现有技术方法对eMule特定信息传播及其受众进行监测和分析效果差的不足,本发明提供一种基于EMule的主动式特定信息传播监测方法,通过模拟EMule客户端向EMule网络发送仿真数据包,并对返回的数据包进行分析,可以有效的对EMule网络特定信息传播进行监测和分析。本发明解决其技术问题所采用的技术方案一种基于EMule的主动式特定信息传播监测方法,其特点是包括下述步骤-(a)以两种方式获取eMule资源(1)从互联网上获取eMule资源时,先从系统中读取eMuie资源在网页中的匹配关键字"〈ahref="ed2k://",再从系统设置信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并使用文本方式打开,对文本中的内容根据已读取的eMule资源匹配关键字进行单词匹配,将该匹配位置的后续信息作为eMule资源的链接地址进行保存,同时进行520的线程数配置,即先将线程数配置信息设为5,开始获取eMule资源,判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数配置信息加1,直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止;系统对当前网页信息进行匹配搜索,发现有链接标签<a></a>,将链接标签中的链接地址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后,从未处理队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的链接地址为空为止;(2)从eMule服务器上获取eMule资源时,根据eMule的公开协议,模拟eMule客户端与eMule服务器之间的査询交互过程,向eMule服务器发送查询数据包,eMule服务器接收到该查询命令后,在自有的服务器上进行搜索,并向eMule客户端返回搜索结果,返回时的搜索结果以eMule资源列表的方式进行组织;(b)对eMule资源收集器获取的eMule资源进行分析,得到eMule资源中所包含的有效信息,包括文件名、文件大小、文件Hash值、来源地址、端口号信息、完整的HashSet信息,并将这些信息存储到数据库中,在通过仿真客户端进行"受众信息"获取时,根据指定的查询条件快速査找相关的eMule资源;(c)采用仿真客户端方法来连接eMule网络,以获取共享特定文件的Peers节点列表信息,eMule仿真客户端启动,连接到eMule网络,服务器提供给仿真客户端一个客户端ID,在任务列表中存在需要下载文件的任务时,根据当前仿真客户端所连接的eMule网络类型Ed2k或者Kad进行交互模拟;根据eMule资源中的文件Hash值仿造真实的网络链接请求信息向Ed2k或者Kad网络服务器发起查询请求,Ed2k或者Kad网络服务器接收到当前査询请求后,根据Ed2k或者Kad网络协议在Ed2k或者Kad网络中査询可提供下载eMule资源对应文件的节点信息,节点列表信息使用TCP数据包返回给仿真客户端;采用分布式系统结构,通过部署多个仿真客户端,每个仿真客户端向eMule网络提交多次査询请求,进而可以获得参与文件传输的所有节点信息;(d)eMule仿真客户端获取到Ed2k网络和Kad网络的返回信息后,根据eMule协议和Ed2k或者Kad协议对返回数据包进行分析,得到当前eMule资源对应文件下载的Peer节点列表信息,每个Peer节点信息包含客户端ID和端口号,这些节点列表信息在数据包中按协议规范进行组织;当仿真客户端收到Ed2k网络或者Kad网络的返回信息数据包后,将数据包按照协议规范进行分解,得到Ed2k网络或者Kad网络的节点列表信息;得到Ed2k网络或者Kad网络返回的节点列表信息后,对所有节点节点信息进行重新组织,将重复的节点删除,并将节点按照客户端ID进行排序,对整理后的节点信息进行链接,获取该节点的状态信息;当仿真客户端获得节点列表后,根据eMule协议规范,对于每个节点,使用该节点的客户端ID和端口号生成仿真握手数据包,并向该节点发出握手请求,建立用于数据传输的TCP链接,与节点之间的链接建立起来后,仿真客户端模拟eMule协议中的数据请求数据包,并向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的数据量进行统计、取时间平均值,得出该TCP链接的传输速率和节点状态信息,对于收集的eMule资源信息和受众信息,形成了完整的受众监控信息,但是由于在收集信息的过程中没有进行过滤,对于重复的数据只保留一条,以标准的数据格式存入受众数据库。本发明的有益效果是由于通过模拟EMule客户端向EMule网络发送仿真数据包,并对返回的数据包进行分析,有效地解决了EMule特定信息传播及其受众的监测问题,并且能够高效地搜索和获取互联网中EMule资源信息,仿真客户端能够准确地获取到参与特定信息传播的受众信息,形成特定信息传播受众数据库,为网络安全监管部门提供了受众信息监测与取证手段,同时为网络安全态势宏观分析和预警预报提供了基础数据和决策依据。下面结合附图和实施例对本发明作详细说明。图1是实现本发明方法所需系统组成图。图2是本发明方法的流程图。具体实施例方式参照图12,本发明所涉及的基本概念解释如下eMule资源是指启动一个eMule特定文件传播任务所需的链接信息,包括Ed2K链接和Kad链接。eMule资源收集器是指从互联网上和eMule服务器上自动获取eMule资源的方法。从互联网上自动获取eMule资源的方法专门用于搜索并获取以网页形式发布的eMule资源,采用深度优先搜索策略,首先根据已知链接地址获取网页内容并处理网页中的链接信息使用预先设置的"匹配关键字"査找eMule资源链接,对于找到的eMule资源链接,直接获取eMule资源;对于网页链接,将其放入等待抓取的URL队列;然后按照深度优先搜索策略,从URL队列中选择下一步要抓取的URL。重复上述过程,直至达到系统设定的搜索停止条件。从eMule服务器上自动获取eMule资源的方法用于搜索并获取以eMule软件内部发布的eMule资源,通过模拟eMule客户端和eMule服务器之间的信息查询过程来获取eMule资源"f曰息。仿真客户端是根据已有的eMule资源,通过模拟eMule通信过程来获取受众信息。以下为各个实现模块的说明-采用分模块的体系结构,分模块可使各功能模块的实现分离,模块与模块之间通过接口进行通讯。第一级为界面部分,包括用户界面管理。它是系统与用户交互的主要接口,主要实现用户与软件的交互功能以及其它模块的调用功能;第二级为实现部分,包括eMule资源收集模块、eMule资源分析处理模块、eMule网络访问过程模拟、Peers节点列表提取与处理、系统参数设置与读取模块和操作帮助。以下为各个实现模块的说明-eMule资源收集模块通过eMule资源收集器收集需要的eMule资源;eMule资源分析处理模块对收集的eMule资源进行分析与处理;eMule网络访问过程模拟模拟节点与eMule网络的访问过程,获取受众信息;Peers节点列表提取与处理对eMule网络的返回信息进行处理,获取eMule网络返回的Peers节点列表信息,并通过与Peer进行连接,获取Peer节点的状态信息;系统参数设置与读取模块对系统的运行参数进行设置,并且可以根据需要读取指定的参数;操作帮助对系统可进行的操作进行说明的模块。本发明方法采用以下步骤实现(1)获取eMule资源。获取eMule资源的方式有以下2种从互联网上自动获取eMule资源首先从系统中读取eMule资源在网页中的匹配关键字,一般为'^ahref-"ed2k:〃",以进行后续的比较,再从系统设置信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并使用文本方式打开,对文本中的内容从前到后根据已读取的eMule资源匹配关键字进行单词匹配,一旦发现有匹配位置,则将该匹配位置的后续信息作为eMule资源的链接地址进行保存。为了加快eMule资源获取速度,这个步骤需要采用多线程方式进行工作,所以在保存eMule资源的同时可以继续进行后续内容的匹配、下载操作。为了达到效率最大化,可同时进行的线程数需要可以在系统中进行配置,考虑到获取eMule资源的效率和计算机的负载情况,我们规定线程数的配置范围为5-20。配置时由操作人员根据计算机的配置情况,首先将线程数配置信息设为5,开始获取eMule资源,判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数配置信息加l,重新开始获取eMule资源,并判断计算机系统的CPU占用率是否达到了80。/Q,重复上述步骤,直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止。在系统对当前网页信息进行匹配搜索时,一旦发现有链接标签<a></a>,则将链接标签中的链接地址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后,从未处理队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的链接地址为空为止。从eMule服务器上自动获取eMule资源对于在互联网上搜索不到的特定文件的eMule资源,可以通过在eMule服务器上进行搜索的方法获得,获取时,根据eMule的公开协议,模拟eMule客户端与eMule服务器之间的査询交互过程,向eMule服务器发送查询数据包,eMule服务器接收到该査询命令后,在自有的服务器上进行搜索,并向eMule客户端返回搜索结果,返回时的搜索结果以eMule资源列表的方式进行组织。在用户界面上点击eMule资源收集按钮,系统自动调用eMule资源收集模块,该模块包括2部分功能从互联网上自动获取eMule资源首先从系统中读取eMule资源在网页中的匹配关键字为"<311^^'^32]^://",再从系统设置信息中读取搜索起始地址为http://www.verycd.com/,获取的eMule资源数量为9837个。从eMule服务器上自动获取eMule资源首先在查询编辑框中输入要査询的关键字为"007",点击查询按钮,获取的eMule资源数量为309个。(2)eMule资源的分析处理。对于通过eMule资源收集器获取的eMule资源,需要对其进行分析,得到eMule资源中所包含的有效信息,包括文件名、文件大小、文件Hash值、来源地址、端口号信息、完整的HashSet信息。将这些信息存储到数据库中,在通过仿真客户端进行"受众信息"获取时,可以根据指定的查询条件快速査找相关的eMule资源。由于eMule资源信息是一串字符串,字符串的内容格式是ed2k:/Zlfileh:文件名y〈文件大小〉K文件hash值一p《hashse糾/沐源,〈IP:端口〉1/。分析时对获取的字符串进行分析,关键字File后表示的是文件名信息,紧接着文件名信息后的内容是文件大小信息,文件大小后的信息是文件Hash值,关键字"P-"后的内容是文件完整的HashSet信息,这样可以保证文件的正确性,有利于新文件和稀有文件的传播,关键字"来源"后的内容是来源的IP地址和端口号信息。在用户界面上点击eMule资源分析处理按钮,系统自动调用eMule资源分析处理模块,该模块对于已经获取的eMule资源,对其进行分析、处理,得到eMule资源中所包含的有效信息,这些有效信息包括文件名、文件大小、文件Hash值、来源地址、端口号信息、完整的HashSet信息,并将这些信息存储到数据库中。成功处理的eMule资源数量为10146个,成功存储这些数据后的数据库大小为L33M。(3)eMule网络访问过程模拟。对于eMule来说,可以利用eMule资源査询并获取特定文件共享的Peers节点列表,即受众信息。由于eMule软件都釆用特定协议实现Peers节点之间通信,因此需要采用仿真客户端方法来连接eMule网络,以获取共享特定文件的Peers节点列表信息。当eMule仿真客户端启动时,会直接连接到eMule网络中,服务器提供给仿真客户端一个客户端ID,但是只有在任务列表中存在需要下载文件的任务时,才会与eMvile网络进行下一步的交互。当需要在eMule网络中进行文件下载时,首先根据当前仿真客户端所连接的eMule网络类型进行交互模拟,eMule网络类型分为2种Ed2k网络和Kad网络。Ed2k网络访问过程模拟首先根据eMule资源中的文件Hash值仿造真实的网络链接请求信息向Ed2k网络服务器发起査询请求,Ed2k网络服务器接收到当前查询请求后,根据Ed2k网络协议在Ed2k网络中査询可提供下载eMule资源对应文件的节点信息,节点列表信息使用TCP数据包返回给仿真客户端。Kad网络访问过程模拟首先根据eMule资源中的文件Hash值仿造真实的网络链接请求信息向Kad网络的起始节点发起査询请求,Kad网络的起始节点接收到当前査询请求后,根据Kad网络协议在Kad网络中査询可提供下载eMule资源对应文件的节点信息,节点列表信息使用UDP数据包返回给仿真客户端。由于Ed2k网络和Kad网络每次只随机选择一部分节点信息返回给仿真客户端,仿真客户端不能通过一次查询获取eMule网络上参与文件传输的所有节点信息。因此,本步骤在实施时可采用分布式系统结构,通过部署多个仿真客户端,每个仿真客户端向eMule网络提交多次查询请求,进而可以获得参与文件传输的所有节点信息。在用户界面上点击"eMule网络访问过程模拟"按钮,系统自动调用"eMule网络访问过程模拟"模块,该模块通过对数据库中已处理的eMule资源进行操作,总共获取到10146个返回数据包。(4)Peers节点列表提取与处理。eMule仿真客户端获取到Ed2k网络和Kad网络的返回信息后,根据eMule协议和Kad协议对返回数据包进行分析,得到可进行当前eMule资源对应文件下载的Peer节点列表信息,每个Peer节点信息包含客户端ID和端口号,这些节点列表信息在数据包中按协议规范进行组织。当仿真客户端收到Ed2k网络和Kad网络的返回信息数据包后,将数据包按照协议规范进行分解,得到Ed2k网络和Kad网络的节点列表信息。eMule网络的节点列表返回信息的数据包格式如下表所示:<table>tableseeoriginaldocumentpage10</column></row><table>得到Ed2k网络和Kad网络返回的节点列表信息后,对所有节点节点信息进行重新组织-将重复的节点删除,并将节点按照客户端ID进行排序。最后对整理后的节点信息进行链接,获取该节点的状态信息,包括是否可用、传输速率和对资源的拥有情况。当仿真客户端获得节点列表后,根据eMule协议规范,对于每个节点,使用该节点的客户端ID和端口号生成仿真握手数据包,并向该节点发出握手请求,以建立用于数据传输的TCP链接。与节点之间的链接建立起来后,仿真客户端模拟eMule协议中的数据请求数据包,并向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的数据量进行统计、取时间平均值,可得出该TCP链接的传输速率和节点状态信息。对于收集的eMule资源信息和受众信息,形成了完整的受众监控信息,但是由于在收集信息的过程中没有进行过滤,所以在所收集数据中包含冗余和重复信息,需要对己收集的数据进行过滤对于重复的数据只保留一条,以标准的数据格式存入受众数据库,保证受众数据库中数据的惟一性、一致性和完整性。在用户界面上点击"Peers节点列表提取与处理"按钮,系统自动调用"Peers节点列表提取与处理"模块,该模块通过对已获取的数据包进行处理,总计获得958533个节点,实际可用节点为567395个,其余节点为不可连接节点。在有条件的环境下,可以采用分布式部署结构,可以获得更多的节点信息。1权利要求1、一种基于eMule的主动式特定信息传播监测方法,其特征在于包括下述步骤(a)以两种方式获取eMule资源(1)从互联网上获取eMule资源时,先从系统中读取eMule资源在网页中的匹配关键字“&lt;ahref=″ed2k://”,再从系统设置信息中读取搜索起始地址,将该地址所指定的网页信息读取到本地并使用文本方式打开,对文本中的内容根据已读取的eMule资源匹配关键字进行单词匹配,将该匹配位置的后续信息作为eMule资源的链接地址进行保存,同时进行5~20的线程数配置,即先将线程数配置信息设为5,开始获取eMule资源,判断计算机系统的CPU占用率是否达到80%,如果没有达到,则将线程数配置信息加1,直到计算机系统的CPU占用率达到80%或者线程数配置信息达到20为止;系统对当前网页信息进行匹配搜索,发现有链接标签&lt;a&gt;&lt;/a&gt;,将链接标签中的链接地址作为后续需要处理的地址信息存放到未处理队列中,当前网页信息处理完成后,从未处理队列中读取出该队列的第一个地址重复上述的匹配处理操作,直到未处理队列中的链接地址为空为止;(2)从eMule服务器上获取eMule资源时,根据eMule的公开协议,模拟eMule客户端与eMule服务器之间的查询交互过程,向eMule服务器发送查询数据包,eMule服务器接收到该查询命令后,在自有的服务器上进行搜索,并向eMule客户端返回搜索结果,返回时的搜索结果以eMule资源列表的方式进行组织;(b)对eMule资源收集器获取的eMule资源进行分析,得到eMule资源中所包含的有效信息,包括文件名、文件大小、文件Hash值、来源地址、端口号信息、完整的HashSet信息,并将这些信息存储到数据库中,在通过仿真客户端进行“受众信息”获取时,根据指定的查询条件快速查找相关的eMule资源;(c)采用仿真客户端方法来连接eMule网络,以获取共享特定文件的Peers节点列表信息,eMule仿真客户端启动,连接到eMule网络,服务器提供给仿真客户端一个客户端ID,在任务列表中存在需要下载文件的任务时,根据当前仿真客户端所连接的eMule网络类型Ed2k或者Kad进行交互模拟;根据eMule资源中的文件Hash值仿造真实的网络链接请求信息向Ed2k或者Kad网络服务器发起查询请求,Ed2k或者Kad网络服务器接收到当前查询请求后,根据Ed2k或者Kad网络协议在Ed2k或者Kad网络中查询可提供下载eMule资源对应文件的节点信息,节点列表信息使用TCP数据包返回给仿真客户端;采用分布式系统结构,通过部署多个仿真客户端,每个仿真客户端向eMule网络提交多次查询请求,进而可以获得参与文件传输的所有节点信息;(d)eMule仿真客户端获取到Ed2k网络和Kad网络的返回信息后,根据eMule协议和Ed2k或者Kad协议对返回数据包进行分析,得到当前eMule资源对应文件下载的Peer节点列表信息,每个Peer节点信息包含客户端ID和端口号,这些节点列表信息在数据包中按协议规范进行组织;当仿真客户端收到Ed2k网络或者Kad网络的返回信息数据包后,将数据包按照协议规范进行分解,得到Ed2k网络或者Kad网络的节点列表信息;得到Ed2k网络或者Kad网络返回的节点列表信息后,对所有节点节点信息进行重新组织,将重复的节点删除,并将节点按照客户端ID进行排序,对整理后的节点信息进行链接,获取该节点的状态信息;当仿真客户端获得节点列表后,根据eMule协议规范,对于每个节点,使用该节点的客户端ID和端口号生成仿真握手数据包,并向该节点发出握手请求,建立用于数据传输的TCP链接,与节点之间的链接建立起来后,仿真客户端模拟eMule协议中的数据请求数据包,并向该节点发送,同时接收该节点的返回数据包,通过固定时间段的发送与接收,对接收到的数据量进行统计、取时间平均值,得出该TCP链接的传输速率和节点状态信息,对于收集的eMule资源信息和受众信息,形成了完整的受众监控信息,但是由于在收集信息的过程中没有进行过滤,对于重复的数据只保留一条,以标准的数据格式存入受众数据库。全文摘要本发明公开了一种基于eMule的主动式特定信息传播监测方法,从互联网或者服务器上获取eMule资源,对eMule资源收集器获取的eMule资源进行分析,得到eMule资源中所包含的有效信息,采用仿真客户端方法来连接eMule网络,根据eMule协议和Ed2k或者Kad协议对返回数据包进行分析,获取该节点的状态信息。由于通过模拟EMule客户端向EMule网络发送仿真数据包,并对返回的数据包进行分析,有效地解决了EMule特定信息传播及其受众的监测问题,为网络安全监管部门提供了受众信息监测与取证手段,同时为网络安全态势宏观分析和预警预报提供了基础数据和决策依据。文档编号H04L12/58GK101577626SQ20091002286公开日2009年11月11日申请日期2009年6月5日优先权日2009年6月5日发明者丁军平,曾云令,蔡皖东申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1