版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1/1BT下载过程解析摘要:
BT是目前最热门的下载方式之一。
就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上,该软件相当的特殊,一般我们下载档案或软件,大都由HTTP站点或FTP站台下载,若同时间下载人数多时,基于该服务器频宽的因素,速度会减慢许多,而该软件却不同,恰巧相反,同时间下载的人数越多你下载的速度便越快,因为它采用了多点对多点的传输原理。
本文将具体分析在BT中利用Sniffer对数据监听的,从中分析出BT下载所占带宽。
并通过对HTTP代理对应用层协议进行过滤实现对BT的封杀的过程。
关键词:
BT、Tracker、HTTP代理一什么是BT定义BT是目前最热门的下载方式之一,它的全称为BitTorrent简称BT,中文全称比特流,但很多朋友将它戏称为变态下载。
BitTorrent(简称BT,俗称BT下载、变态下载)是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。
其特点简单的说就是:
下载的人越多,速度越快。
BitTorrent下载工具软件可以说是一个最新概念P2P的下载工具、它采用了多点对多点的原理,一般简称BT(BitTorrent)也就是大家所说的变态下载。
该软件相当的特殊,一般我们下载档案或软件,大都由HTTP站点或FTP站台下载,若同时间下载人数多时,基于该服务器频宽的因素,速度会减慢许多,而该软件却不同,恰巧相反,同时间下载的人数越多你下载的速度便越快,因为它采用了多点对多点的传输原理。
二BT下载过程解析传统的文件下载服务如FTP或者HTTP都有一个提供FTP或HTTP应用程序的服务器,该服务器存放用户需要的文件;一般用户作为客户端,使用FTP或HTTP客户端程序主动连接服务器,在获得授权后即可从服务器下载文件。
这种典型的客户端/服务器模式对于文件的合法性、安全性可以很好的控制,但有致命的缺点,当有多个用户同时访问服务器时,由于服务器的性能因素、服务器连接广域网出口的带宽因素等,会导致用户的访问速度急速下降。
另外,在客户端/服务器模式下用户主要使用网络的下行带宽,即从服务器到用户主机的带宽,而上行带宽即从用户主机到服务器的带宽利用率非常低,造成了带宽资源的浪费。
在BT世界中,所有用户同时扮演客户端和服务器双重角色,当下载的时候,同时使用上行带宽将已经下载的文件部分传送到其他用户;BT同时应用多进程技术,可以从多个下载源也称为种子的用户主机上同时进行多个下载。
因此,下载的用户越多,也即种子越多,从而下载的速度就越快。
BT应用中需要Web服务器和Tracker服务器。
Web服务器只负责torrent文件的发布,Tracker服务器用于管理BT客户端的连接,两种服务器并不需要存放下载文件,因此不会在服务器和用户主机间产生下载流量;而用户之间则建立直接端到端的TCP连接,用于传输文件内容。
BT下载过程可以分为三个阶段:
一是从Web服务器获取torrent文件阶段,二是从Tracker服务器下载种子列表以及反向连接验证阶段,三是BT客户端之间数据传输阶段。
第一阶段和普通的HTTP访问Web页面完全一样,没有明显的特征,但是有经验的网络管理员可以判断出哪些热门Web站点会发布torrent文件,从而在某些场合可以通过禁止这些Web站点的访问来禁止BT。
第二阶段一般也采用HTTP的形式进行,Tracker服务器使用的端口通常是TCP的81、82、6969、8000、8001、8080,Tracker通过HTTP的GET命令参数来接收信息,而响应给客户端的是Bencoded编码的消息,在HTTP请求的报文中携带了BT的特征数值User-Agent:
BitTorrent,通过这些可以识别出BT客户端和Tracker服务器通信的数据流。
BT下载过程的前两个阶段是下载的准备阶段,此过程中的数据流量较小,但信息很关键,禁止这些数据流的通信则意味着BT下载无法进行,因此通过这些数据包的特征识别出BT业务流在很多场合无法使用。
第三阶段是BT客户端之间的数据传输阶段,也是真正的下载阶段。
在下载阶段BT客户端之间会端到端的建立连接,并且一直维持到一块数据的完成再拆除连接。
早期的BT应用程序默认的使用TCP的传输端口6881~6889,这时可以简单的根据端口号来识别一个BT流。
但最新的BT应用程序为了防止被探测而允许用户随意修改TCP的端口号,因而基于传输层端口号的识别方法不再有效。
三、BT下载的危害3.1、对硬盘的损害BT三大指控:
高温、重复读写、扇区断块。
Bittorrent下载是宽带时代新兴的P2P交换文件模式,各用户之间共享资源,互相当种子和中继站,俗称BT下载。
由于每个用户的下载和上传几乎是同时进行,因此下载的速度非常快。
不过,开发BT的人因为缺乏对维护硬盘的考虑,使用了很差的HASH算法,它会将下载的数据直接写进硬盘(不像FlashGet等下载工具可以调整缓存,到指定的数据量后才写入硬盘),因此造成硬盘损害,提早结束硬盘的寿命。
此外,BT下载事先要申请硬盘空间,在下载较大的文件的时候,一般会有2~3分钟时间整个系统优先权全部被申请空间的任务占用,其他任务反应极慢。
有些人为了充分利用带宽,还会同时进行几个BT下载任务,此时就非常容易出现由于磁盘占用率过高而导致的死机故障。
因为BT对硬盘的重复读写动作会产生高温,令硬盘的温度升高,直接影响硬盘的寿命。
而当下载人数愈多,同一时间读取你的硬盘的人亦愈多,硬盘大量进行重复读写的动作,加速消耗。
基于对硬盘工作原理的分析可以知道,硬盘的磁头寿命是有限的,频繁的读写会加快磁头臂及磁头电机的磨损,频繁的读写磁盘某个区域更会使该区温度升高,将影响该区磁介质的稳定性还会导至读写错误,高温还会使该区因热膨涨而使磁头和碟面更近了(正常情况下磁头和碟面只有几个微米,高温膨胀会让磁头更靠近碟面),而且也会影响薄膜式磁头的数据读取灵敏度,会使晶体振荡器的时钟主频发生改变,还会造成硬盘电路元件失灵。
任务繁多也会导至ide硬盘过早损坏,由于ide硬盘自身的不足,过多任务请求是会使寻道失败率上升导至磁头频繁复位(复位就是磁头回复到0磁道,以便重新寻道)加速磁头臂及磁头电机磨损。
因此有些人形容,BT就像把单边燃烧的柴枝折开两、三段一起燃烧,大量的读写动作会大大加速硬盘的消耗,燃烧硬盘的生命。
其次,同时因为下载太多东西,使扇区的编排混乱,读写数据时要在不同扇区中读取,增加读写次数,加速硬盘消耗。
3.2、对网络带宽的损害当前,以BitTorrent(以下简称BT)为代表的P2P下载软件流量占用了宽带接入的大量带宽,据统计已经超过了50%。
这对于以太网接入等共享带宽的宽带接入方式提出了很大的挑战,大量的使接入层交换机的端口长期工作在线速状态,严重影响了用户使用正常的Web、E-mail以及视频点播等业务,并可能造成重要数据无法及时传输而给企业带来损失。
因此,运营商、企业用户以及教育等行业的用户都有对这类流量进行限制的要求。
BT将会占用太多的网络资源,从而有可能在接入网、传输网、骨干网等不同层面形成瓶颈,造成资源紧张,这似乎也是目前运营商包括网通、长宽等封掉BT端口的最大理由。
3.3、助长了病毒的传播2005年11月17日,公安部公共信息网络安全监察处许剑卓处长在天津AVAR2005大会上做了《中国网络犯罪现状》的报告,报告指出,通过计算机病毒和木马进行的黑客行为是计算机网络犯罪的主要根源。
调查情况表明,计算机病毒除了通过常规的电子邮件等途径传播外,目前网络上盛行的P2P软件成为计算机病毒和木马传播的主要途径。
这些病毒和木马对企业的安全形成巨大的挑战。
3.4、可能面临着版权侵害的风险FredLawrence是一个美国普通老人,因为自己孙子的缘故惹来了美国电影协会(MPAA)的大麻烦。
Lawrence的孙子通过iMeshP2P服务在家中的电脑下载并分享了4部电影,美国电影协会通过IP地址找到了他和他的电脑,并以侵犯版权为由要求老人为此在18个月中付出4000美元的罚金;54现在国内外都在严厉打击盗版,不排除版权作者或机构通过各种网络跟踪技术来找到非法进行P2P下载的用户,并提起诉讼或者其他赔偿要求;如果企业员工进行了这些行为,可能由此对企业的形象造成极大负面影响,并可能使得企业遭受其他损失!此外,员工可能通过BT等下载一些色情、反动、暴力的等违法的信息,这些信息可能被公安机关检测到,由此可能给员工和企业带来法律风险。
四管住局域网内的BT下载BT下载以其独特的优势受到广大用户的喜爱,它在下载的同时还为其他用户提供上传,因此下载的人越多,它的速度越快。
不过,麻烦也随之而来,如果多个用户同时使用BT进行下载,会占用大量网络带宽,严重影响其他用户的正常工作。
我们可以严格限制用户的BT下载流量或完全禁止BT下载。
4.1限制带宽BT之所以会危害到局域网,是因为它占用了大量网络带宽。
因此,限制每个用户使用的网络带宽,可以明显缓解BT对网络的危害。
笔者以大家常用的代理软件CCProxy为例,对用户带宽进行限制。
在服务器端的CCProxy主窗口中,点击账号按钮,弹出账号管理对话框,在属性栏的允许范围中选择允许部分,接着点击新建按钮,弹出账号对话框。
接下来,限制IP地址为2的客户机的带宽。
在IP地址/IP段中输入该IP地址(图1),然后设置最大连接数,默认为-1,就是不进行任何限制,在此输入5,这样客户机只能和代理服务建立5个连接,也就可以限制BT下载时使用的线程数。
接着在带宽(字节/秒)栏中为客户设置最大的网络带宽,如限制为100KB/s,则可输入102400,最后点击确定按钮。
这样该客户机只能使用100KB/s的带宽,而且它和代理服务器最多只能建立5个连接。
其它客户机的限制方法与此相同,不再赘述。
(图1)4.2彻底封闭BT下载解决BT对局域网的危害,最彻底的方法是不允许进行BT下载,BT一般使用TCP的6881~6889的端口。
由于个人网络防火墙只能封闭本机的BT端口,对局域网用户无效,笔者就采用ISA2004封闭BT端口。
在ISA控制台窗口中,右键点击防火墙策略,选择新建访问规则,弹出访问规则向导对话框,在访问规则名称栏中输入禁用BT,点击下一步按钮后,选择拒绝选项,接着在协议对话框中选择所选的协议。
点击添加按钮,在添加协议对话框中点击新建协议,弹出协议定义向导对话框,在名称栏中输入BT,点击下一步按钮,进入首要连接信息对话框。
点击新建,弹出新建/编辑协议连接对话框(图2),在协议类型中选择TCP,选择方向为入站,端口范围为从6881到6889,然后点击确定按钮,接下来一路点击下一步按钮,即可完成BT协议的定义。
(图2)接着在添加协议对话框中展开用户定义,并添加BT协议(图3),点击下一步按钮后,指定访问规则源。
点击添加按钮,弹出添加网络实体对话框,展开网络目录,选择内部。
点击添加按钮,接着点击下一步按钮,设置访问规则目标,在网络实体对话框中展开网络目录,添加外部,然后进入用户集对话框,选择所有用户并点击完成按钮。
(图3)最后在防火墙策略窗口中选中这一规则,并点击上方的应用按钮(图4)。
这样局域网内的用户就不能进行BT下载了。
但该方法也有不足之处,如果BT软件使用的不是6881~6889的端口,该规则就会失效。
由于BT端口是可改变的,所以一旦BT下载端口发生改变,你就得立即查到新的端口,并将它封掉。
(图4)加载PDLM模块使用Cisco公司出品的PDLM模块可以省去我们配置路由策略的工作,封锁效果非常好。
上文介绍的两种方法,一个是对数据包的目的地址进行封锁,一个是对数据包使用的端口进行封锁,虽然在一定范围内有效,但不能起到全面禁止BT的作用,通过PDLM+NBAR的方法来封锁BT就存在这个问题了。
Cisco在其官方网站上提供了三个PDLM模块,分别为KAZAA2.pdlm,bittorrent.pdlm和emonkey.pdlm,可以用来封锁KAZAA、BT、电驴。
在此我们以封锁BT下载为例。
建立一个TFTP站点,将bittorrent.pdlm复制到该站点,在核心路由器中使用ipnbarpdlmtftp://TFTP站点的IP/bittorrent.pdlm命令加载bittorrent.pdlm模块。
接下来设置路由策略,具体命令如下:class-mapmatch-anybitBITmatchprotocolbittorrent准!policy-maplimit-bit//创建一个POLICY-MAP名为LIMIT-BITclassbit//要求符合刚才定义的名为BIT的CLASS-MAPdrop//如果符合则丢数据包!interfacegigabitEthernet0/2//进入网络出口那个接口service-policyinputlimit-bit//当有数据包进入时启用LIMIT-BIT路由策略service-policyoutputlimit-bit//当有数据包出的时候启用LIMIT-BIT路由策略如果不想每次启动路由器时都要手工加载TFTP上的bittorrent.pdlm,可以把这个PDLM文件上传到路由器的Flash中,然后选择TFTP服务器的IP地址即可。
值得提醒大家的是,封锁KAZAA或者是EDONKEY时,在路由器配置中将matchprotocol后的bittorrent替换为KAZAA2或者EDONKEY即可,其他配置和封锁BT一样,通过NBAR加载PDLM模块法封锁BT软件后,已经完全断绝了BT流量,网络速度也恢复到以前的稳定值了。
限制NAT的单用户连接数在CiscoIOS12.3(4)T后的IOS软件上支持NAT的单用户限制,即可以对做地址转换的单个IP限制其NAT的表项数,因为P2P类软件如BT的一大特点就是同时会有很多的连接数,从而占用了大量的NAT表项,因此应用该方法可有效限制BT的使用,比如我们为IP设置最大的NAT表项数为200;正常的网络访问肯定够用了,但如果使用BT,那么很快此IP的NAT表项数达到200,一旦达到峰值,该IP的其他访问就无法再进行NAT转换,必须等待到NAT表项失效后,才能再次使用,这样即有效地保护了网络的带宽,同时也达到了警示的作用。
例如限制IP地址为的主机NAT的条目为200条,配置如下:
ipnattranslationmax-entrieshost200如果想限制所有主机,使每台主机的NAT条目为200,可进行如下配置:
ipnattranslationmax-entriesall-host200使用HTTP代理过滤应用层协议当BT客户端下载时,必须进行Tracker查询,Tracker通过HTTP的GET命令的参数来接收信息,而响应给对方(下载者)的是Bencoded编码的消息。
在HTTP请求报文中,携带了BT的特征值User-Agent:
BitTorrent。
针对该情况,网络管理员可以通过一些安全管理设备以及流量管理设备,甚至网络管理系统软件,过滤特定的应用层数据包(如HTTP数据包),然后根据BT数据包中的关键字(BitTorrent),从HTTP数据包中过滤BT数据包。
控制整体BT下载流量将整体BT下载的流量控制在某个范围内。
如整个校园网络可以使用的BT下载流量设定为1Mbps。
校园网络剩余的其他网络带宽资源可以给关键业务或者其他非关键业务使用,有效地防止BT下载侵吞大量网络带宽资源。
以Cisco设备为例,具体命令为:
access-list130remarkbtaccess-list130permittcpanyanyrange68816890access-list130permittcpanyrange68816890anyrate-limitinputaccess-group13071200080008000conform-actiontransmitexceed-actiondroprate-limitoutputaccess-group13071200080008000conform-actiontransmitexceed-actiondrop限制或禁止在特定时间段内的BT下载校园网络工作时间内限制或者禁止BT下载,这样工作时间内不会有BT下载流量和关键业务竞争,也充分保护了校园网络关键业务。
同时,在非工作时间,校园网络也可以自行利用高速的网络资源。
以Cisco设备为例,具体命令为:
time-rangetestperiodicdaily20:00to23:00access-list130permittcpanyanyrange68816890
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店宴会合同协议书共
- 影视制作与发行合同(2024版)
- 2024年度商务咨询合同企业战略与发展规划3篇
- 2024年二手房买卖合同及相关补充协议7篇
- 滦县租房合同范本
- 2024年度工程设备采购合同技术参数确认书6篇
- 二零二四年度东莞市旧工业区改造高新技术产业园区合同2篇
- 合作续约合同范本
- 智能家居系统安装与维护合同(04版)3篇
- 执业药师合同
- 外科学-第十一章-外科感染(含案例分析)课件
- 走好群众路线-做好群众工作(黄相怀)课件
- 假性甲旁减课件
- 脱硫脱硝除尘技术协议
- 金融经济学二十五讲
- 五年级数学上册期中质量分析课件
- 马丁路德的宗教改革 完整版课件
- 2021年上海市初三英语二模试卷汇总附答案版
- 胸痛中心培训课件
- 社会团体发起人基本情况表+发起单位基本情况表
- 膳食管理委员会每月食堂工作检查记载表
评论
0/150
提交评论