基于有效载荷分析的BT流量识别技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 9期
李明伟等 :基于有效载荷分析的 BT流量识别技术
2 23 1
阶段 ,重复的数据传输阶段等各个阶段中所发送的信息包中 都包含有特定意义的字串 。
图 1 BT数据传输正常过程图 1. 2 客户端之间交互的特征字串
表 1列出了各阶段在各种情况下所发送的信息包中所包 含的特征字串 。大部分的信息包有固定的大小 ,前四个字节 组成的整数和后一个字节表示的字符组成的用于识别这些信 息包的特征 。通过研究可以发现 ,信息包的大小可能会被不 同的 BT传输软件所改变 ,因而本文以信息包中前四个字节 组成的整数和后一个字节表示的字符为一个特征字串来识别 具体的信息包 。
1 B itTorrent协议特征字串
由于 BT协议的开放性 ,使得我们可以结合实际 BT交互 过程 ,深入分析 BT协议本身 。本文采取以下原则来选择 BT 协议的特征字串 :在 BT交互过程中必定会出现 ,且具有稳定 的形态 ,优先选择会重复出现的特征字串 ,同时为了不对识别 效率造成过大影响 ,要求特征字串越短越好 。由于特征字串 是包含在具体的数据包中的 ,因而本文将包含特征字串的数 据包称为特征包 ,选择特征字串实际就是选择特征包 。
图 2 实验环境 探针所使用的捕包分析器捕获流经该机器的所有数据 包 ,并还原到 TCP层之后利用上一节确定的关键字段识别提 取所有的 BT流量并记录具体的流量大小 。捕包分析器具体 工作流程如图 3所示 。
在考虑从各种信息包中选择用于识别 BT数据的特征包 时 ,从表 1 中可以看到 , B itfiled信息包中前四个字节的特征 不定 ,而且从图 1中也可以看到 ,其在整个 BT数据交互过程 中也不会重复出现 ,所以不考虑将其作为识别 BT数据的特 征包 。 Piece信息包包含的是客户所需的实际文件数据 , BT 协议将文件分成固定大小的片 ,封装在 Piece信息包中进行 传输 ,由于此信息包一般会大于 M TU ,在链路层会进行分片 处理 ,因而利用 Piece信息包的特征字串不能完整的识别整 个 Piece信息包 ,故亦不考虑将其作为识别 BT数据的特征 包 。Have、Unchoke、Interest共三 个 信 息 包 所 具 有 的 特 征 确 定 ,前四个字节和后一个字节有确定的数值 ,且在 BT数据传 输过程中会重复出现 ,很好的满足了选择特征字串的要求 ,因 而将这 3个包确定为所需的特征包 。此外 , Choke信息包是 在网络状态不好时发出 , Not2Interest信息包是在一方不需要 另一方数据时发出 , Cancel信息包则是在传输将要结束时发 出 ,且都具有固定的格式 ,因而可以将它们也作为识别 BT数 据的特征包 ,以提高识别的准确性 。所有这些信息包的特征 都是由五个字节组成 ,对识别效率的影响有限 ,同时可识别的
( lmw83828@163. com ) 摘 要 :为提高现有 BT流量识别技术的准确性 ,通过分析 BT协议和 BT实际传输数据 ,找出 BT 传输过程中必会出现的各种固定字串 ,以之作为特征字串 ,从而利用增加特征字串个数来提高识别准 确性 。实验表明 ,对比现有的技术 ,该方法能提高识别的准确性 ,克服因未捕获握手包而无法识别数 据流的缺陷 。 关键词 :网络流量 ;协议识别 ;特征字串 中图分类号 : TP393. 08 文献标志码 : A
Key words: network traffic; p rotocol identification; characteristic string
0 引言
随着网络的发展和普及 , B itTorrent (BT) 变得越来越流 行 ,其流量的迅速增长给网络运营带来极大的压力 ,对 BT流 量进行有效的监控也变得日趋紧迫 。而对 BT流量的识别则 是监控的基础 。
第 27卷第 9期 2007年 9月
Βιβλιοθήκη Baidu
计算机应用 Computer App lications
Vol. 27 No. 9 Sep. 2007
文章编号 : 1001 - 9081 (2007) 09 - 2230 - 03
基于有效载荷分析的 BT流量识别技术
李明伟 1 ,张大方 1 ,曾 彬 2 ,黎文伟 1 (1. 湖南大学 软件学院 , 长沙 410082; 2. 湖南大学 计算机与通信学院 ,长沙 410082)
Technology for iden tify ing BT traff ic ba sed on payload ana lysis
L IM ing2wei1 , ZHANG D a2fang1 , ZENG B in2 , L IW en2wei1
(1. S chool of S oftw a re, Hunan U n iversity, Changsha Hunan 410082, Ch ina; 2. College of Com pu ter and Comm un ica tion, Hunan U n iversity, Changsha Hunan 410082, Ch ina)
收稿日期 : 2007 - 03 - 19;修回日期 : 2007 - 06 - 04。 基金项目 :国家自然科学基金资助项目 (60673155) 。 作者简介 :李明伟 (1983 - ) ,男 ,湖南衡阳人 ,硕士研究生 ,主要研究方向 :网络测试 ; 张大方 (1959 - ) ,男 ,上海人 ,教授 ,博士生导师 ,博士 ,主 要研究方向 :网络测试、软件测试 、可信系统 ; 曾彬 (1979 - ) ,男 ,湖南邵阳人 ,博士研究生 ,主要研究方向 :网络测试 ; 黎文伟 (1975 - ) ,男 ,湖南 益阳人 ,博士 ,主要研究方向 :网络测试 、QoS。
在 BT传输的开始阶段发送的数据包中 ,一旦没有捕获含有 这个字串的数据包 ,整个 BT数据流就将无法识别 。
本文在各种基于有效载荷识别 BT流量研究的基础上 , 通过发现更多的特征字串 ,有效的提高了 BT流量识别的准 确性 ,其中对特征字串的要求为 :在 BT传输的全过程中能够 重复出现 ,有比较高的出现频率 ,且具有明显的特征 。同时 , 本文通过实验 ,与文献 [ 4 ]提出的经典的 BT流量识别方法进 行比较 ,证明利用这些字串能够有效提高对 BT数据流识别 的准确性 。
表 1 BT包有效载荷特征表
特征数据包的增加 ,和特征数据包在传输过程中的重复出现 使得对 BT数据识别的准确性也会有所上升 ,避免出现一旦 没有捕获握手信息包就无法识别接下来的 BT数据的情况的 发生 。
这样再加上普遍使用的握手信息包特征 ,从而确定以表 1中除 B itfield和 Piece信息包外的所有数据包为特征包 ,其 所具有的特征字串为用于识别 BT数据的特征字串 。
目前 ,就识别 BT协议的技术而言 ,比较流行的有两种 : 基于端口的识别技术和基于有效载荷的识别技术 。
基于端口的识别技术 [1, 2, 3 ]是根据 BT协议所默认的端口 6881~6889进行识别的 ,即将所有通过端口 6881~6889传输 的数据包都判定为 BT数据包 。然而当前 BT应用程序已经 能够利用任意端口进行传输 ,依靠端口进行识别的准确性无 法保障 。
用 m 表示非 BT流量的总量 , n表示将 BT流量识别为非
22 32
计算机应用
2007年
BT流量的总量 , t表示将非 BT流量识别为 BT流量的总量 , s 表示实际的 BT流量总量 。那么 FP的计算公式为 :
FP = t /m
(1)
FN的计算公式为 :
FN = n / s
(2)
低的假阳性和假阴性对识别的准确性很重要 。同时为了
对比 ,以文献 [ 4 ]提出的方法为参照对象 ,在同样条件下 ,测 量其方法的假阴性 。实验中其他对比协议的识别使用基于端
口的方法 。
3. 1 假阳性 为了测试假阳性 ,从 2006 年 10 月 11 日 09: 11: 28 时起
到 2006年 10月 11日 14: 38: 43时止 , 进行测试 ,且实验环境 中没有运行 BT软件 ,因而从理论上来说 ,不会捕捉到 BT包 。
BT协议交互分为两部分 :客户端之间的交互与客户端和 服务器之间的交互 。其中客户端和服务器之间的交互数据量 小 ,本文并不研究对这部分数据的识别 。 1. 1 客户端之间交互的过程
图 1描述了正常情况下客户端之间 BT数据的传输过 程 。在建立对等连接过程所发送的握手信息包中所包含的特 征字串就是“19B itTorrent Protocol”。此后的互传比特域信息
图 3 捕包分析器工作流程
3 实验验证与分析
为了研究 BT识别的准确性 ,用以下两个指标来评价准 确性 :
1)将非 BT流量识别为 BT流量 。测量这个错误的单位 是假阳性 ( False Positive, FP) 。
2)将 BT流量识别为非 BT流量 。测量这个错误的单位 是假阴性 ( False Negative, FN ) 。
为了解决基于端口的识别技术所存在的问题 ,许多研究 工作将重点放在了基于有效载荷的识别技术上面 。2004年 , 文献 [ 4 ]提出利用在 BT通讯的开始阶段 ,客户机所发送的握 手协议包中所包含的特征字段“19B itTorrent Protocol”来识别 BT流量 ,此后的许多基于有效载荷的识别方法都是在此基础 上进行的 。文献 [ 5 ]设计了一种基于 L ibpcap 的精确捕捉 BT 数据包的系统 ,并根据此系统捕获的数据得出 BT流量呈现 自相似 性 的 特 性 , 但 是 其 对 BT 数 据 的 识 别 仍 然 是 利 用 “19B itTorrent Protocol”这一特征字段 。文献 [ 6 ]则在文献 [ 3, 4 ]的基础上进行了改进 ,提出利用“19B itTor”来识别 BT数 据 ,即通过减小特征字段的长度来提高数据识别的效率 。可 以看到在这些研究中所利用的特征字串仅有一个 ,且仅包含
2 识别方案设计
本文在实验室内部网络搭建实验环境 。如图 2所示 ,实 验利用装载 B itTorrent软件的 PC 通过 Internet上传下载 BT 数据 ,在局域网出口路由器通过端口镜像的方式并联一个数 据包采集探针 ,探针配置为监测所有流入 /流出该进行 BT业 务的机器 。实验所采用的探针使用基于网络处理器的采集 板 ,保证了采集数据的精度 ;同时以并联方式接入 ,不会对现 有网络造成任何影响 。探针抓获的数据包通过 2~7 层协议 解码分析 ,最后交付分析中心做进一步处理 。
Abstract: To enhance the accuracy of the existing technologies for identifying B itTorrent (BT) traffic, the fixed strings that appeared in BT transm ission p rocess w ithout failure were found out by analyzing BT p rotocol and BT transm ission data, and set to be characteristic strings, consequently enhanced the accuracy by increasing the number of characteristic strings. Compared w ith the existing technologies, the method can enhance the accuracy of identification and overcome the lim itation that data traffic cannot be identified because of m issing hand2shake packet.
相关文档
最新文档