您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于P2SP-技术的迅雷下载干扰方案的设计与实现
技术的迅雷下载干扰方案的设计与实现于树香*作者简介:于树香(1984-),女,硕士,信息安全.E-mail:shuxiang190@163.com(北京邮电大学计算机体系结构中心,北京100876)摘要:迅雷是一款新型的基于P2SP原理的网格技术下载软件,凭借“简单、高速”的下载体验,已经成为中国互联网最流行的应用服务软件之一。本文介绍了P2SP技术原理,并以迅雷客户端下载过程的报文进行解析,该下载过程包括获取节点服务器列表和客户端Peer列表,客户端与Peer之间的下载交互和停止退出,在此基础上,提出了一种针对非加密UDP协议的有效干扰方案,实现了对迅雷下载流量的控制。关键词:P2SP;P2P;Peer列表;干扰中图分类号:TP393.0DesignandImplementationoftheDownloadingDisturbanceSchemeofThunderBasedonP2SPTechnologiesYuShuxiang(ComputerArchitectureCenter,BeijingUniversityofPostsandTelcommunications,Beijing100876)Abstract:ThunderisanewtypeofdownloadingsoftwarebasedonP2SPgridtheory.Withsimple,high-speeddownloadingexperience,ithasbecomeoneofthemostpopularapplicationsoftwaresinChina.ThepaperdescribestheP2SPtechnology,thenanalyzesthepacketsofThunderclientdownloadingprocesswhichincludesaccessingnodeserverslistandPeerslist,clientandserverdownloadinginteraction,stoppingorexiting,eventuallyproposesaneffectivedisturbanceoftheunencryptedUDPprotocoltoachieveitsflowcontrol.Keywords:P2SP;P2P;Peerslist;disturbance1引言随着以TCP/IP技术为基础的互联网的快速发展,网络的结构日益复杂,网络的安全性、可管理性及传统应用受到了挑战。网络新应用层出不穷,网络结构从传统的C/S、B/S模式,逐渐转向P2P结构的应用模型。网络应用从以前简单的、消耗网络带宽很少的简单页面浏览、电子邮件、文字聊天等转变为文件下载,高清晰音视频传输、VOIP电话、P2P电影等数据流量激增的各种应用。通过网络人们的沟通、工作、娱乐以及各种商务活动等都变得更为便捷,然而与此同时,网络暴露的各种问题也越来越多。各种P2P,P2SP应用占用了大量的宽带资源,在增加运营商运营成本、造成网络带宽急剧消耗的同时,还引起了很多知识产权问题。针对这些问题,各级网络监管部门加大了对网络流量的监管力度,各网络运营商也在积极寻找一些新的技术手段对网络上的各种流量进行有效的管理。在此基础上本文针对基于P2SP原理的迅雷下载软件的下载过程进行分析,并提出了一种有效的控制迅雷下载流量的干扰方案。(PeertoPeer),用户对用户,即对等计算或对等网络,可以简单的定义成通过直接交换,共享计算机资源和服务。在P2P网络环境中,彼此连接的计算机均处于对等的地位,每台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。通常这些资源和服务包括信息的共享与交换、计算资源的共享使用、存储资源的使用等[1]。P2SP全称是PeertoServer&Peer,用户对服务器和用户,不同于P2P,也不同于P2S(PeertoServer),P2SP下载方式实际上是对P2P技术的进一步延伸,它不但支持P2P技术,同时还通过多媒体检索数据库这个桥梁把原本孤立的服务器资源和P2P资源整合到一起。在传统的传输技术中用户一次只能连接一个服务器进行下载,而P2SP技术能搜索某一内容在其他服务器上镜像并将其存储于数据库中,用户能同时从多个服务器上下载内容[2],如图1所示。在P2SP中通过引入服务器作为资源数据来源的方法,避免了P2P中资源提供不稳定的问题。迅雷是P2SP的典型代表,它利用独特的“多媒体搜索引擎技术”,不再是单纯的服务器多线程下载或者单纯的P2P内容传递,而是把所有P2P资源与原本孤立的服务器及其镜像资源进行整合,可以同时从多个服务器端下载文件,这样下载速度更快,同时下载资源更丰富,下载稳定性更强。图1P2SP技术原理图2.2P2SP应用的工作原理P2SP应用包括两部分,第一部分是P2S,即PeertoServer,属于传统的C/S体系结构,第二部分是P2P,即PeertoPeer,也就是P2P体系结构,P2SP应用通过资源服务器将C/S和P2P两种体系结构进行了整合。首先明确,资源服务器是指专门用于自动收集存储资源信息和向客户端发放所需拥有资源的地址列表,节点服务器是指拥有该资源并可以提供下载的HTTP或FTP服务器。基于P2SP文件下载应用的一般工作流程如下:应用的工作原理图(1)客户端在因特网上得到下载资源的链接,链接可以通过下载软件站点获取,比如天空软件站,也可以通过资源搜索引擎获取,比如迅雷旗下的狗狗。我们称这个链接所指向的资源为原始资源。客户端通过HTTP或者FTP请求原始资源,从原始资源地址获取数据。(2)客户端根据原始资源的名称、大小等信息计算其HASH值,此HASH值能够唯一地标识该资源。然后通过HASH值向资源服务器发出请求,请求因特网上具有该资源的其他节点服务器列表和在线的客户端列表。资源服务器分别返回这两种地址列表。(3)客户端向节点服务器发起请求,从这些节点服务器获取数据,进行P2S下载。(4)客户端向其他客户端发起请求,从这些在线客户端获取数据,进行P2P下载。可以发现,P2SP下载实际上是一种多资源多协议下载方式,可以博采众长,因而具有很高的下载速度和稳定性[3]。本文主要针对图2中的过程(2)获取节点服务器列表和客户端Peer列表,过程(4)客户端与Peer之间的下载交互过程和停止退出过程进行详细分析,并提出了一种针对迅雷下载过程的干扰方案。3迅雷下载过程的分析我们通过使用开源的抓包工具Wireshark,对迅雷底层传输的大量现网数据包进行捕获和分析,进而得出迅雷的大致工作原理与细节。由于迅雷客户端与原始链接服务器、节点服务器的下载过程均采用标准的HTTP或者FTP协议进行数据的TCP传输,在此不再赘述,我们重点关注非标准HTTP/FTP下载。我们对迅雷软件的下载流程的分析分为获取节点服务器列表和客户端Peer列表分析、与Peer之间的下载交互过程分析、停止退出过程分析三部分。3.1获取节点服务器列表和Peer列表过程分析在点击下载资源时,迅雷界面上会显示下载资源的原始链接地址,即图3中的标红地址。中国科技论文在线对于资源的引用地址,选中下载资源点击右键,选择“浏览引用页”,可以看到该资源的引用地址。我们以下载资源“波斯王子时之刃.2010.TS-RMVB.rmvb”为例来说明原始链接地址。图3迅雷下载资源的原始链接地址以下采用提取数据报文中内容来进行解析,左侧为行号,中间为十六进制数据内容,右侧为对应的ASCII码值,后文相同,不再提及。00e000000000000048000000687474703a2f......H...http:/00f02f73686f702e79756e646f6e676b652e/shop.yundongke.0100636f6d2f7261722fe6b3a2e696afe78ecom/rar/........01108be5ad90efbc9ae697b6e4b98be58883................01202e323031302e54532d524d56422e726d.2010.TS-RMVB.rm01307662vb其中的0x48000000,小字节序表示下载资源链接地址的长度,十进制为72字节;其后续的72字节为下载资源原始链接地址:。3.1.1获取节点服务器列表过程分析以下载软件QQ2010beta3.exe为例,客户端向迅雷资源服务器请求节点服务器HTTP链接地址的POST报文包含:资源ID,资源的原始链接地址,引用地址,PeerID等。其中资源ID是迅雷为每个资源分配20字节长度来标识该资源,PeerID为16字节长度的字符串,来标识客户端的唯一性。迅雷资源服务器返回包含节点服务器链接地址列表的报文,部分内容如下图4。其中蓝色的四个字节为节点服务器地址的长度字段,红色字节为下载链接地址,图中只截取了三个HTTP链接地址。Ox36000000,小字节序表示第一个节点服务器地址的长度为54字节,之后的54字节为第一个HTTP链接地址。客户端获取HTTP链接地址后,会尝试和这些节点服务器地址建立HTTP连接,开始下载数据。列表,包含Peer的PeerID,IP地址,端口等信息,本地客户端则可以向在线的Peer端相应的端口请求连接并下载数据,以加速迅雷资源的下载。获取Peer列表主要通过HTTP协议。迅雷资源服务器返回的Peer列表部分内容如下:004090a2980992295a780000002600000010.....)Zx...&....005000000030303031324532353335444256...00012E2535DBV00605a55490000000070512e2a5000983a08ZUI........P..:.00704b6b7000002600000010000000303030Kkp..&.......00000803235423030424146334f37463400000025B00BAF3O7F4...00900075135cf15f2efc1f084b6bf0000026.....2,.$.Kk...&其中0x26000000,表示Peer信息的长度字段,为38字节;0x10000000为PeerID的长度字段,为16字节;0x303030313245323533354442565a5549为第一个PeerID,对应的ASCII码值为:00012E2535DBVZUI。第二个PeerID为00025B00BAF3O7F4。0x70512e2a该四字节表示第一个Peer的IP地址,即为112.81.46.42;0x5000,小字节序表示第一个Peer的TCP监听端口80;0x983a,小字节序表示第一个Peer的UDP监听端口,为15000。其他的Peer信息的格式相同。3.2客户端与Peer之间的下载交互过程分析3.2.1迅雷的CFG文件分析迅雷为每一个正在下载的资源生成一个td.cfg文件,命名为“资源名称.td.cfg”,放置在下载资源的保存路径下。CFG文件是日志文件,保存资源下载的一些信息[4]。当资源下载
本文标题:基于P2SP-技术的迅雷下载干扰方案的设计与实现
链接地址:https://www.777doc.com/doc-6288298 .html