《BT下载过程解析.docx》由会员分享,可在线阅读,更多相关《BT下载过程解析.docx(13页珍藏版)》请在课桌文档上搜索。
1、BT下载过程解析摘要:BT是目前最热门的下载方式之-就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上,该软件相当的特别,一般我们卜载档案或软件,大都由HTTP站点或FTP站台下载,若同时间下载人数多时,基于该服务器频宽的因素,速度会减慢很多,而该软件却不同,恰巧相反,同时间卜载的人数越多你下载的速度便越快,因为它采纳了多点对多点的传输原理.本文将详细分析在BT中利用Sniffer对数据监听的,从中分析出BT下载所占带宽。并通过对HTTP代理对应用层协议进行过滤实现对BT的封杀的过程。关键词:BT、Tracker、HTTP代理一什么是
2、BT定义BT是目前最热门的卜载方式之一,它的全称为BitTorrent简称BT,中文全称比特流,但很多挚友将它戏称为变态下载。BitTorrent(简称BT,俗称BT下载、变态卜戢)是一个多点下载的源码公开的P2P软件,运用特别便利,就像一个阅读器插件,很适合新发布的热门卜载。其特点简洁的说就是:卜载的人越多,速度越快。BitTorrent下载工具软件可以说是一个最新概念P2P的下载工具、它采纳了多点对多点的原理,一般简称BT(BitTO门ent)也就是大家所说的变态下教。该软件相当的特别,一般我们下载档案或软件,大都由HTTP站点或FTP站台下载,若同时间下载人数多时,基于该服务器频宽的因素
3、,速度会减慢很多,而该软件却不同,恰巧相反,同时间下载的人数越多你下载的速度便越快,因为它采纳了多点对多点的传输原理。二BT下载过程解析传统的文件下载服务如FTP或者HTTP都有一个供应FTP或HTTP应用程序的服务器,该服务器存放用户须要的文件:一般用户作为客户端,运用FTP或HTTP客户端程序主动连接服务器,在获得授权后即可从服务器下载文件。这种典型的客户端/服务器模式对于文件的合法性、平安性可以很好的限制,但有致命的缺点,当有多个用户同时访问服务器时,由于服务器的性能因素、服务器连接广域网出口的带宽因素等,会导致用户的访问速度急速下降。另外,在客户端/服务器模式下用户主要运用网络的下行带
4、宽,即从服务器到用户主机的带宽,而上行带宽即从用户主机到服务器的带宽利用率特别低,造成了带宽资源的奢侈。在BT世界中,全部用户同时扮演客户端和服务器双重角色,当下载的时候,同时运用上行带宽将已经下载的文件部分传送到其他用户:BT同时应用多进程技术,可以从多个下载源也称为种子的用户主机上同时进行多个下载。因此,下载的用户越多,也即种子越多,从而下载的速度就越快。BT应用中须要Web服务器和Tracker服务器。Wcb服务器只负责IorrCnl文件的发布,TraCkCr服务器用于管理BT客户端的连接,两种服务器并不须要存放下载文件,因此不会在服务器和用户主机间产生下载流量;而用户之间则建立干脆端到
5、端的TCP连接,用于传输文件内容。BT下载过程可以分为三个阶段:一毡从Web服务器获得torrent文件阶段,二是从TraCker服务器下载种子列表以及反向连接验证阶段,三是BT客户端之间数据传输阶段。第一阶段和一般的HTTP访问Web页面完全一样,没有明显的特征,但是有阅历的网络管理员可以推断出哪些热门Web站点会发布torrent文件,从而在某些场合可以通过禁止这些Web站点的访问来禁止BT。其次阶段一般也采纳HTTP的形式进行,TraCkCr服务器运用的端口通常是TCP的81、82、6969、8000、8001、8080,Tracker通过HrrP的GET吩咐参数来接收信息,而响应给客户
6、端的是Bencoded编码的消息,在HTTP恳求的报文中携带了BT的特征数值USer-Agent:BitTorrent,通过这些可以识别出BT客户端和TraCker服务器通信的数据流。BT下载过程的前两个阶段是下载的打算阶段,此过程中的数据流量较小,但信息很关键,禁止这些数据流的通信则意味着BT下载无法进行,因此通过这些数据包的特征识别出BT业务流在很多场合无法运用。第三阶段是BT客户端之间的数据传输阶段,也是真正的下载阶段。在下载阶段BT客户端之间会端到端的建立连接,并且始终维持到一块数据的完成再拆除连接。早期的BT应用程序默认的运用TCP的传输端口68816889,这时可以简洁的依据端口号
7、来识别一个BT流。但母新的BT应用程序为了防止被探测而允许用户随意修改TCP的端口号,因而基于传输层端口号的识别方法不再有效。三、BT下载的危害3.1、对硬盘的损害BT三大指控:高温、重复读写、扇区断块。Bittorrent下载是宽带时代新兴的P2P交换文件模式,各用户之间共享资源,相互当种子和中继站,俗称BT下载。由于每个用户的下载和上传几乎是同时进行,因此下载的速度特别快。不过,开发BT的人因为缺乏对维护硬盘的考虑,运用了很差的HASH算法,它会将下载的数据干脆写进硬盘(不像FIaShGet等下载工具可以调整缓存,到指定的数据量后才写入硬盘),因此造成硬盘损害,提早结束硬盘的寿命。此外,B
8、T下载事先要申请硬盘空间,在下载较大的文件的时候,一般会有23分钟时间整个系统优先权全部被申请空间的任务占用,其他任务反应极慢。有些人为了充分利用带宽,还会同时进行几个BT下载任务,此时就特别简洁出现由于磁盘占用率过高而导致的死机故障。因为BT对硬盘的重复读写动作会产生高温,令硬盘的温度上升,干脆影响硬盘的寿命。而当下载人数愈多,同一时间读取你的硬盘的人亦愈多,硬盘大量进行重复读写的动作,加速消耗。基于对硬盘工作原理的分析可以知道,硬盘的磁头寿命是有限的,常见的读写会加快磁头臂及磁头电机的磨损,常见的读写磁盘某个区域更会使该区温度上升,将影响该区磁介质的稳定性还会导至读写错误,高温还会使该区因
9、热膨涨而使磁头和碟面更近了(正常状况下磁头和磔面只有几个微米,高温膨胀会让磁头更靠近碟面),而且也会影响薄膜式磁头的数据读取灵敏度,会使晶体振荡器的时钟主频发生变更,还会造成硬盘电路元件失灵。任务繁多也会导至ide硬盘过早损坏,由于ide硬盘自身的不足,过多任务恳求是会使寻道失败率上升导至磁头频繁复位(复位就是磁头回第到O磁道,以便重新寻道)加速磁头臂及磁头电机磨损。因此有.些人形容,BT就像把单边燃烧的柴枝折开两、三段一起燃烧,大量的读写动作会大大加速硬盘的消耗,燃烧硬盘的生命。其次,同时因为下载太多东西,使扇区的编排混乱,读写数据时要在不同扇区中读取,增加读写次数,加速硬盘消耗。3.2、对
10、网络带宽的损害当前,以BitTorrent(以下简称BT)为代表的P2P下载软件流量占用了宽带接入的大量带宽,据统计已经超过了50这对于以太网接入等共享带宽的宽带接入方式提出了很大的挑战,大量的使接入层交换机的端口长期工作在线速状态,严峻影响了用户运用正常的Web、E-mail以及视频点播等业务,并可能造成重要数据无法刚好传输而给企业带来损失。因此,运营商、企业用户以及教化等行业的用户都有对这类流量进行限制的要求。BT将会占用太多的网络资源,从而有可能在接入网、传输网、骨干网等不同层面形成瓶颈,造成资源惊慌,这好像也是目前运营商包括网通、长宽等封掉BT端口的最大理由。3. 3、助长了病毒的传播
11、2005年11月17日,公安部公共信息网络平安监察处许剑咏处长在天津VR2005大会上做了C中国网络犯罪现状的报告,报告指出,通过计算机病毒和木马进行的黑客行为是计算机网络犯罪的主要根源。调杏状况表明,计算机病毒除了通过常规的电子邮件等途径传播外,目前网络上盛行的P2P软件成为计算机病毒和木马传播的主要途径。这些病毒和木马对企业的平安形成巨大的挑战。4. 4、可能面临着版权侵害的风险Fred1.awrence是一个美国一般老人,因为H己孙子的原因惹来了美国电影协会(MPAA)的大麻烦。1.awrence的孙子通过iMeshP2P服务在家中的电脑下载并共享了4部电影,美国电影协会通过IP地址找到
12、了他和他的电脑,并以侵扰版权为由要求老人为此在18个月中付出4000美元的罚金;54ne现在国内外都在严厉打击盗版,不解除版权作者或机构通过各种网络跟踪技术来找到非法进行P2P下载的用户,并提起诉讼或者其他赔偿要求;假如企业员工进行了这些行为,可能由此对企业的形象造成极大负面影响,并可能使得企业遭遇其他损失!此外,员工可能通过BT等下载一些色情、反动、暴力的等违法的信息,这些信息可能被公安机关检测到,由此可能给员工和企业带来法律风险。四管住局域网内的BT下载BT下载以其独特的优势受到广阔用户的宠爱,它在下载的同时还为其他用户供应上传,因此下载的人越多,它的速度越快。不过,麻烦也随之而来,假如多
13、个用户同时运用BT进行下载,会占用大量网络带宽,严峻影响其他用户的正常工作。我们可以严格限制用户的BT下载流量或完全禁止BT下载。5. 1限制带宽BT之所以会危害到局域网,是因为它占用了大量网络带宽。因此,限制每个用户运用的网络带宽,可以明显缓解BT对网络的危害。笔者以大家常用的代理软件CCProxy为例,对用户带宽进行限制。在服务器端的CCProxy主窗口中,点击账号按钮,弹出账号管理对话框,在属性栏的允许范因中选择允许部分,接着点击新建按钮,弹出账号对话框。接下来,限制IP地址为192.168.0.12的客户机的带宽。在IP地址/IP段中输入该IP地址(图1),然后设置最大连接数,默认为T
14、,就是不进行任何限制,在此输入5,这样客户机只能和代理服务建立5个连接,也就可以限制BT下载时运用的线程数。接着在带宽(字节/秒)栏中为客户设置最大的网络带宽,如限制为1OOKBs,则可输入102400,最终点击确定按钮。这样该客户机只能运用100KBs的带宽,而且它和代理服务器最多只能建立5个连接。其它客户机的限制方法与此相同,不再赘述。(图1)4.2彻底封闭BT下载解决BT对局域网的危害,最彻底的方法是不允许进行BT下载,BT一般运用TCP的68816889的端口。由于个人网络防火堵只能封闭本机的BT端口,对局域网用户无效,笔者就采纳ISA2004封闭BT端口。在ISA限制台窗口中,右键点
15、击防火墙策略,选择新建访问规则,弹出访问规则向导对话框,在访问规则名称栏中输入禁用BT,点击下一步按钮后,选择拒绝选项,接着在协议对话框中选择所选的协议。点击添加按钮,在添加协议对话框中点击新建协议,弹出协议定义向导对话框,在名称栏中输入BT,点击下一步按钮,进入首要连接信息对话框。点击新建,弹出新建/编辑协议连接对话框(图2),在协议类型中选择TCP,选择方向为入站,端口范围为从6881到6889,然后点击确定按钮,接下来一路点击下一步按钮,即可完成BT协议的定义。(图2)接着在添加协议对话框中绽开用户定义,并添加BT协议(图3),点击下一步按钮后,指定访问规则源。点击添加按钮,弹出添加网络
16、实体对话框,绽开网络书目,选择内部。点击添加按钮,接着点击下一步按钮,设置访问规则目标,在网络实体对话框中绽开网络目录,添加外部,然后进入用户集对话框,选择全部用户并点击完成按钮。(图3)最终在防火墙策略窗口中选中这一规则,并点击上方的应用按钮(图4)。这样局域网内的用户就不能进行BT下载了。但该方法也有不足之处,假如BT软件运用的不是68816889的端口,该规则就会失效。由于BT端口是可变更的,所以一旦BT下载端口发生变更,你就得马上查到新的端口,并将它封掉。(图4)加载PD1.M模块运用Cisco公司出品的PD1.M模块可以省去我们配置路由策略的工作,封锁效果特别好7上文介绍的两种方法,
17、一个是对数据包的目的地址进行封锁,一个是对数据包运用的端口进行封锁,虽然在确定范围内有效,但不能起到全面禁止BT的作用,通过PD1.M+NBAR的方法来封锁BT就存在这个问题了。Cisco在其官方网站上提供了三个PD1.M模块,分别为KZA2.pdlm,bittorrent,pdlm和emonkey,pdlm,可以用来封锁KAZAABT、电驴。在此我们以封锁BT下载为例。建立一个TFTP站点,将bittorrent.pdlm豆制到该站点,在核心路由器中运用ipnbarpdlmtftpTFTP站点的IP/bittorrent.pdlm吩咐加载bittorrent,pdlm模块。接下来设置路由策略
18、,详细吩咐如下:class-mapmatch-anybitBIT准!policy-maplimit-bit为1.IMlT-BITclassbitBIT的C1.ASS-MAPdropmatchprotocolbittorrent创建一个PO1.ICY-MAP名要求符合刚才定义的名为假如符合则丢数据包!进入网络出口那个接口当有数据包进入时启用interfacegigabitEthernetO/2service-policyinputlimit-bit1.IMIT-BIT路由策略service-policyoutput1imit-bit当有数据包出的时候启用1.IMIT-BIT路由策略假如不想每次启
19、动路由器时都要手工加载TFTP上的bitIorrcnl.pdlm,可以把这个PD1.M文件上传到路由器的Flash中,然后选择TFTP服务器的IP地址即可。值得提示大家的是,封锁KAZ或者是EDONKEY时,在路由器配置中将matchprotocol后的bittorrent替换为KAZA2或者EDoNKEY即可,其他配置和封锁BT一样,通过NBAR加载PD1.M模块法封锁BT软件后,已经完全断绝了BT流量,网络速度也熨原到以前的稳定值了。限制NAT的单用户连接数在CiscoI0S12.3(4)T后的IoS软件上支持NAT的单用户限制,即可以对做地址转换的单个IP限制其NAT的表项数,因为P2P
20、类软件如BT的一大特点就是同时会有很多的连接数,从而占用了大量的NAT表项,因此应用该方法可有效限制BT的运用,比如我们为IPlO.1.1.1设置最大的NAT表项数为200:正常的网络访问确定够用了,但假如运用BT,那么很快此IP的NAT表项数达到200,一旦达到峰值,该IP的其他访问就无法再进行NAT转换,必需等待到NAT表项失效后,才能再次运用,这样即有效地爱护了网络的带宽,同时也达到了警示的作用。例如限制IP地址为10.1.1.1的主机NAT的条目为200条,配置如下:ipnattranslationmax-entrieshost10.1.1.1200假如想限制全部主机,使每台主机的NT
21、条目为200,可进行如下配置:ipnattranslationmax-entriesall-host200运用HTTP代理过滤应用层协议当BT客户端下载时,必需进行TraCker查询,TraCker通过HTTP的GET吩咐的参数来接收信息,而响应给对方(下载者)的是Bencoded编码的消息。在HTTP恳求报文中,携带了BT的特征值User-Agent:BitTorre11to针对该状况,网络管理员可以通过一些平安管理设备以及流量管理设备,甚至网络管理系统软件,过滤特定的应用层数据包(如HTTP数据包),然后依据BT数据包中的关键字(BitTorrent),从HTTP数据包中过滤BT数据包。限
22、制整体BT下载流量将整体BT下载的流量限制在某个范围内。如整个校内网络可以运用的BT下载流量设定为IMbpso校内网络剩余的其他网络带宽资源可以给关键业务或者其他关键业务运用,有效地防止BT下载侵吞大量网络带宽资源。以Cisco设备为例,详细吩咐为:access-list130access-1ist130remarkbtpermittcpanyanyrange68816890access-list130permittcpanyrange68816890anyrate-limitinputaccess-group13071200080008000conform-actiontransmitexc
23、eed-actiondroprate-limitoutputaccess-group13071200080008000conform-actiontransmitexceed-actiondrop限制或禁止在特定时间段内的BT下载校内网络工作时间内限制或者禁止BT下载,这样工作时间内不会有BT下载流量和关键业务竞争,也充分爱护了校内网络关键业务。同时,在非工作时间,校内网络也可以自行利用高速的网络资源。以Cisco设备为例,详细吩咐为:time-rangetestperiodicdaily20:00to23:00access-list130permittcpanyanyrange6881689
24、0time-rangetestaccess-list130permittcpanyrange68816890anytime-rangctestnbsp;保证关键业务专用动态带宽将校内网络关键业务划分到专用动态带宽中间,BT下载运用剩余带宽,避开两者竞争。某些特定校内网络会运用BT下载供应服务。对于这样的校内网络,由于BT下载具有很高的侵略性,因此须要运用爱护机制来保障其他关键业务的正常运行。网络管理员可以通过一些管理软件(如当前国内较为流行的聚生网管之类的)或者网络硬件配置,针对应用流进行较细粒度的速率限制,例如将BT用户下载的优先级限制为5(0最高,7最低),带宽限制为6妹bps。这样可以确
25、保BT软件运用的同时不会影响其他业务的开展,充分爱护这些应用。剩余的网络资源可以全部供应应BT下载运用。关于网络上关于封杀BT问题上的争辩,仁者见仁,智者见智。总的来说,BT是P2P技术在解决大容量文件的问题上是一种很好的解决方案,它代表着网络发展的一种趋势,是网络资源共享的一种倾向。至于如何对待,在不同的单位不同的场合因依据详细状况详细分析,封杀不是唯一的方法,更不是最终的解决方案。6. 0术语表PD1.MPacketDescription1.anguageModule数据包描述语言模块。NATNetworkAddressTranslation网络地址转换IOSInternetworkOperatingSystem网际操作系统HTTPHypertextTransferProtocol超文本传输协议FTPFileTransferProtocol文件传输协议PUBPublic公开的目录