BT的全名叫Bit Torrent (被国内网友昵称为“变态下载”),是一种多点共享协议软件,由美国加州一名叫Bram Cohen的程序员开发出来。BT可在下载的同时,也为其他用户提供上传,所以不会随着用户数的增加而降低下载速度。使用非常方便,很适合新发布的热门下载。其特点简单的说就是:下载的人越多,速度越快。
人人为我,我为人人的机理
通常情况下,下载的工作原理是把文件由服务器端传送到客户端,例如FTP,HTTP,PUB等等。这样就产生了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多便。
但BT就不同,用BT下载反而是用户越多,下载越快,这是为什么呢?因为BT用的是一种传销的方式来达到共享的。其工作原理如下:BT首先在上传者端把一个文件分成了很多部分,用户甲随机下载了其中的一些部分,而用户乙则随机下载了另外一些部分。这样甲的BT就会根据情况(根据与不同电脑之间的网络连接速度自动选择最快的一端)到乙的电脑上去拿乙已经下载好的部分,同样乙的BT就会根据情况到甲的电脑上去拿甲已经下载好的部分,这样不但减轻了服务器端的负荷,加快了双方的下载速度,更减少了地域之间的限制。比如说,丙直接连到服务器上去下载与丙分别到甲和乙的电脑上去拿相比,速度会快很多。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。在用户下载的同时,用户也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
BT工具及其危害
常用的BT软件有BitTorrent、PTC、Shareaza、BitTorrent++等。
BitTorrent是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。其特点简单的说就是:下载的人越多,速度越快。
PTC(Personal Torrents Collector)是目前 BitTorrent下载用户端里最好的软体之一,虽然出道晚,但反映不错而且被众多BT下载站推荐和认可。PTC的多线程能力使用户能够批量的更快的下载和上传资源。
Shareaza是一款在国外评价极高并且相当流行的P2P软件(简称Raza),它集合了eDonkey、Guntella和BT等流行P2P网络类型,并可以用于Http下载,在以后的版本将会支持FTP下载,由于其优秀的界面(支持换肤)、简洁的操作以及极强的可制定性,所以在国外广为流传,其评价已跃居所有P2P软件的前5之列,并且许多P2P的下载站点已将其指定为BT的官方下载工具。
BitTorrent++是一个非官方版本的BitTorrent优化版,在功能上BitTorrent有很大的改进,也更为人性化,弥补了BitTorrent过于简单缺乏微调的缺陷,尤其是共享方面的功能。如果中途关闭了BitTorrent++,只要再次打开程序,就会继续进行原来的下载,不用像BitTorrent的续传那么麻烦。
这些BT下载软件以其独特的优势受到广大用户的喜爱,不过,麻烦也随之而来:如果多个用户同时使用BT进行下载,会占用大量网络带宽,严重影响其他用户的正常工作。因此,在一些环境下完全有必要严格限制用户的BT下载流量或完全禁止BT下载。
将BT协议看个透彻
BitTorrent 是一种分发文件的协议。它通过URL来识别内容,并且可以无缝地和Web进行交互。它基于HTTP协议。
一个BT文件分布系统由下列实体组成:一个普通的web服务器、一个静态的“元信息”文件 (torrent文件)、一个跟踪(tracker)服务器、终端下载者。其中tracker从所有下载者处接收信息,并返回给它们一个随机的peers的列表,这种交互是通过HTTP或HTTPS协议来完成的。下载者周期性的向tracker登记,使得tracker能了解它们的进度,下载者之间通过直接连接进行数据的上传和下载,这种连接使用的是 BitTorrent 对等协议,它基于TCP。
所有BT客户端的功能及需要处理的协议:
根据 BT 的相关原理,客户端需要完成以下功能:
1.解析 torrent 文件,获取要下载的文件的详细信息,并在磁盘上创建空文件。
2.与 tracker服务器建立连接,并交互消息。
3.根据从 tracker 得到的信息,跟其它 peers 建立连接,并下载需要的文件片断。
4.监听某端口,等待其它peers 的连接,并提供文件片断的上传。
(对客户端来说,它需要处理两种协议:与 tracker 服务器交互的 track HTTP协议以及与其它 peers 交互的 BT 对等协议。)
由BT协议分析可得,当BT客户端下载时,必须进行tracker查询,tracker通过HTTP的GET命令的参数来接收信息,而响应给对方(下载者)的是bencoded编码的消息。
在HTTP请求报文中,携带了BT的特征值 User-Agent:BitTorrent,因此,如果Http-Filter能够将具有该特征值的HTTP的数据包过滤掉,BT客户端便无法进行Tracker查询,Tracker服务器便无法将peers列表返回给BT客户端,从而有效阻截BT下载。
天清汉马防御BT有绝招
基于以上分析,天清汉马AIO-Hammer防火墙阻截BT有以下几种方法:
限制浏览BT网站
BT网站很多,限制BT网站似乎不可行,其实可以考虑一下BT下载的特点:下载的人数越多,速度越快;Seed越多,速度越快。只有比较热门BT网站的Torrent文件下载的人才会比较多,一般的BT网站去的人就比较少,下载的人数也少,除非他能忍受每秒几K的速度。 那么我们所要做的是找出比较热门的BT网站,然后在防火墙上配置URL过虑规则,之后,在出接口上启用过滤HTTP过滤功能,禁止对它们的访问即可。 限制以上网站(或域名)的访问,可以对Torrent文件的下载可以起到一定的限制作用。
禁止访问tracker服务器
tracker是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。客户端连上tracker服务器,就会获得一个下载人员 的名单,根据这个,BT会自动连上别人的机器进行下载。一般对tracker服务器的访问以HTTP的形式进行。
SmartHammmer的图形管理syslog(日志)中,可以查询到关于HTTP信息的所有记录,如果有BT下载,则在日志中可发现类似图3的HTTP报文,根据报文内容可以得到tracker服务器为btfans.3322.org:8000,然后我们可以在防火墙配置规则,禁止内部用户访问该服务器。
tracker服务器的数量应该远少于热门BT网站的数量,很多网站都是转的其他网站的Torrent,如果可以找出这些tracker服务器的地址,这也不失为一种有效方法。
实际上,由于获得tracker服务器的地址费劲,这种方法的实用性不是很强,但是天清汉马AIO-Hammer防火墙有图形化管理界面,有详细的日志记录功能,根据查询日志还是很容易找到tracker服务器的。
封闭BT下载端口
解决BT对局域网的危害,最彻底的方法是不允许进行BT下载,BT一般使用TCP的6881~6889的端口,然后把一些特定的种子发布站点和端口给封掉,具体可以参看BT下载软件中的track;但是现在大多数BT软件可以修改端口号,因此网管可以根据实际情况,在不影响正常业务的情况下尽可能将封闭的端口范围扩大,把一些特定的种子发布站点和端口给封掉。
限制用户带宽
BT之所以会危害到局域网,是因为它占用了大量网络带宽。因此,限制每个用户使用的网络带宽,可以明显缓解BT对网络的危害;
天清汉马AIO-Hammer防火墙可以将BT用户下载的优先级限制为5(0最高,7最低),带宽限制为64 kbps。
限制最大连接数
由于BT使用TCP,因此可以使用天清汉马AIO-Hammer防火墙的IP-Inspect特性,来限制TCP最大连接数,也可以使用IP Inspect 特性限制最大流数。
使用HTTP代理对应用层协议进行过滤
天清汉马AIO-Hammer防火墙能够有效地过滤特定的应用层数据包(如HTTP数据包),然后根据BT数据包中的关键字(BitTorrent),就完全可以从HTTP数据包中过滤BT数据包。天清汉马AIO-Hammer防火墙的Http过滤功能(Http-Filter)可以对BT的关键字进行过滤,只需在HTTP过滤模板中配置过滤规则,然后在接口启用即可有效截阻BT下载。
综上所述,天清汉马AIO-Hammer 防火墙能够提供多种有效方法阻截BT下载,尤其是在启用HTTP过滤功能后,对可以变换端口的BT软件能够进行有效过滤,从而防止BT下载。
巧用防火墙 掌控BT易如反掌
这些BT下载软件以其独特的优势受到广大用户的喜爱,不过,麻烦也随之而来:如果多个用户同时使用BT进行下载,会占用大量网络带宽...
0
相关文章