




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BitTorrent协议特征分析1、概述BitTorrent(简称BT)是一种文件分发协议,属于P2P协议。它通过URL识别内容并且和网络无缝结合。它在HTTP平台上的优势在于,同时下在一个文件的下载者在下载的同时不断互相上传数据,使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载。2、工作原理BT由如下几部分组成:.torrent文件、种子提供站点、目录服务器和内容发布者/下载者。.torrent文件是一个文本文件,包含了tracker信息和文件信息两部分。tracker信息主要是BT下载中需要用到的tracker服务器的地址和针对tracker服务器的设置;文件信息是指将目标文件计算处理后再根据BT协议的B编码规则编码后得到的信息。BT的主要原理是把提供下载的文件虚拟分成大小相等的块,块大小必须为2Kbyte的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中,所以.torrent文件就是被下载文件的“索引”。种子提供站点也就是.torrent文件的提供站点,为下载者提供.torrent文件下载服务。目录服务器记录被下载的文件的索引信息及下载该文件的用户的信息(主要是IP地址及端口号)。BT协议主要包括3个部分:.torrent文件的格式、tracker HTTP/HTTPS协议和Peerwire协议(使用TCP)。其中tracker HTTP/HTTPS协议是BT客户机与tracker服务器之间的通信协议,Peer wire协议是BT客户机之间的通信协议。torrent文件内容采用了B编码。B编码是一种简洁的数据组织方式,支持4种数据类型:bytestrings、integers、lists和egers、lists和dictionaries类型分别以字母i、l、d作为首定界符,以字母e作为尾定界符。bytestrings类型不使用首/尾定界符,其格式为:,如4:spam表示字符串“spam”。这4种数据类型嵌套使用构成了.torrent文件的内容。其中,用*号代替空格以便于分析。BT客户机依次向.torrent中的tracker服务器发送连接请求,以获得正在下载该文件的对等方列表(主要是IP地址和监听端口)。假如连接成功获得列表,就关闭连接,尝试与列表中的对等方建立连接;假如不成功,尝试下一个tracker服务器。用ethereal抓包是如下数据:GET /announce?info_hash=%B39%BEeJB%7B%BA%08%8C%DA%B7%E3y%E9sN%20%B2%DC&peer_id=%2DSD0100%2D%CFQ%91%05%86%06%AD%DF%A9%90N%27&ip=2&port=80&uploaded=0&downloaded=0&left=116569407&numwant=200&key=22446&compact=1&event=started HTTP/1.0Host: User-Agent: BittorrentAccept: */*Accept-Encoding: gzipConnection: closedGET请求内容格式说明如下:info_hash:.torrent文件中的info部分的Shal校验码,共20byte。tracker服务器通过它在发布列表中找到对应的记录。peer_id:BT客户机的惟一性标志,在客户机启动时产生,共20bit。在BTV1.0中没有规定产生peer_id的算法,只要求能够保证惟一性即可。port:提供上传的端口号,亦即常说的监控端口。key:可选。一个扩展的惟一性标志,即使改变了IP地址,也可以使用该字段标志该BT客户机。uploaded/downloaded:上传/下载的字节数(从客户机向tracker服务器发送“started”开始计算),服务器可以用它来做流量分析。left:还需要下载的字节数。compact:压缩标志。假如值为1表示接受压缩格式的对等方列表,即用6byte表示一个对等方(前4byte表示IP地址,后2byte表示端口号);值为0表示不接受。 event:表明客户机的状态,只能是started、completed、stopped等3种中的一种。除了上面这些例子中包含的参数外,可选的参数还有:ip:可选。IP地址,没有的话服务器会自己找到。numwant:可选。客户机希望从tracker服务器得到的对等方的数目。trackerid:可选。假如在之前的announce中包含了trackerid,将其值设置在该处。服务器中有个track程序来治理这些请求,得到这一串代码后就会用info_hash来查找列表,若找到就可以下载。接着它会反连(NatCheck)客户机的IP地址和端口来判定它是内网用户还是公网用户(像10.10.10.x这样的地址。是无法连通的)。接下来服务器返回现在正在下载这个文件的所有公网用户的IP地址和端口。HTTP服务器返回数据如下:d8:completei88e10:incompletei70e8:intervali1800e12:minintervali1800e5:peers300: 4c 0a 8b 27 58 cb 3d 3c cd 64 69 dd da 00 42 0e 92 24 83 dd c0 ec 43其中“300:”及其之前的部分使用的是ASCII字符集,“300:”之后的部分是用16进制表示的二进制数。从分组内容可以看出interval的值为1800。也就是BT客户机最多每隔1800个时间单位就与tracker服务器重新联系一次:peers部分共有300 byte。BT客户机支持对对等方列表的压缩,”300:”之后每 6 byte表示一个对等方,例如4c 0a 8b 27 58 cb表示的对等方是9:22731对等方列表的长度为300 byte,也就是说返回的对等方个数为50个。BT客户机会尝试与返回的对等方列表中的部分对等方建立连接。当与某台主机建立TCP连接后,对等方的交互过程包括以下几步:1、 握手,通过Handshake分组实现。2、 互换所拥有的资源的情况。通过Bitfield分组实现。3、 互通对资源的意愿情况,包括interested、notinterested、choke、unchoke等4种。4、 互相请求资源,通过requestpiece、piece分组实现。5、 断开连接。经分析,BT应用程序的工作过程归纳如下:资源发布者制作.torrent文件并上载到种子发布站点,将客户机连入BT网络并在tracker服务器上发布信息。默认情况下,BT的监听端口为6881-6889,也可由使用者指定;tracker服务器的监听端口主要有8080、8000、6969和2710,它们采取的连接方式都是TCP。BT客户机(下载者)获取.torrent文件,并向.torrent文件中提供的tracker服务器依次发起连接请求,直至与其中之一建立TCP连接并获取对等方列表。使用Ethereal抓包分析,发现这些连接请求被接受的可能性比较小,一般不到10%。BT客户机(下载者)获取.torrent文件,并向.torrent文件中提供的tracker服务器依次发起连接请求,直至与其中之一建立TCP连接并获取对等方列表。使用Ethereal抓包分析,发现这些连接请求被接受的可能性比较小,一般不到10%。BT客户机随机地向列表中的对等方发起连接请求,因为对等方列表中对等方个数比较多,所以在短时间内发出大量TCP连接请求分组。这些分组的源地址相同,源端口号相邻,目的地址端口号不同,并且有相当一部分的目的端口号为6881-6889。假如连接建立成功,BT对等方之间进行握手,握手过程中使用特征字符串“BitTorrentprotocol”。然后使用interested、notinterested、choke和unchoke等4种分组互通对资源的意愿情况,之后通过RequestPiece和Piece分组传输资源。 资源传输完毕,关闭TCP连接。依据BT应用程序的这些特点,本文提出了检测BT流量存在的一种方法。该检测方法主要分4个步骤:1、特征字符串匹配。假如分组的负载中出现了字符串“BitTorrentprotocol”,表明有BT客户机运行,将该分组中的源IP地址和源端口号记为IP.port对,凡与此IP,port对相关的分组均判定为BT流量。2、特征端口匹配。所有使用6881-6889作为端口号的分组均被判定为BT流量。3、tracker服务器规则。将目的端口号为8000、8080、6969和2710的TCP分组的目的IP地址标记为tracker服务器,将源端口号为8000、8080、6969和2710的TC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 志愿活动策划方案公司文案(3篇)
- 陕西柱头灯施工方案(3篇)
- 校庆活动策划方案标语海报(3篇)
- 安徽省芜湖市鸠江区2024-2025学年高三上学期第二次月考思想政治试卷及答案
- 产品设计优化与测试工具包
- 个性化音乐培训合同
- 高一数学解题思路提升课教案
- 收获初二学期作文15篇
- 时间的授课课件
- 写景作文奇妙的大自然400字(11篇)
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 2025至2030年中国纳米抛光浆料行业发展监测及发展趋势预测报告
- 养老护理员培训班课件
- 2025-2030城市矿产开发利用政策支持与商业模式创新报告
- 隔爆水棚替换自动隔爆装置方案及安全技术措施
- 产品线库存管理与补货预测系统
- 2025年高考(山东卷)历史真题及答案
- 医学减重管理体系
- 咯血与呕血的护理
- 初中历史教师培训讲座
评论
0/150
提交评论