BT下载过程解析
BT (BitTorrent)下载使用说明(内附加速方法和硬盘保护方法)
BT (BitTorrent)下载使用说明(内附加速方法和硬盘保护方法)1)用BT (BitTorrent)下载使用说明~BitTorrent(简称BT,俗称BT下载、变态下载)是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。
其特点简单的说就是:下载的人越多,速度越快。
作者饕常a href=BitTorrent target=_blank ref=BitTorrent ;1、BT下载工具更新版本3.21官方下载地址:禁用下载工具,直接点击,选择下载,不要用下载工具(flashget或传送带)!地址1bittorrentbittorrent-3.2.1.exe安装后不会创建程序组,但可以打开.TORRENT文件开始下载了[url=forum-20-1.html][url]2、BitTorrent安装下载回来约2.6M的安装文件,双击,会看到一个窗口显示安装完成(不用找执行程序,已经可以用了).:3、BitTorrent卸载总有人问这个问题,其实答案很简单:控制面板-添加删除程序-卸载BitTorrent4、BitTorrent使用用BT下载必须先在网上找到.torrent文件,国外的BT发布站点请看〉〉国内外BT资源站点〈〈国内的BT发布站点目前是 以btfans站点为例,左键点击网页上的torrent下载链接,可以看到开始下载一个.torrent的文件(右键Save As,把.torrent下载到硬盘上再双击也是可以的):)[url=forum-20-1.html][url]这个文件很小(一般20k-100k),很快就下载完了,接着就弹出对话框询问文件文件夹存放位置(BT可以发布整个目录):[url=forum-20-1.html][url]接着BT开始分配空间(产生一个和目标文件一样的大小的空文件),需要1到2分钟,视下载文件大小而定。
如图是分配空间进度:(注意:此时download rate 与upload rate 的没有数值)[url=forum-20-1.html][url]分配空间完毕,就会自行下载文件。
BT下载
BT下载编辑BT是一种互联网上新兴的P2P传输协议,全名叫"BitTorrent",中文全称:"比特流" ,最初的创造者是Bram Cohen,现在则独立发展成一个有广大开发者群体的开放式传输协议。
目录1概述2原理▪传统方式▪ BT方式3特点▪优点▪缺点4应用5常用软件▪ BitComet▪ uTorrent▪ DeadmanWalking▪ BitTorrentPlus▪ Bit Spirit▪贪婪ABC▪ BitTorrent▪ Shareaza▪ PTC▪ Azureus▪ BitAnarch▪ BitBuddy▪ BTVampire▪ BtJoy乐翻天▪ BitTornado▪超级BT下载▪ TurboBT▪ MyBT▪综艺BT下载王▪ BTogether▪ THUNDER▪超级旋风▪ BTSOUSOU6种子文件1概述编辑BT全名为BitTorrent,其创始人为布拉姆·科恩,BT下载是目前互联网最热门的应用之一。
BT下载通过一个P2P下载软件(点对点下载软件)来实现,克服了传统下载方式的局限性,具有下载的人越多,文件下载速度就越快的特点。
因此,吸引着众多的网民使用,其好处是不需要资源发布者拥有高性能服务器就能迅速有效地把发布的资源传向其他的BT客户软件使用者,而且大多数的BT软件都是免费的。
2原理编辑传统方式普通下载原理在传统下载方式中,一般是把文件由服务器端传送到客户端,例如FTP,HTTP,PUB等等。
由于是从一台服务器下载,服务器所提供的带宽是一定的,因而下载人越多速度越慢。
但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。
BT方式BT下载原理图与传统下载不同,用BT下载反而是用户越多,下载越快,这是因为BT用的是一种传销的方式来达到共享的。
bt下载原理及小常识
BT下载的灵魂:种子
无论何种BT客户端程序,默认设置都未对下载速度和上传速度进行限制,这是因为BT软件会给上传速度较快的用户优先提供服务,也就是说上传速度越快,下载速度也越快,因此如果你使用的是宽带的
小知识:
你知道吗BT下载和常规下载到底有哪些不同
和常规下载文件不一样的是,当你进行BT下载时,你开始链接的地址都是.torrent结尾的文件。其实只要下载此文件,在本机运行此文件一样可以进行BT下载工作。而网上的BT下载链接都是由广大用户自己发布提供的,这样使得下载资料非常广,不受常规管理人员的限制。
bt下载原理及小常识
BT是目前最热门的下载方式之一,它的全称为“BitTorrent”简称“BT”,中文全称“比特流”,但很多朋友将它戏称为“变态下载”,这又是什么原因呢?
C/S架构:
就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器. 因此如果同一时刻下载的用户数量太多,势必影响到所有用户的下载速度,如果某些用户使用了多线程下载,那对带宽的影响就更严重了,因此几乎所有的下载服务器都有用户数量和最高下载速度等方面的限制。很明显,由于上述的原因,即使你使用的是宽带网,通常也很难达到运营商许诺的最高下载速度,这里面固然有网络的原因,但与服务器的限制也不无关系。正因如此,BT下载方式出现之后,很快就成为了下载迷们的最爱。
电驴与BT下载
缺点
3.助长了病毒的传播 2005年11月17日,公安部公共信息网络安全 监察处许剑卓处长在天津AVAR2005大会上 做了《中国网络犯罪现状》的报告,报告指 出,通过计算机病毒和木马进行的黑客行为 是计算机网络犯罪的主要根源。调查情况表 明,计算机病毒除了通过常规的电子邮件等 途径传播外,目前网络上盛行的P2P软件成 为计算机病毒和木马传播的主要途径。这些 病毒和木马对企业的安全形成巨大的挑战。
避免方法
3.专用硬盘 如果你有多余的小硬盘,最好将它利用起来, 把它当成BT专用硬盘,下载完成后再将文件 转移到主硬盘上。 4.加强机箱散热 目前最有效的方法是使用硬盘专用风扇。同 时,机箱的通风效果要做好,这样也有利于 散热。 5.调整BT软件 第一步:调整缓存.第二步:做种时间
避免方法
使用方法
分配空间完毕,就会自行下载文件。初始时 下载时会比较慢,速度快慢也与你自己的网 络有关,如果是拨号或者小区内网就慢得可 怜了,不过没关系,挂那就是自己睡觉去。 如果你中途中断下载,没关系,支持断点续 传。到论坛/发布页面重新点击下载链接,或 者打开你的BT软件的日志,选定文件就可以 续传。
避免方法
1.选择好硬盘 首先不要选择水货硬盘,这主要是因为 水货在运输过程中非常不安全,很可能 买的时候由于各种原因硬盘内部机械部 分已经产生损伤。 选购时要留意硬盘本身提供多大缓存, 缓存越大,读写的次数就越少,这样肯 定会减轻对硬盘的耗损。
避免方法
2.加大内存 增加内存是减少硬盘损耗的最好方法, BT下载时对内存要求特别高,如果在内 存较少的情况下,再同时进行其他操作, 很容易出现内存不足的问题。Windows 会转而使用硬盘转换的虚拟内存,使用 虚拟内存的次数越多、越大,硬盘读写 也就越频繁。
[搜片神器]直接从DHT网络下载BT种子的方法
[搜⽚神器]直接从DHT⽹络下载BT种⼦的⽅法DHT系列⽂章:1.2.3.--------------------------------------------------------------------------------------------------------------------看懂此⽂章需要提前看明⽩上⾯的系列⽂章,还需要你有TCP⽹络编程和bencode编码⽅法基础上,如果都看不明⽩,可以到娱乐区去看看,休息下...在介绍了这么多期⽂章后,最后介绍BT⽹络⾥⾯⼀个⽐较重要种⼦下载协议,⽅便⼤家知道如何从DHT⽹络直接下载种⼦的问题.先说下我们⽬前下载电影等⽂件是如何下载的,⽐如我们有个BT种⼦,就可以去下载对应的⽂件,但如果我们只有个⽂件名字,如何去找BT种⼦呢?⽬前我们下载BT种⼦有两种⽅式:1. 通过HTTP直接从WEB服务器上下载,这种直接⽅便,⽐如从迅雷服务器上下载种⼦,2. 再就是通过BT软件从⽹络⾥⾯去获取BT⽹络⾥⾯专门有个下载种⼦的协议⽂件,只能下载种⼦,然后种⼦下载好后就可以交给BT软件来下载数据了.如何从DHT⽹络下载种⼦,必须先看两个协议⽂章:这⾥⾯有介绍,但还是需要说明⼀下如何操作的流程⽅便⼤家更好的理解.需要我们在此之上操作后续流程.之前的DHT有SEARCH的相关代码来搜索这个HASH对应的哪些IP在提供下载./* This is how you trigger a search for a torrent hash. If port (the second argument) is non-zero, it also performs an announce.Since peers expire announced data after 30 minutes, it's a good idea to reannounce every 28 minutes or so. */if(searching) {//m_dht.dht_random_bytes((void*)hashList[2],20);if(m_soListen >= 0)m_dht.dht_search(hashList[2], 0, AF_INET, DHT_callback, this);if(s6 >= 0)m_dht.dht_search(hashList[2], 0, AF_INET6, DHT_callback, this);searching = 0;}搜索到对⽅返回的IP信息和端⼝号后,⼤家可以分析dht.c⾥⾯的函数代码dht_periodic(const void *buf, size_t buflen,const struct sockaddr *fromAddr, int fromlen,time_t*tosleep,dht_callback *callback, void *closure)函数⾥⾯的ANNOUNCE_PEER返回请求⾥⾯带有对⽅表明⾃⼰此BT种⼦对应的认证码peerid.dht_periodic(const void *buf, size_t buflen,const struct sockaddr *fromAddr, int fromlen,time_t *tosleep,dht_callback *callback, void *closure)函数⾥⾯的ANNOUNCE_PEERcase ANNOUNCE_PEER:_dout("Announce peer!From IP:%s:%d\n",inet_ntoa(tempip->sin_addr),tempip->sin_port);new_node(id, fromAddr, fromlen, 1);if(id_cmp(info_hash, zeroes) == 0){_dout("Announce_peer with no info_hash.\n");send_error(fromAddr, fromlen, tid, tid_len,203, "Announce_peer with no info_hash");break;}if(!token_match(token, token_len, fromAddr)) {_dout("Incorrect token for announce_peer.\n");send_error(fromAddr, fromlen, tid, tid_len,203, "Announce_peer with wrong token");break;}if(port == 0) {_dout("Announce_peer with forbidden port %d.\n", port);send_error(fromAddr, fromlen, tid, tid_len,203, "Announce_peer with forbidden port number");break;}if(callback){(*callback)(closure, DHT_EVENT_ANNOUNCE_PEER_VALUES, info_hash,(void *)fromAddr, port,id);//此ID就是peerid,}知道了对应的IP,端⼝号,还有种⼦ID号,就可以向对⽅发送请求了.获取HASH是通过UDP⽹络,但下载BT种⼦是通过TCP来处理,相当于别⼈是TCP服务器,我们连接过去,直接下载对应PEERID的种⼦就⾏了.BT种⼦在DHT⽹络下载流程此包构造⽐较简单,按照格式进⾏组装就⾏了,然后发送出去,对⽅就会回应⾃⼰是什么客户端的软件提供种⼦下载.void CH31BTMgr::Encode_handshake(){//a byte with value 19 (the length of the string that follows);//the UTF-8 string "BitTorrent protocol" (which is the same as in ASCII);//eight reserved bytes used to mark extensions;//the 20 bytes of the torrent info hash;//the 20 bytes of the peer ID.char btname[256];memset(btname,0,sizeof(btname));sprintf(btname,"BitTorrent protocol");char msg[1280];memset(msg,0,sizeof(msg));msg[0]=19;memcpy(&msg[1],btname,19);char ext[8];memset(ext,0,sizeof(ext));ext[5]=0x10;memcpy(&msg[20],ext,8);memcpy(&msg[28],m_hash,20);memcpy(&msg[48],m_peer_id,20);int res1=Write(msg, 68);//TCP发送消息}extension headerThe metadata extension uses the extension protocol (specified in BEP 0010 ) to advertize its existence. It adds the "ut_metadata" entry to the "m" dictionary in the extension header hand-shake message. This identifies the message code used Example extension handshake message:{'m': {'ut_metadata', 3}, 'metadata_size': 31235}extension messageThe extension messages are bencoded. There are 3 different kinds of messages:1 request2 data3 rejectThe bencoded messages have a key "msg_type" which value is an integer corresponding to the type of message. They also have a key "piece", which indicates which part of the metadata this message refers to.In order to support future extensability, an unrecognized message ID MUST be ignored.这就需要会bencode的相关代码,这个⼤家可以⽹上搜索进⾏编译,如果实现搞不定,可以留下邮箱我将此类代码发送给你,其实也是⽹上收集整理的.void CH31BTMgr::Encode_Ext_handshake(){entry m;m["ut_metadata"] = 0;entry e;e["m"]=m;char msg[200];char* header = msg;char* p = &msg[6];int len = bencode(p, e);int total_size = 2 + len;namespace io = detail;io::write_uint32(total_size, header);io::write_uint8(20, header);io::write_uint8(0, header);int res1=Write(msg, len + 6);}如果别⼈回应的是3,那就直接退出吧,说明别⼈拒绝了你.如果回应是2,则返回的是数据区,每块是16K⼤⼩,最后⼀包不是.dataThe data message adds another entry to the dictionary, "total_size". This key has the same semantics as the "metadata_size" in the extension header. This is an integer.The metadata piece is appended to the bencoded dictionary, it is not a part of the dictionary, but it is a part of the message (the length prefix MUST include it).If the piece is the last piece of the metadata, it may be less than 16kiB. If it is not the last piece of the metadata, it MUST be 16kiB.Example:{'msg_type': 1, 'piece': 0, 'total_size': 3425}d8:msg_typei1e5:piecei0e10:total_sizei34256eexxxxxxxx...The x represents binary data (the metadata).下⾯给出如何进⾏提交我需要第⼏包的数据代码:void CH31BTMgr::write_metadata_packet(int type, int piece){ASSERT(type >= 0 && type <= 2);ASSERT(piece >= 0);entry e;e["msg_type"] = type;e["piece"] = piece;char const* metadata = 0;int metadata_piece_size = 0;if (type == 1){e["total_size"] = 14132;int offset = piece * 16 * 1024;//metadata = m_tp.metadata().begin + offset;metadata_piece_size = (std::min)(int(14132 - offset), 16 * 1024);}char msg[200];char* header = msg;char* p = &msg[6];int len = bencode(p, e);int total_size = 2 + len + metadata_piece_size;namespace io = detail;io::write_uint32(total_size, header);io::write_uint8(20, header);io::write_uint8(m_message_index, header);int res1=Write(msg, len + 6);}在接收到⼀包请求后我们才可以继续下⼀包的请求,下⾯给了我们如何解析这⼀包的问题代码:// 处理⼀个完整的包数据bool CH31BTMgr::DeCodeFrameData(char * buffer,int buflen){char * p = (char *)mhFindstr(buffer, buflen, "ut_metadatai", 12);if(p){m_message_index=atoi(&p[12]);if(m_message_index==2){return false;}write_metadata_packet(0,0);char filename[256];memset(filename,0,sizeof(filename));sprintf(filename,"%s\\torrent.txt",m_workPath);DelFile(filename);}p = (char *)mhFindstr(buffer, buflen, "metadata_sizei", 14);if(p){m_metadata_size=atoi(&p[14]);m_fileCnt=(int)(m_metadata_size/16384)+1;}p = (char *)mhFindstr(buffer, buflen, "msg_typei", 9);if(p){int type1=atoi(&p[9]);if(type1==1){p = (char *)mhFindstr(buffer, buflen, "piecei", 6);if(p){int piece=atoi(&p[6]);p = (char *)mhFindstr(buffer, buflen, "total_sizei", 11);if(p){int total_size=atoi(&p[11]);p = (char *)mhFindstr(buffer, buflen, "ee", 2);if(p){//保存数据FILE* pfile=NULL;char filename[256];memset(filename,0,sizeof(filename));sprintf(filename,"%s\\torrent.txt",m_workPath);char openmethod[5]="a";if(piece==0)sprintf(openmethod,"w");if((pfile=fopen(filename,openmethod))!=NULL){if((piece+1)*16*1024<total_size){fseek(pfile,(piece)*16*1024,SEEK_SET);fwrite(&p[2],1,16*1024,pfile);write_metadata_packet(0,piece+1);fclose(pfile);}else{fwrite(&p[2],1,total_size-(piece)*16*1024,pfile);fclose(pfile);ManageTorrentFileToRealFile(filename);}}}}}}else if(type1==2){return false;}}return true;}void * mhFindstr(const void *haystack, size_t haystacklen,const void *needle, size_t needlelen){const char *h =(const char *) haystack;const char *n =(const char *) needle;size_t i;/* size_t is unsigned */if(needlelen > haystacklen)return NULL;for(i = 0; i <= haystacklen - needlelen; i++) {if(memcmp(h + i, n, needlelen) == 0)return (void*)(h + i);}return NULL;}接下来说下如何进⾏快速调试的问题: 第⼀次调试也很天真的等着DHT⽹络上的数据过来,需要等很久,⽽且调试总是发现别⼈不回应,要么就是拒绝,经过⼀段时间后,问朋友总是不对问题,结果是协议没有构造对.下⾯就需要注意的地⽅总结下:1.⼀定要接收到别的⼈PEERID后才能够与别⼈交流,不然别⼈肯定不理你;2.构造协议调试不能够在外⽹络上调试,最好⼤家将mono-monotorrent源代码下载回来,调试分析下,本地开启服务器;3.通过本地与mono-monotorrent进⾏调试,你就可以分析出是哪⾥不对的问题,是不是协议哪些封装得不对的问题.4.通过DHT⽹络下载回来的种⼦肯定是最新的,WEB下载的可能还没有呢..5.通过协议下载回来的种⼦好像没有announce-list,不知道为什么不提供⼀些内容,可能还有些什么关键地⽅没有下载,分析mono-monotorrent代码⾥⾯就是不提供下载,希望⾼⼿指点.6.TCPClient接收数据区需要开到16K以上,这样⽅便处理,当然如果会前后拼接包就更好.7.如果需要bencode相关的编码C++代码,可以在此留⾔或者给h31h31#发邮件.如果此⽂章看不太明⽩,请先看看之前的⽂章,分析调试下代码,再来学习此⽂章可能就⽐较懂⼀些.希望有了解的朋友更好的交流和进步.在此留⾔学习讨论.。
常见下载方式之BT下载实现过程详解
常见下载方式之BT下载实现过程详解一、BT下载是怎么来的?在互联网上下载文件的方式大概有这么几种:FTP、HTTP、BT、eMule(电驴)等,浏览器会直接支持FTP和HTTP下载,BT和eMule下载一般需要专用的下载软件的支持。
接下来分别简单介绍一下它们的区别:FTP 是 File Transfer Protocol(文件传输协议)的英文简称,顾名思义,就是提供文件传输的一个协议。
首先需要有一个FTP Server,负责文件的存储并接受网络请求(FTP 连接和指令)提供下载,然后FTP Client 向FTP Server发起网络请求,并将接受到的文件内容保存到本地。
HTTP是HyperText Transfer Protocol (超文本传输协议)的英文简称,超文本就是我们平时所说的网页,通过网页上的链接把众多的网页组织成一个超级大的信息节点网络,所以叫超级文本。
文件下载只是HTTP协议所支持的一个子功能,同样需要HTTP Server (Nginx、Apache、IIS等)和HTTP Client (各种浏览器)来完成文件的下载。
对以上两种下载方式做一个简单总结:HTTP下载 1如果用户想要更快的下载速度呢?一种选择是,Client使用多线程下载,抢占更多的服务器资源(早期的网际快车FlashGet就是这种方式)。
如果用户量很大,这样无疑对Server造成很大的压力。
然后呢,Server提供商(网站方)需要提供更多的服务器和更高的带宽,但是这需要花很多钱。
那么,有没有更低成本的解决方案呢?接下来就出现了BT下载。
BT是BitTorrent的缩写,Torrent是激流、洪流的意思,Bit洪流,看名字就很牛的样子。
和以上两种下载方式最大的区别就是用户不再直接从服务器下载文件,而是用户之间相互下载,这种方式叫做P2P (Peer to Peer 点对点)。
从下图我们可以看出参与的人越多,下载速度越快P2P下载 1二、BitTorrent的P2P下载是怎么做到的?要做到P2P下载首先需要解决如下两个问题:1、如何知道哪些Client在下载同一个文件?2、对某一个文件,如何做到同时从多个来源进行下载?对于第一个问题的解决方案:设计一个TrackerServer(跟踪服务器),每一个Client需要去这里上报自己正在下载的文件以及自己的ip地址和监听的端口。
Linux下BT种子解析模块
Linux下BT种子解析模块一.概要介绍1.BT协议的介绍BitTorrent是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已经下载的数据。
而在FTP,HTTP协议中,每个下载者从FTP,或HTTP服务器处下载自己所需要的文件,各个下载者之间没有交互。
当非常多的用户同时访问和下载服务器上的文件时,由于服务器的处理能力以及带宽限制,下载速度会急剧下降,有的用户根本访问不了服务器。
BT协议与FTP协议不同,它的特点是下载的人越多下载的速度越快,其原因在于每个下载者将已下载的数据提供给其他下载者下载,它充分利用了用户的上载带宽。
而Web服务器上保存着种子文件,下载者使用网络浏览器从Web服务器上下载种子文件。
种子文件,又成为元原文件或者metafile,它保存了共享文件的一些信息,如共享文档的文件名,文件大小,Tracker服务器的地址。
种子文件通常很小,一般1G大小的共享文件,其种子文件不足100KB,种子文件以torrent为后缀。
BT客户端下载一个共享文件的开始过程,往就是客户端首先解析种子文件,获取待下载文件的一些信息,其中包括Tracker服务器的地址,然后根据得到的地址连接Tracker服务器,获得peer端信息,最后再在peer之间传送消息和数据。
共享文件在逻辑上被划分为大小相同的块,成为piece,每个piece的大小通常称为256K。
对于共享文件,文件的第1字节到第256K字节为第一个piece,第256K+1字节到512K 字节被称为第二个piece,依此类推。
种子文件中包含有每个piece的hash值。
BT协议规定使用Sha1算法对每个piece生成20字节的hash值,作为每个piece的指纹。
2.B编码的介绍种子文件和Tracker的返回信息都是经过B编码的,要解析和处理种子文件以及Tracker 的返回值,首先要熟悉B编码的规则。
B编码中有4中类型:字符串,整型,列表和字典。
2023年关于bt是什么
2023年关于bt是什么2023年关于bt是什么BT原理普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。
BitTorrent协议本身也包含了很多具体的.内容协议和扩展协议,并在不断扩充中。
根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。
torrent文件本质上是文__件,包含Tracker信息和文件信息两部分。
Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。
它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。
下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。
下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。
Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。
下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。
此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。
BT优缺点BT:全称比特流(BitTorrent),是一种内容分发协议。
它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),并使每个用户像网络重新分配结点那样提供上传服务。
一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。
关于Bt的下载原理
Bit Torrent 片段选择算法的改进策略
[������]
针对片段选择算法的改进有 A.R.Bharambe 等提出的 SmartSeed 的片段选择算 法, 这种算法对种子节点的上传操作进行了改进, 增加种子节点统计自身上传的 文件片副本数目的功能。在请求节点所缺少的文件片中,优先选择自身已上传的 文件片副本数目最少的片上传,以均匀系统中分片的数量。
关于 Bt 的下载原理
在 2001 年的时候 Bram Cohen 发明了 BitTorrent, 由此也开创了一个全新的领 域。使用者通过 BitTorrent 可以把下载的文件分成很多小块并且同时进行下载。 现在 BitTorrent 非常流行,估计全世界的用户数量超过 25 亿。BitTorren 就像 是一把双刃剑。一方面,通过使用 BitTorrent 获取利润的例子有很多。例如电台 司令乐队 (Radiohead) 主唱 Thom Yorker 在 Bit Torrent 上独家发行了一张新专辑, 这让他很快赚到了数百万美元。另一方面,由于 BitTorrent 协议是匿名的,而且 下载速度非常快,盗版游戏,盗版电影的现象屡见不鲜。 。 何为 BitTorrent Bram Cohen 开发的内容分发协议就叫做 BitTorrent。BitTorrent 通过点对点技 术为每个网络用户分配结点, 将比较大的体积文件例如电影或者游戏在高效的软 件分发系统上进行共享。 在传统模式下,每一个用户服务器发出下载的请求的时 候服务器需要一一应答,无法同时处理多个用户的下载请求。然而 BitTorrent 就 不同于传统模式, 它可以将文件发送给一名用户,而其他用户可以通过这名用户 的转发得到文件,这样持续不断地工作直到完成所有的下载请求。BitTorrent 相 对于传统模式来说占用的带宽并不大。 传统方式的下载原理 在传统下载方式中, 一般是把文件由服务器端传送到客户端, 例如 FTP, HTTP, PUB 等等。举 FTP 的例子来说,FTP 的工作就是在完成两台计算机之间的文件的 传递, 从远程计算机将文件拷贝到自己的计算机上或者是从自己的计算机中拷贝 文件至远程计算机上 。 服务器下载占用的带宽是一定的,所以如果在下载的时候用户人数增多,那 么下载的速度就会变得越来越慢,甚至使得服务器崩溃。传统的方式很不方便, 不仅限制了下载速度,也限制了用户人数。
aria2 bt 原理
aria2 bt 原理Aria2是一款轻量级的多协议下载工具,支持HTTP、FTP、BitTorrent等多种协议。
其中,BT(BitTorrent)协议是Aria2的一个重要特性,因为它可以让用户通过BT协议下载大文件,同时也可以通过BT协议实现文件的分发和共享。
Aria2的BT下载原理主要包括两个方面:BT协议和Aria2下载引擎。
首先,BT协议是一种点对点的文件共享协议,它通过将文件分成多个小块,让用户之间相互交换这些小块,从而实现文件的下载和共享。
在BT协议中,每个小块都有一个唯一的标识符,称为Piece Hash。
这个标识符可以用来验证小块的完整性,从而确保下载的文件是完整的。
其次,Aria2下载引擎是Aria2的核心组件,它负责管理下载任务、分配下载资源、控制下载速度等。
在BT下载中,Aria2下载引擎会首先解析种子文件,获取种子文件中包含的所有信息,包括文件名、文件大小、文件分块信息等。
然后,Aria2会根据这些信息向其他用户请求下载资源,并将下载的小块按照种子文件中的分块信息组合成完整的文件。
在Aria2的BT下载中,还有一些重要的概念需要了解。
其中,最重要的概念是Tracker。
Tracker是一个服务器,它负责管理BT下载任务的状态信息,包括下载进度、可用资源、已下载资源等。
Aria2会通过Tracker获取下载任务的状态信息,并根据这些信息调整下载策略,以提高下载速度和下载成功率。
此外,Aria2还支持DHT(分布式哈希表)协议。
DHT协议是一种去中心化的BT下载协议,它不需要Tracker服务器,而是通过P2P网络中的其他节点来获取下载资源。
Aria2会自动加入DHT网络,并通过DHT协议获取下载资源,从而提高下载速度和下载成功率。
总之,Aria2的BT下载原理是基于BT协议和Aria2下载引擎的。
通过解析种子文件、向Tracker服务器请求下载资源、通过DHT协议获取下载资源等方式,Aria2可以实现高速、稳定、可靠的BT下载。
BT分析libTorrent分析
BT协议库libtorrent的种子文件解析方法探究吴海11北京邮电大学信息与通信工程学院,北京 (100876)E-mail:nosea921@摘要:本文首先简单介绍了近年流行起来的P2P通信模式的网络架构,将其与传统的C/S 架构进行比较并总结出了P2P的三种应用方式及其各自的代表软件。
之后,本文介绍了构成BitTorrent协议的三大部分(种子文件、Http协议、peer wire协议)并分析了协议的工作过程细节。
根据种子文件的特定格式和Bencoding编码规则,本文对BT协议库libtorrent中负责对种子文件进行解析的模块进行剖析,解释了该模块的相关类的定义和解析种子文件的实际函数,为基于BT协议的下载程序的种子文件解析模块的设计提供了一种较好的思路。
关键词:BitTorrent协议 libtorrent 种子文件解析中图分类号:TP3121.引言传统的网络服务模式,所有的下载开销都在服务器上,由于服务器性能和带宽的限制,服务器往往要限定用户的数量和访问速率;而使用基于BT协议的共享软件,可以把下载的开销分摊到每个下载者那里,在理论上支持无限多个下载者下载同一个文件,充分提高文件共享效率。
本文简要分析了BT协议的工作原理,剖析了BT协议库libtorrent中种子文件的解析方法,利用这种解析方法分析出的结果,下载程序就可以开发出BT下载软件。
2.BT网络架构传统的因特网服务如Web、FTP、DNS等均使用客户机/服务器(C/S)模式进行通信。
C/S模式的特征是:服务器是总是打开的主机,具有永久的IP地址,并可扩展为服务器池;客户机与服务器直接通信,可以间歇地与服务器连接,可以具有动态的IP地址,并且客户机彼此之间不直接通信。
C/S模式的最大特点是服务和资源集中,所有对服务请求的处理通常是由服务器完成的[1]。
对等方到对等方(peer-to-peer,P2P)是近年来流行起来的通信模式。
Java实现bt文件下载、制作、解析、磁力链接
Java实现bt⽂件下载、制作、解析、磁⼒链接⾸先torrent⾥⾯肯定携带的有⼀些信息,所以就需要我们来解析这些信息。
我们这⾥做多⽂件制作torrent,所以⾸先要针对每⼀个⽂件建⼀个实体类[java]1. import java.util.List;2.3. public class Info {4. private String name;5. private byte[] pieces;6. private long piecesLength;7. private long length;8. private String md5sum;9. private List<Files> files;10.11. public Info() {12. }13.14. public Info(String name, byte[] pieces, long piecesLength, long length, String md5sum, List<Files> files) {15. super();16. = name;17. this.pieces = pieces;18. this.piecesLength = piecesLength;19. this.length = length;20. this.md5sum = md5sum;21. this.files = files;22. }23.24. public String getName() {25. return name;26. }27.28. public void setName(String name) {29. = name;30. }31.32. public byte[] getPieces() {33. return pieces;34. }35.36. public void setPieces(byte[] pieces) {37. this.pieces = pieces;38. }39.40. public long getPiecesLength() {41. return piecesLength;42. }43.44. public void setPiecesLength(long piecesLength) {45. this.piecesLength = piecesLength;46. }47.48. public long getLength() {49. return length;50. }51.52. public void setLength(long length) {53. this.length = length;54. }55.56. public String getMd5sum() {57. return md5sum;58. }59.60. public void setMd5sum(String md5sum) {61. this.md5sum = md5sum;62. }63.64. public List<Files> getFiles() {65. return files;66. }67.68. public void setFiles(List<Files> files) {69. this.files = files;70. }⽽对于每⼀个File,⼜存在了⼀些信息,所以我们针对File建⽴⼀个实体类[java]1. import java.util.List;2.3. public class Files {4. private long length;5. private String md5sum;6. private List<String> path;7.8. public Files() {9. }10. //getter and setter and tostring11.12. public long getLength() {13. return length;14. }15.16. public Files(long length, String md5sum, List<String> path) {17. super();18. this.length = length;19. this.md5sum = md5sum;20. this.path = path;21. }22.23. public void setLength(long length) {24. this.length = length;25. }26.27. public String getMd5sum() {28. return md5sum;29. }30.31. public void setMd5sum(String md5sum) {32. this.md5sum = md5sum;33. }34.35. public List<String> getPath() {36. return path;37. }38.39. public void setPath(List<String> path) {40. this.path = path;41. }42. }⽽我们在制作torrent⽂件时,填写了很多信息,⽐如要web seeds等等。
史上最全最专业的BT种子下载工作原理及小知识(强力推荐)
史上最全最专业的BT种子知识BT是目前最热门的下载方式之一,它的全称为“BitT orrent”简称“BT”,中文全称“比特流”,但很多朋友将它戏称为“变态下载”,这又是什么原因呢?就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上,它的工作原理如图1所示。
因此如果同一时刻下载的用户数量太多,势必影响到所有用户的下载速度,如果某些用户使用了多线程下载,那对带宽的影响就更严重了,因此几乎所有的下载服务器都有用户数量和最高下载速度等方面的限制。
很明显,由于上述的原因,即使你使用的是宽带网,通常也很难达到运营商许诺的最高下载速度,这里面固然有网络的原因,但与服务器的限制也不无关系。
正因如此,BT下载方式出现之后,很快就成为了下载迷们的最爱。
BT服务器是通过一种传销的方式来实现文件共享的,它的工作原理如图2所示。
举个例子来说吧,例如BT服务器将一个文件分成了N个部分,有甲、乙、丙、丁四位用户同时下载,那么BT并不会完全从服务器下载这个文件的所有部分,而是根据实际情况有选择地从其他用户的机器中下载已下载完成的部分。
例如甲已经下载了第1部分,乙已经下载了第2部分,那么丙就会从甲的机器中下载第1部分,从乙的机器中下载第2部分,当然甲、乙、丁三位用户也在同时从丙的机器中下载相应的部分,这就大大减轻了BT服务器的负荷,也同时加快了丙的下载速度,也就是说每台参加下载的计算机既从其他用户的计算机上下载文件,同时自身也向其他用户提供下载,因此参与下载的用户数量越多,下载速度也越高。
目前流行的BT软件实在是太多了,有BT的鼻祖BitT orrent、有号称“比特精灵”的BitSpirit、有贪婪的GreedBT、有多面手Shareaza……而且由于BitTorrent是一款开源免费软件,因此任何有兴趣的用户都可以根据自己的需要进行修改。
面对众多的BT软件,我们又该如何选择呢?接下来的内容会帮助你找到答案!小知识:1.你知道吗,BT下载和常规下载到底有哪些不同?和常规下载文件不一样的是,当你进行BT下载时,你开始链接的地址都是.torrent结尾的文件。
什么是BT 下载
4.防火墙的阻隔。防火墙软件也会对BT的下载速度造成一定影响,当然为了保证系统的安全,这一点点影响还是可以忽略不计的。 BT下载对硬盘寿命的影响 BT下载开始流行后,也出现会大大损伤硬盘的说法。其实,BT下载方式本硎遣换岫杂才痰氖倜斐墒裁从跋斓模庵饕鞘褂肂T下载方式的用户中,大多数都用上了宽带,这样自然就不会考虑上网费用的问题。他们可能会整天整夜开着电脑进行下载,再加上BT用户在下载的同时一般还会提供上传服务,假如一个文件有10个人同时下载,那么你的硬盘就需要承受1次下载和9次(10-1)上传,如果有100人同时下载,那么硬盘的负载将大大增加。时间一长,很容易由于连续工作而导致硬盘“发烧”,这就是传言中使用BT下载会导致硬盘损坏的原因所在。
推荐答案 2010-02-26 18:16 B
T是目前最热门的下载方式之一,
它的全称为“BitTorrent”简称“BT”,中文全称“比特流”,但很多朋友将它戏称为“变态下载”,这又是什么原因呢?就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上,它的工作原理如图1所示。因此如果同一时刻下载的用户数量太多,势必影响到所有用户的下载速度,如果某些用户使用了多线程下载,那对带宽的影响就更严重了,因此几乎所有的下载服务器都有用户数量和最高下载速度等方面的限制.很明显,由于上述的原因,即使你使用的是宽带网,通常也很难达到运营商许诺的最高下载速度,这里面固然有网络的原因,但与服务器的限制也不无关系。正因如此,BT下载方式出现之后,很快就成为了下载迷们的最爱。
BT下载的灵魂:种子.无论何种BT客户端程序,默认设置都未对下载速度和上传速度进行限制,这是因为BT软件会给上传速度较快的用户优先提供服务,也就是说上传速度越快,下载速度也越快,因此如果你使用的是宽带的话,下载时就不要去限制上传速度了。 当下载结束后,如果未关闭BT客户端程序(例如一边运行BT提供上传服务,一边浏览网页、编辑文档等),这时你将成为一个传递圣火的使者,即“种子”(seed)。换句话说,如果一个文件被分成10个部分,但拥有第9部分的人只有一个,即只有一个种子,如果这位用户由于某种原因断线或关机,那么其他用户就只能下载到90%了,在进行BT下载时是令人最为苦恼的。 想想自己下载时遇到的“种子数为0”的痛苦吧,将心比心,尽可能在下载结束后不要立即关闭BT程序窗口,做一个传递圣火的使者吧。 BT下载速度为何不快 有时候,BT下载速度并不快,这其中有多种原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要: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日,公安部公共信息网络安全监察处许剑卓处长在天津A VAR2005大会上做了《中国网络犯罪现状》的报告,报告指出,通过计算机病毒和木马进行的黑客行为是计算机网络犯罪的主要根源。
调查情况表明,计算机病毒除了通过常规的电子邮件等途径传播外,目前网络上盛行的P2P软件成为计算机病毒和木马传播的主要途径。
这些病毒和木马对企业的安全形成巨大的挑战。
3.4、可能面临着版权侵害的风险Fred Lawrence是一个美国普通老人,因为自己孙子的缘故惹来了美国电影协会(MPAA)的大麻烦。
Lawrence的孙子通过iMesh P2P服务在家中的电脑下载并分享了4部电影,美国电影协会通过IP地址找到了他和他的电脑,并以侵犯版权为由要求老人为此在18个月中付出4000美元的罚金……;现在国内外都在严厉打击盗版,不排除版权作者或机构通过各种网络跟踪技术来找到非法进行P2P下载的用户,并提起诉讼或者其他赔偿要求;如果企业员工进行了这些行为,可能由此对企业的形象造成极大负面影响,并可能使得企业遭受其他损失!此外,员工可能通过BT等下载一些色情、反动、暴力的等违法的信息,这些信息可能被公安机关检测到,由此可能给员工和企业带来法律风险。
四管住局域网内的BT下载BT下载以其独特的优势受到广大用户的喜爱,它在下载的同时还为其他用户提供上传,因此下载的人越多,它的速度越快。
不过,麻烦也随之而来,如果多个用户同时使用BT进行下载,会占用大量网络带宽,严重影响其他用户的正常工作。
我们可以严格限制用户的BT下载流量或完全禁止BT下载。
4.1限制带宽BT之所以会危害到局域网,是因为它占用了大量网络带宽。
因此,限制每个用户使用的网络带宽,可以明显缓解BT对网络的危害。
笔者以大家常用的代理软件CCProxy为例,对用户带宽进行限制。
在服务器端的CCProxy主窗口中,点击“账号”按钮,弹出账号管理对话框,在属性栏的“允许范围”中选择“允许部分”,接着点击“新建”按钮,弹出账号对话框。
接下来,限制IP地址为“192.168.0.12”的客户机的带宽。
在“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”,点击“下一步”按钮,进入“首要连接信息”对话框。