已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)局域网下针对p2p流量识别技术的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 户端识别模块与系统之间的通信安全。 整个系统采用了多种识别方法楣结合,扶不同的层面对p 2 p 流量进行识别, 与传统的p 2 p 流量识别方案相比,能在一定程度上提高局域网中p 2 p 流量识别 的效率和准确率。 关键词对等网络;流量识别;进程;标志位 山东大学硕士学位论文 c h a n c o n 】p 盯i l l g 、i t ht h e 仃a 拙i o n a lp 2 pi d e n t i 丘c 觚o n 科s t e 驰t l 屺鹏ws y s t e m s u g g e s t e dh e r eh 嬲t h e 岛l l o w i l l gf b a t e s 舭da d v 舭t a g 韶: i tc 肌刚l et h ep r o b l e mo f i d e n t i f i c a t i o n 筋l u r ef o rm ep o r t1 1 0 p p i l l g 锄dd 砒a 即c d ,p t l o nc a u s e db yt h e 仃a d i t i o n a lm e t h o de f f b c t i v e l yb yi m m d u c i l l gt l i e i d e n t i 丘c a | i o nb 嬲e d p r i o c e s sj i lt h ec h e mh o s 峨i t 啪d u c et l l e1 0 a do fs e r v e r e 虢c t i v e l y 锄di 叫) r o v em e i ri d e n t m c 甜i o ne m c i e l l c y 研mt h ec o m b m a t i o n so f o n e - p o mi d 锄t i f i c a t i o n 锄di 珊l t i p l e - p o 缸i d e m i 6 c a l i o n 锄dc o m b i i i a t i o n so f 删。吣 i d e n t i 6 c a t i o nm “h o d s ;i tc a l l i n 】p r o v e t l l e a b i l j 锣o fa 咖d i i 玛a n dr e l l 砒g i d e n t i 矗c a t i o n 锣s t e r 瑙b y 砬r o d u c i l l gt h em a n a g e n 砖ms y s t e m so fi d e n t i f i c a t i o n 曲g h e s ;i tc a ne 璐u r et i l ec o m m u n i c 砒i o n 鞠鲫k t 、咖1 l l ei d e n t m c a 土i o n 啪d l l l 豁i n c l i e n t 肌ds y s t e m sb y 砷d u c i l l gt 1 1 en 埒c i l a m s mo f t l ss a f ec o 删删i i i i c a i j o 眦 t h ew h o l e 锣s t e mc 龇n o to n l yi d e n t 母t l l ep 2 p 打a m ci nd i 侬鹏ml e v e l s 谢t h 1 量l e m b i i l a t i o 璐o f r i 0 吣i d e n t m c a t i o nm 劬o d s ,b ma l :i 唧r o v et h e 锄c i e n c ) , 粕d c l l r a c yo f i d e m i 黟i n gp 2 p 打碰ci nl a n t oa 鲫t 懿t e n tc o n 驴a r i l l g 祈1 1 1m e t m d j t i o n a li d e m m c a t j o nm e t h o d so f p 2 pt r a 币c k e yw o r d sp 鬯卜t o - p r ;仃a m ci d e n t i 矗c a d o n ;p m 嘲s ;n 驾b “ 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名:勉蠡 日期: 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅:本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:毯童导师签名:i 盟日期:翻:! 旦:望 山东大学硕士学位论文 1 1 背景介绍 第l 章引言 “中国电信公开承认,在宽带流量和商务方面,p 2 p 正在成为颠覆性的技术。 长途网骨干网流量中5 0 多是p 2 p ,东部地区城域网有的省份白天p 2 p 下载占 用了总带宽的6 0 7 0 ,晚上甚至有9 0 。这种状况非常不合理,直接导致监 管困难,并引发了信息安全、版权纠纷等一系列问题。”【l 】 “美国国会政府改造委员会在2 0 0 7 年7 月2 4 日举办一场听证会,焦点在于 p 2 p 档案交换网络可能泄露美国国家机密,打算寻求立法保护国家安全,同时, 专门防范大型机构及政府单位数据外泄的t i v 豇鼢则发布调查报告指出,p 2 p 网 络不但泄露了个人或企业的机密信息,同时也可以从中找到政府机密档案。”冈 上面是近期两条关于p 2 p 的新闻,可以看出现在很多方面对p 2 p 都极为关 注。尤其是近几年来,p 2 p 应用程序的使用得到极大的发展,网络上流行的p 2 p 业务,包括文件共享,即时通信,协同计算,联网游戏等带来的网络流量,已经 超过了h r r p 和f t p ,成为互联网网络流量的主力军,给网络带来很大的负担, 其影响在局域网环境下尤为明显。 相对于传统i n t e m e t 业务而言,p 2 p 业务存在以下诸多问题: ( 1 ) 引起链路阻塞:p 2 p 用户通常长时间、不分时段地进行高速下载,占用 高达6 0 8 0 的网络出口带宽。另外,p 2 p 业务还会产生较大的上行 流量,这对于非对称、偏重于下行流量的网络设备造成综合性能影响, 最终导致在流量较大时引起企业或i s p 的瓶颈链路的阻塞。 ( 2 ) 严重影响正常业务:p 2 p 用户以尽可能快的速率下载各种数据文件,消 耗大量带宽。它直接影响到了单位重要网络业务的运行,而且单位不得 不投入更多的资金进行网络设备扩容。 l 山东大学硕士学位论文 基于前面的研究,设计实现了一个p 2 p 流量识别系统。该系统由以下五大功 能模块构成,其中客户端识别模块部署在局域网中的各客户端主机上,其它模块 部署在局域网到互联网的出口服务器上。 ( 1 ) 数据捕获模块:在局域网的出口或者网络中需要对p 2 p 流量进行管理的 网段处设置数据捕获点,并把负责数据捕获的主机的网卡设为混杂模式, 采集所有流经该采集点的流量数据。此模块主要完成的工作包括:根据 系统相关配置调度捕获任务、从网络接口卡捕获原始数据包、对原始数 据包进行协议解析等。 ( 2 ) 流量识别模块:该模块对所有捕获的网络数据包按照流进行划分,通过 使用端口匹配识别引擎、载荷检测识别引擎、连接模式识别引擎、p a i r 法识别引擎、传输层标志位识别引擎和传输层数据分组尺寸识别引擎对 流进行识别。 ( 3 ) 管理控制模块;该模块根据系统对网络流量的管理策略对p 2 p 流量进行 控制。例如:利用速率限制将网络出口的p 2 p 流量限制在一定的带宽之 内;利用时段政策,在不同时段对p 2 p 有不同的限制,减少其在重要任 务和带宽敏感业务运行时引起的阻塞。另外还要实现: 识别监测数据处理:对接收到的识别数据和可疑进程监测数据进行 相关处理。 p 2 p 进程库管理:完成创建、修改及升级p 2 p 特征进程库等工作。 ( 4 ) 客户端识别模块:客户端程序在服务器上下载p 2 p 进程库,与本机运行 的进程做比较,如果检测到匹配进程,则将该进程与外部主机的流量信 息报告给系统,由系统根据情况选择不同的处理方法。此模块主要包括 以下几个部分: p 2 p 进程库更新:负责从服务器下载最新的p 2 p 特征进程库到客户 端。 p 2 p 流量识别:查找主机上的p 2 p 进程,确定其产生的流量。 3 山东大学硕士学位论文 2 2p 2 p 体系结构 在 5 】中,按照中心化程度和网络结构p 2 p 系统分为以下几类: 1 按中心化程度分类 ( 1 ) 完全非中心化结构;所有结点有着相同职责而不考虑它们的性能、位置 或提供的资源。所有结点执行相同的任务,既作为服务器又作为客户端, 不需要中心结点。这种结构出现在早期的吼u t e u a 中,由于效率低下, 很少再用。 ( 2 ) 部分中心化结构:某些结点比其它结点担负更多的职责,扮演局部服务 器的角色并提供与其它超级结点的联通,这种结构形成了一个二级层次 结构,从而比完全非中心化结构具有更好的性能。这种结构在文件共享 系统中,例如在飚t t m c k 、新版本的g n u t e a 中常用到。其中的超级节 点通过动态选举产生,不会产生单点失效的问题。 ( 3 ) 混合非中心化结构:此结构中存在一个或多个服务器用于协调p e 盱之间 的交互,甚至可以提供像文件查找这样的服务。n a p s t e r 就是采用这种结 构,与前二种结构相比整个系统对服务器的依赖较大,对故障的适应能 力较差,它与部分中心化结构的差异只是存在与软件方面,在部分中心 化结构中,超级节点被动态的推选出,在为其它p r 提供服务时本身仍 是p e 即,提供服务可被看作是“兼职”,而在混合结构中服务器由于要 提供服务,所以在性能等方面要优于p e e r ,这里服务器可看作是“全 职”的。 2 按网络结构分类 p 2 p 系统构建了一个覆盖网络( o v e d 锣n e t w o r k ) ,每一个p r 维护着与某 些p r 的连接。由于结点频繁的加入和离开网络使得覆盖网络的拓扑结构不断 变化,这种结构亦可称为a d - h o c ,它与底层的物理连接和主机内容无关,可以有 效的利用网络和资源定位。 按照结构层次可以分为以下几类: ( 1 ) 非结构化网络:数据的位置与网络拓扑结构完全无关。由于无法事先知 道所需要资料的位置,故查找就是随机的向某些结点发出请求,这些结 点再向邻居结点查询是否有匹配的资源,使用这一机制可以使发起者访 6 山东大学硕士学位论文 问到整个网络。尽管在覆盖网络构成和查询机制上有所不同,但在总体 上看,非结构网络存在查询效率低、伸展性差和网络利用率低的问题。 这种结构在文件共享型系统中广泛使用,由于用户出于某种原因只想得 到文件而不想存储其它的文件,或是用户不关心性能方面的问题。想要 解决非结构化网络中的性能和扩展问题,可以考虑引入部分中心化或混 合非中心化模型,使查找仅在超级节点或服务器上完成,用户只向本地 超级节点服务器提出查询要求,这种2 级结构可以改善性能和扩展性。 ( 2 ) 结构化网络;网络拓扑结构与主机内容紧密相关,文件( 或指向文件的) 指针存储在特殊的位置,通过某种算法完成文件标识符的位置的映射, 利用分布式路由表( 通常是哈希表) 将查询转发到相应主机。结构化网 络的缺点是: a ) 由于结点频繁加入和离开网络造成路由表难以维护 b ) 难以实现将关键字查询映射到一个唯一的文件标识符 ( 3 ) 松散结构化网络:介于结构化和非结构化网络之间,例如f r 啪e t ,在这 类系统中,文件位置与拓扑之间的映射是不完整的,这有可能导致查询 的失败【6 】。 2 3p 2 p 行为特征 1 异质性 研究结果显示,在p 2 p 系统中存在大量的异质性。连通性、带宽、延迟和共 享度等参数在一个系统中可以相差3 5 个数量级口叫。 7 山东大学硕士学位论文 大于上行带宽,从图2 1 中可以清楚地看到节点的带宽分散分布在l o k b p s 与 1 g b p s 之间。其中2 0 的节点上行带宽低于1 0 0 k b p s 下行带宽低于l m b p s ,同时 大概也有2 0 的节点上行和下行的带宽部高于l o m b p g 。 n a p s t 盯中的情况与此类似。从图2 2n a p s t e r 中节点的下行带宽分布图。1 中 可知,约有6 0 的节点下行带宽介于1 0 0 k b p s 与l o m b p s 之间,约有1 5 的节 点下行带宽高于l o o m b p s 。 由以上数据可以显示出,无论在n a p s t e r 还是在g l l u t e u a 系统中,最高的节 点带宽和最低的节点带宽之间相差5 个数量级之多,节点的网络带宽具有异质 性。 2 偏离性 除了异质性外,p 2 p 网络中流量、连通性、平均带宽利用率和在线时间的分 布都显示出极度的偏离。少数的主机在这些参数上占有较大的比例,这一点对于 p 2 p 流量的识别是有利的。如果能够识别出1 0 的最活跃的p r ,也就意味着可 是识别出9 0 的p 2 p 流量。 【9 】分别在国u t e n a 、风t t r k 和d i r e c t c o 彻e c t 中对主机的连通性、流量、 在线时间和平均带宽进行了研究。显示结果呈尾状分布,而不是符合z i p f 法则 的直线形分布。即便是限定在1 0 的最活跃p e e r 的范围时,也是如此。无法利 用z i p f 法则构造出一个有效的模型来识别p 2 p 流量。 从对主机分布、流量分布、流量与时间、带宽、主机连通性、拓扑、连接时 长、端口等方面的研究工作可以总结出p 2 p 的两个行为特征:异质性和偏离。到 目前为止,还未找到可以用于p 2 p 识别的精确特征,由于未能找到确定的公共特 征,所以对p 2 p 系统实施“各个击破”的方法,是符合实际情况的研究方向。 2 4p 2 p 识别技术的研究现状 当前,p 2 p 识别技术是流量管理领域研究的热点,新的技术不断出现,下面 是国内外研究的一些现状。 2 4 1 主动爬行器识别 主动爬行器识别是利用一个经过修改的p 2 p 客户端( 称为洲l e r ) 对p 2 p 9 山东大学硕士学位论文 签名的列表对要识别的流量进行检测。对于每个分组都要与列表中的签名进行比 对,若相符则为p 2 p 流量。签名检测在入侵检测中已经应用了一段时间。在某些 s 中这种方法已被配在防火墙上用于检测p 2 p 流量,这种方法较为有效和灵活。 如果在一个较小的子集正常活动行为中是可知的,而且特殊服务仅限于特定的主 机时,防火墙便可以有效的拒绝p 2 p 的访问【1 0 】。 例如:e 1 0 n k e y 网络是由p e e r 和e d o n k e y 服务器组成。在搜索阶段,每一 个p e e r 通过t c p 连接到一个e d o n k e y 服务器上,并发送一个查询请求到e d o l l k e y 服务器上,通过服务器来查找能够提供所需内容的p e e r 的信息。在传输阶段, p r 通过t c p 直接建立连接,然后下载自己所需要的东西。 在研究e d l o n k e y 数据包之后,发现在搜索阶段和传输阶段有如下一个通用的 e d 0 n k e y 头在t c p 头之后: i协议d ( 1 b y t e )1分组长度( 4 b y t e )i 在这里,协议m 的值始终是1 6 进制的0 x e 3 ,分组长度的值是t c p 数据包 的长度减去e d o i l k e y 头的长度( 5 字节) 。于是可以从分析结果中提取出如下的 特征值来识别e d o n k e y 协议: ( 1 ) 在t c p 头后面的第一个字节的值应该是( o ) 【e 3 ) 。 ( 2 ) 接下来的4 个字节应该是分组长度,其值应是t c p 数据包的长度减去 e d 啪k e y 头( 5 字节) 。 内容检查对p 2 p 的识别虽然有效,但也存在以下几方面问题: ( 1 ) 无法识别经过加密的数据流量。 ( 2 ) 签名经常变化,需要不断的随着p 2 p 协议的变化而更新。 ( 3 ) 对s 的更新是比较困难的,因为这涉及到许多设备和硬件,需要花费 不少的费用。 ( 4 ) 应用层的内容检查对资源的消耗和对硬件的要求较高。 ( 5 ) 需要对原有的网络设备进行升级改造。 2 4 3 端口识别 大多数p 2 p 应用程序使用特定的端口号与其它p e e r 交互,其它的p e e r 向这 个端口发送请求,而后在建立的连接上回复。相反的,当向其它的p e 盯发送请 1 1 山东大学硕士学位论文 求时,使用本机上的一个随机端口连接到对方p e e r 的公开端口上,这种特性在 h t e m e t 上的c s 模型中常会见到。p e e r 应用程序使用默认的端口号,这一点可 以区别不同的流量。但问题在于这一服务端口并不是固定的。用户为了通过防火 墙或逃避检测可以随意改变监听端口( 这被称为端口跳跃) ,p e e r 可以选择任意 的端口用于监听连接,甚至可以在每次使用客户端软件时随机选择端口。 在早期,利用已知传输层端口号可以精确、快速的区分流量。但是现在许多 p 2 p 程序为了躲避防火墙的限制,开始使用端口跳跃( 甚至使用8 0 ,8 0 8 0 ,“3 等端口) ,这使得基于端口的流量识别变得十分困难。即 2 4 4 特征参数识别 利用p 2 p 系统表现出的某些特征来完成识别叫,这些参数可以分成四类: 1 拓扑参数:用于描述应用层上的拓扑关系等。例如跨网络的p e e r 分布以 及它们之间的连通性。 2 流量特征参数;衡量不同节点发送或接收到的流量以及流速。 3 ,动态行为特征参数:在实际p 2 p 系统中观察到的各种行为。例如:主机 加入或离开系统的频繁程度,p e e r 在系统中的停留时间等。 4 社会行为特征参数:描述多少主机加入网络、内容的分布以及共享的程 度等。 2 5s s l 厂r l s 1 9 9 4 年n e t s c a p e 公司为了保护w e b 通信协议h 兀卫,开发了s s l ( s e c u r e s o c k e tl 锣e r ) 协议【1 2 1 。随后n e t a p e 公司将s s l 2 o ,集成到自己的n 撕g a t o r 浏 览器和w 曲服务器等i n t 锄e t 产品中。s s l 2 0 协议可以较好解决w 曲通信中的 安全问题,得到大家的普遍关注。微软公司在此协议的基础上进行了修改,发布 了p c t ( p r i v a t e c o m m l l i l i c a 硒n t e c h n o l o g y ) 协议,并应用在浏览器等产品中。 2 年后n e t s c a p e 公司发布了s s u 0 ,该版本增加了对更多算法的支持和一些新 的安全特性,并且修改了前一个版本中存在的安全缺陷,相比s s l 2 o 更加成熟 和稳定,因此很快成为事实上的工业标准。1 9 9 7 年,硬t f 基于s s l 3 o 协议发布 了t l s l o 仃r 锄驴nl a y e rs 眦i t y ) 传输层安全协议的草案,m i c r o f l 公司放弃 1 2 山东大学硕士学位论文 了p c t 和n e t s c a p e 公司一起宣布支持该开放的标准。1 9 9 9 年,正式发布了 r f c 2 2 4 6 。 t l s 协议的基本设计目标是为两个通信实体之间提供数据的保密性和完整 性,该协议分为两层:t l s 记录协议和t l s 握手协议。 1 记录层协议 记录层从高层获得任意长度的数据,对数据进行分块,每块的最大长度为 2 1 4 字节。每个数据块结构中都包含数据类型、协议版本号和要传输的数据。然 后对每个数据块进行压缩,压缩后的数据按照握手过程中协商的散列算法计算 m a c ( m 豁s a g ea l l m e n t i c a t i o nc o d e ) ,并将压缩后的数据连同m a c 一起用握手 过程中协商的加密算法进行加密,发送给接收端。接收端的记录层收到后首先解 密,然后根据m a c 对数据进行验证,再经过解压缩、合并,最后传送到高层。 记录层从高层获得的数据类型可以是握手消息、修改密码参数消息、报警消息以 及应用数据。接收端记录层收到消息后针对不同的数据类型分别交给握手协议的 不同模块进行处理。记录层的发送过程如下;”1 ( 1 ) 对来自上层的消息和数据分组成为记录; ( 2 ) 用协商好的压缩算法压缩数据; ( 3 ) 用c i p h e f s p e c 中的m a c 算法计算m a c 值 ( 4 ) 用c i p l 研s p e c 中的加密算法对数据加密; ( 5 ) 发送数据。 记录层的接收过程与此相反。 t l s 记录协议建立在其它可靠的传输协议之上( 例如t c p p ) ,s 记录 协议提供的连接安全性有两个基本特点: ( 1 ) 该连接是保密的。在数据加密中使用了对称密码算法( 例如d e s ,r c 4 等) 。对于每个连接,都要根据握手协议协商的秘密产生一个唯一的对 称密码算法密钥( 会话密钥) 。 ( 2 ) 该连接是可靠的。消息的传输使用了加密的m a c ,在计算m a c 时使用 了安全的h a s h 函数。 记录协议用于封装高层的协议,例如t l s 握手协议。握手协议使客户和服 务器之间相互进行认证,并协商加密算法和密钥。 山东大学硕士学位论文 2 握手协议 握手协议用于建立安全通信信道。双方协商版本号、加密算法和h 嬲h 算法, 相互验证身份,最后用公钥加密技术交换主密钥。握手过程如下:【1 4 l ( 1 ) 客户端和服务器依次向对方发送h e l l o 消息( 包含所用s s lv e r s j o n 、会 话标识、压缩算法、加密算法、随机数等) ,以协商算法,交换随机数。 ( 2 ) 客户端对服务器认证,若成功则继续下一步,否则连接失败。客户端创 建p r e - 肌l s t 小k e y ,用服务器的公钥加密p r e - m 嬲t e r - k e y 并传送给服务器。 若服务器对客户端有认证请求,则向服务器发送客户端的证书和数字签 名。 ( 3 ) 服务器对客户端进行认证,若不成功则中止会话;若成功,则由 p r e m a s t 盯- k e y 等计算出主密钥删l s t e r - k e y 。 “) 服务器和客户端根据主密钥分别产生自己的写密钥和读密钥,用于加密 和解密。 ( 5 ) 至此握手结束,以后将使用会话密钥加密、解密、验证数据完整性。 t l s 握手协议提供的连接安全性具有以下三个基本特点: ( 1 ) 对等的实体可以使用非对称密码算法( 例如r s a d s s 等) 进行认证。 这种认证是可选的,但是通常至少需要对一方进行认证。 ( 2 ) 共享秘密的协商是保密的。即使攻击者能够发起中间攻击,协商的秘密 也不可能被窃听者获得。 ( 3 ) 协商是可靠的。攻击者不能在不被发现的情况下篡改协商通信数据。 t l s 协议的一个优点是其对于高层应用协议的透明性,高层应用数据可以使 用t l s 协议建立的加密信道透明的传输数据。同时,t l s 协议不依赖于底层的 传输协议,可以建立在任何能够提供可靠连接的协议之上,例如t c p ,s p x 等 等。 2 6 主机进程 进程可以看作是一个具有一定独立功能的程序在某个数据集合的一次运行 活动。【1 5 l 1 4 山东大学硕士学位论文 2 7w i n p c a p 简介 w i n p c 印( w i n d 0 、sp a c k e tc a p t i l r e ) 1 6 1 是w i n d o 粥平台下一个免费公开的网络 访问系统。使用谢n p c a p 可以为砒3 2 应用程序提供访问网络底层的能力。它提 供了以下的各项功能: ( 1 ) 捕获原始数据报,包括在共享网络上各主机发送,接收的以及相互之间交 换的数据报; ( 2 ) 在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过 滤掉; ( 3 ) 在网络上发送原始的数据报; “) 收集网络通信过程中的统计信息。 w i l l p c a p 的主要功能在于独立于主机协议( 如t c p ,1 p ) 而发送和接收原始 数据报,为提高效率,其数据包过滤在系统内核里来实现。 图2 3 w i n p c a p 结构图 在此,我们采用了最新版本的开发包w i i l p c a p4 o 来实现数据捕获模块,开 发包中内置的内核层实现的b d f 过滤机制和许多接口函数不但能够提高数据捕 获部分的效率,也降低了开发的难度。w i n p c a p 的结构如图2 3 所示【堋。 1 6 山东大学硕士学位论文 数据流并用兀p c 1 r l 和兀p - d a t a 表示。 如图3 一l ( a ) 所示,9 删- b 矿5 0 9 9 e 哪删t r l 尸7 2 蹴,0 卿p - d a t a ) - 2 1 2 ,0 卿h r = 1 6 3 ,可以看出b t 和f r p - c n 也流p s h 标志位数量明 显高于f 1 p d a t a 和h m 。这可能与应用程序处理数据的需求有关,通常当两 个应用进程进行交互式的通信时,一端应用进程希望在键入一个命令后立即就能 够收到对方的回应,发送端发送报文段并置p s h 为1 ,接收者将接收的数据不必 缓冲而直接交付应用程序。 如图3 1 ( b ) 所示,对于s q 标志位b t 、f 1 甲c t i 与m 1 p 流相差无几( 均 在2 屯4 之间) ,但e ( s y n 胂a t a ) 仅有o 0 7 ,具有显著的差异。估计产生 这一现象的原因是由于s y n 标志位用于建立连接时同步序号,只在建立t c p 连 接时使用,而f 】m 多数用来传输大尺寸的数据文件,单个流所包含的分组数量 较多,从而得到较小的值。 8 0 柏 2 0 o o 6 o 4 o 2 o -_ _ 一一墨 25 i 2 - 1 51 一一 o 5o _ 一_ 山东大学硕士学位论文 筮 枣 i 田 l 口 盛 黑 枣 筮 求 i 口 扣 盎 熹 求 _ l- 誓l 一- 一_ 一 分组尺寸( b y t e ) 3 - 2 ( a ) b t 流的数据分组的尺寸统计结果 _ 一 辱 | | | l | | | | | | | | = _ i | | | | | | _ 一_ - 一- 一一 一 山东大学硕士学位论文 s o 丑 末4 0 i 田 如3 0 套z o 枣1 0 0 l 1 分组尺寸( b y t c ) 3 - 2 ( d ) 兀p m 流的数据分组的尺寸统计结果 从以上图表中可以发现以下几个特点: ( 1 ) m 命令流中的数据分组尺寸均不超过3 0 0 b y t e 。猜测这是由于数据分组 中只包括f 1 m 命令的编码数据,故尺寸较小。 ( 2 ) h r t p 流和b t 流的数据分组尺寸分布相似,1 0 0b y t e 以下小尺寸数据分 组和1 4 0 0 b y t e 以上大尺寸数据分组占总数的7 0 以上。 ( 3 ) f 1 限数据流中的数据分组尺寸表现出“两头极多,中间极少”的特征, 其中1 0 0 b y t p l 2 0 0 b y t e 数据分组只占总数的1 左右。产生这一现象的 原因可能与f r p 主要用于传输大型文件所以数据在底层分成尽量大的片 段进行传输有关。 3 1 3t c p 握手时间 p 2 p 系统中的p e 盯与传统模式下的服务器,无论是从硬件性能还是软件工作 模式上应该是有许多区别的,这些区别是否能够反映在t c p 的连接上呢? 通过 对不同协议建立t c p 连接所花费的时间进行测量,结果如图3 3 所示。 由图3 3 可以清楚地看出h 兀p 流与b t 数据流在建立t c p 连接时所花费时 间的分布区间相近,只是在快速连接所占的比例上,m 1 p 流略高于b t 流,两 者没有较明显的差异。 山东大学硕士学位论文 1 7 d 筮 求 田5 0 聚 略柏 2 0 1 0 o ,”一1 。 ? , 厂? ,厂 , 7, i 良l0 2 如3- 5 o 6o 7枷ji 且 l d 握手用时( 秒) 图3 - 3 阴p 流与b t 流t c p 握手时间的累积分布 3 1 4 数据流头部分组分布 h m 一盯 在p 2 p 流量识别中,若能在数据流产生的早期就可以完成快速的识别,这无 疑对p 2 p 流量的管理和整形具有较大的意义。为此,将捕捉到的3 种协议的流量 中t c p 连接建立后的前三个数据分组进行了测量,结果如图3 4 所示: 由测量和分析可以总结出以下几点: ( 1 ) 在m ”流中,前3 个分组的相对时间( 以流的第一个分组的为基准) 在o 0 0 3 s 4 s 之间,尺寸在6 4 b ”p 1 5 1 8 b y t e 之间均有分布,在“b y t e 、 2 0 0 8 0 0 b y t e 和1 5 1 8 b y t e 上比例较大,平均分组尺寸为6 0 7b y t e 。 ( 2 ) 在b t 流中,前3 个分组的相对时间在o 1 l p 5 6 s 之间,尺寸在 6 4 b y t e 3 7 3 b y t e 之间均有分布,在6 4 b y t e 、2 0 0 b y t o o b y t e 和1 2 6 b y t e 上比例较大,平均分组尺寸为1 4 3b y t e 。特别是在第一个分组上,绝大 多数尺寸都为1 2 6b y t e ,而这一尺寸分组在其他流中还未见到,可以作 为b t 流的一个重要特征。 ( 3 ) 在f t p 流中,前3 个分组的相对时间在o 1 3 卜2 s 之间,分组尺寸在 6 4 b ”e 1 5 1 8 b y t e 之间均有分布,在6 4 b y t e 、1 0 0 b y t p 8 0 0 b y t e 和 1 5 1 8 b y t e 上比例较大,平均分组尺寸为4 3 1b y t e ,与h 兀 p 流较为相似。 山东大学硕士学位论文 1 7 1 0 嘭 舞“ 枣m 忉 囊m 求 静 馨 一0 怒 + 一 降_ l *_ 12z 53 玉54 相对间隔时间( 秒) 图3 - 4 ( a ) h t i p 数据流头部分组分布 ,l 翟, _ _ _ m _ _ 1 m g ” 求 25 相对间隔时间( 秒) 图3 - 4 m ) b t 数据流头部分组分布 舂:逡一: o“2 o i1 21 一1 1 工2 相对间隔时间( 秒) 图3 - 4 ( c ) 兀p 数据流头部分组分布 , 2 4 山东大学硕士学位论文 第4 章系统总体结构与设计 4 1 系统的设计思路 想要实现一个好的p 2 p 流量识别系统是一项复杂而艰巨的工程,网络拓扑结 构的类型、数据库的选用、数据包捕获方式、流量识别的方法都会对系统产生重 大影响。特别是采用什么样的流量识别方法会直接对识别的准确性和效率产生影 响。 本章主要设计和实现面向局域网的p 2 p 流量识别系统,能够对整个局域网的 流量或者某些特定主机的流量情况进行实时监测,及时有效的发现和识别其中的 p 2 p 流量,并根据策略进行相应的管理。该系统可以作为局域网网络管理系统的 一部分,设计的主要目标和依据是:近几年来p 2 p 应用程序的使用得到极大的发 展,现在网络上流行的p 2 p 业务带来的数据流量,已经超过了以前的h 兀t 和 f 1 p 的数据流量,其产生的网络流量占到了整个i m 锄d的一半以上,给网 络带来较大的负担。由于这类应用的普及和对网络带宽的较大需要,从而使得对 对该部分流量难以做出统计和控制。基于上述状况,通过研究新的识别方法和设 计新的识别系统,提高局域网网络流量管理的水平。 本系统在设计时采用以下原则和策略: ( 1 ) 采用层次化、模块化的设计思想,使系统具有良好的可扩展性; (2)在保证系统性能的同时,对网络性能的影响和对资源的占用降到最低; ( 3 ) 尽量避免在引入新系统时产生安全问题及安全隐患; (5)系统应具有良好的扩展性,有利于新的识别引擎的引入。 基于上述设计原则并考虑到系统的通用性、可移植性和运行效率,系统运行 平台采用microfiw 抽d o w s2 0 0 0 ,采用v i s u a lc + + 6 ,o 【”1 作为开发工具,采用 microfi s q ls e r v e r 2 0 0 0 【1 9 】作为流量记录、系统策略、识别信息和系统设置等数 山东大学硕士学位论文 m s i 肛e d c h a r b y t e 4 ; i pa d d r 器s ; 存储m 包头的数据结构为结构体i ph e a d ,其定义如下: t y p e d e f s t 九l c t4 ) - h e a d e r s i 印e d d wv 吼- m l ; 4 位疋版本号+ 4 位口头长度 u s i 驴e dc h a rt o s ; ,8 位服务类型1 o s 吼s 咖e d 曲o f tu e n :,1 6 位包的总长度( 字节) m s i 印e ds h o nf l a 擎。脑e t ; 3 位标识位+ 1 3 位分段偏移 u l l s i 弘e d c h a rt n ; ,8 位生存时间1 1 匝 吼s i 印e dc h a rp r o t 0 ;,8 位协议( t c p ,u d p 或其它) m s i 印e d s h o nc r c ; 1 6 位口首部校验和 币a d d r 鼯ss a d d r ; 3 2 位目的地址 吐州出器sd a d d r ; ,3 2 位源m 地址 岫s i 驴e dj l i to 叫a 止 ,选项+ 填充位 i p _ h e a d e c 存储t c p 包头信息的结构体为t c ph e a d ,其定义为: s 劬埘t c p j l e a d l | 1 1 s i g n e ds h o n u r p o r t ; ,1 6 位源端口 吼s i g l l e d s h o r td e s t p o n ;,1 6 位目的端口 u n s i 朗e di n c s e g n o ;3 2 位确认号 m s i 驴e di i i th 帕;,3 2 位序列号 _ 1 s i g l l e dc h 盯n a 吕6 位标志位 吼s i 印e d s h o r t啪d s i ; 1 6 位窗口大小 l | i l s i 驴e ds h o r td l k s u 珥 ,1 6 位校验和 吼s i g n e ds l l o nu 徊) 廿; 1 6 位紧急数据偏移量 存储u d p 包头信息的结构体为u d dh e a d 其定义为: s 仇i c t u d ph e a d 叫1 s i 印e ds l l o r td e s t p o r t ;1 6 位目的端口 m s i g n e ds h o r tu r p o r t ; 1 6 位源 l 霉耋 结构较多,此处只列出部分数据结构。 定义口v 4 地址的结构体i pa d d r e s s 如下: t y p e d e fs t 】r u c ti p 瓢l d i伪s 山东大学硕士学位论文 的信息,这是捕获数据包的物理基础。 因此,对于共享网络,只需将流量采集点的网络置为混杂模式并连接到共享 网络中,就可以实现采集网络流量数据的功能。对于交换网络,需要交换设备的 支持( 如具有端口镜像的交换机) 。【2 q 将网卡设备设置为混杂模式后,可以直接调用w i n p c a p 库函数实现网络数据 包的捕获,其主要的程序流程如图5 1 所示。 图5 - l 网络数据包的捕获流程 此过程的核心实现代码如下所示: 衔n c l u d e ”p c a p ” m a i n ( ) 获取设备列表 i f ( p c 印血d a l l d e v s _ e 印c a ps r c j 弧i n qn i j ,& a l l d e 鸭e n b 岣一- 1 ) p 血值s t d e 玎“获取设备列表错误:i h ”,e r r b u d ; e 垃( 1 ) ; ) 输出设备列表 旬“d = a l l d e v s ;d ;d = d n e ,【t ) 3 3 山东大学硕士学位论文 地址。在m a c 帧的前部有8 字节的前同步码和帧的开始定界符,之后才是地址 等报头信息。接收端和发送端的地址之后是2 字节的类型字段,用于存放帧中所 传送数据的上层协议类型,其对应关系如表5 1 所示。 表5 - l 帧中传送数据的上层协议类型 以太帧类型 对应上层协议 0 x 8 0 0口 o x 8 0 6a i 冲 0 x 8 0 3 5p c u 心 帧的数据部分长度为4 6 到1 5 0 0 字节,当小于4 6 字节时,会在后面加入一 个整数字节的填充字段。 解析时,首先得到原始以太数据包的包头,进行m a c 层的拆分,得到源 m a c 、目的m a c 以及帧类型等m a c 层信息。然后判断网络层协议,并根据网 络层协议类型,分别进行网络层的拆分,分解出所需要的口数据包。这一过程 的关键代码如下所示: v o i dp a c k e l j l a l l d l e r ( u c h 缸+ p a r a l l l ,c o n s ts t r u c tp c a 叫l c l l l d r e a d c o n s t 吼s i 印e dc h 盯+ p l 【t d 砒a ) w h i l e ( o 缸e t b hd a t a l 饥:倜e 取包长度 n c a p l e i l 砘u d r - b h - c a p l e n ;廒取包头长度 p 血t 坟c o m e n t f i l e ,”p a c k 毗l e f 培t l l :加”,i l d a a 】l e n ) ; o 任娥扣_ h d r - b h j l d r l e l l ; u l l i n e s = ( n c 印l e n + 1 5 ) 1 6 ; i f ( u l l i n e p 5 ) u l l i i l e s _ 5 ; p 鼍c h 盯+ ) ( b u m 跑e t ) ; p e t h e r h e a d _ ( s t r i l c te t h e r p k e l l 强a d + ) p ; 以太包头指针 s 埘_ c = & ( p e t h e r h e 孙 s o e m e r ) ;朐i 取源m a c 地址 d n l a c = & ( p e t h e r h e a d 一 d 吲e t h e r ) ;廒取目的m a c 地址 s w a p s 字节顺序转换,将网络序转为主机序,然后根据服务类 3 7 山东大学硕士学位论文 ,型s e t y p e 调用相应的函数进行下一步拆分。 s 、i t c h ( s w a p s 0 e 也e r 】曲a d - s c 咖e ) ) c 勰ee n 也rp i t om :若是口包则继续拆分 d e c o d e i p p k ( p 一 王m h 吲l 卸z a dl i n ,n c a p l e :l l ,珏) p 踟) ; b r e a k : c 鹪ee 正rp r o t 0a r p :若是a r p 包则丢弃 d r o p p a c k 0 卜 壬m 也r - 玎j a dl e n p k r e c o 嗵p d l 曲; b f e a l 【: c 鹪ee t 髓rp r o t o 鼬心: 若是r a r p 包则丢弃 d r o p p a c k ( p e 1 r 砸a du ! n p k r e c 0 咄p d l 蓟; b r e a l 【: d e f 如i t : b r e a k : ) 如果是m 包,拆分得到包头长度、口包长度、报文标识、服务类型t o s 、 标志位、生存时间、源口、目的i p 等信息。存储口包头的数据结构为结构体 i i - h e a d 。 然后根据口包中的p r o t o 字段,判断传输层采用的协议,进一步拆分传输层。 如果p r o t o 字段为6 ,则为是t c p 包,进一步拆分得到源端口、目的端口、序列 号、确认号、6 位标志位、1 6 位窗口大小、1 6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 珠海市销售团队外包合同
- 豫发物业劳务外包合同
- 医院担架服务外包合同
- 快递装卸劳务外包合同
- 绿化工人劳务外包合同
- 人口普查工作外包合同
- 劳务合同改为外包合同
- 核酸检测机构外包合同
- 台州纸板厂运输外包合同
- 引流管护理中的安全教育与培训
- 2025年粮油仓储管理员(高级)职业技能鉴定考试练习题库(含答案)
- 学前教育论文8000字范例
- 工程项目催款律师函模板
- 2023年高考生物试卷(福建)(答案卷)
- 劳动教育读本(中职版)专题四学习资料
- 提高体温单书写合格率pdca剖析课堂
- 《用电检查法律法规》课件
- 【MOOC】保健推拿-黄冈师范学院 中国大学慕课MOOC答案
- 剪板机操作规程(2篇)
- 男科话术完整版本
- 北京第八十中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
评论
0/150
提交评论