(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)分布式网络事务监控系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式网络事务监控系统的研究与实现 摘要 网络事务监控与分析系统的着眼点是信息流分析与数据留存 本 文在论述网络事务监控的意义及原理的基础上 对网络监听技术 t c p i p 协议 h t t p 协议 f t p 协议等进行了深入地分析 通过应用开发 研究 介绍了对网络事务的信息进行数据采集 协议分析等方法 自 行设定的参数组合 使网络事务的监控具有更好的操作性和即时性 最后给出数据汇总信息及输出结果 使网络管理人员可以快速的取得 所需信息 论文首先探讨了对数据包进行实时获取而不影响网络的正常运行 的网络监听基本原理 其次论述了对捕获的数据包进行分析的方法 我们介绍了协议分析的基本原理 深入分析了网络数据传输所依赖的 标准协议 提供基本的通信服务的t c p i p 协议 应用层的h t t p f t p 协 议 这些协议一起组成了请求和传输网络数据资源的稳固基础 最后 描述了网络事物监控系统研制过程 系统对访问服务器的数据流根据 不同的协议 不同的原地址和目标地址进行提取 根据规则对数据包 进行分析 实现内容恢复 对h t t p f t p 等协议的数据包进行重组 将结果存储于数据库中以重现通信的详细过程 论文还对网络用户获 取的信息和网络使用行为进行监控 对网络流量的统计进行分析 关键词 信息监控 数据包捕获 协议分析 t c p i p t h ed e s i g na n dr e a l i z a t i o no fd i s t r i b u t e d n e t w o r ki n f o r m a t i o nm o n i t o r i n ga n d a n a l y z n n gs y s t e m a b s t r a c t a ns e r v e r si n f o r m a t i o nl o n i t o r i n ga n da n a l y z i n gs y s t e m f o c u so ni n f o r m a t i o nf l o wa n a l v s i sa n dd a t am a i n t e n 町l c e i h s e d o nas t a t e m e n to fs e r v e r si n f o r m a t i o nm o n t o r i n g sf u n c t i o na n d w o r k i n gp r i n c i p l e t h i sa r t i c l e v i aa ne x a m p l eo f a p p l i c a t i o n f u r t h e ri n t r o d u c e st h em e t h o d so fd a t ag a t h e r i n ga n d p r o t o c 0 1a n a l y s i s a n de x p l a i n e dh o wac u s t o m i z e dp a r a m e t e r c o m b i n a t i o nc o u l e dd r o v i d et h es e r v e rw i t ham o r ef l e x i b l ea n d i n s t a n d o n i t o r i n gf i n a l l y t h ea r t i c l ep r e s e n t st h ei n f o r m a t i o n o fd a t ec 0 1l e c t i o na n do u t p u t w h i c hd e m o n i s t r a t e st h en e n t w o r k m a n a n g e rc o u l dg e tt h ed e s e i r e di n f o r m a n t i n o nv e r yq u i c k l y t h i s t h e s i si n c l u d e sp r i m a r i l yb e l o wa s p e c t f i r s t l y w e d i s c u s s e dt h eb a s i cp r i n c i p l eo ft h en e t w o r km o n i t o r n a m e l y c a p t u r e dt h er e a l t i m ed a t aa n dn o ta f f e c t e dt h er u n n i n go f n e t w o r k s e c o n d l y d i s c u s s e dt h em e t h o d h o wt oa n a l y z et h e c a p t u r e dd a t a w ei n t r o d u c e dt h eb a s i ct h e o r i e so fp r o t o c 0 1 a n a l y z i n g d e e p l ye l u c i d a t e das e t so fs t a n d a r dp r o t o c 0 1 t h o s e p r o t o c o lw e r er e li a n t e db yt h en e t w o r kd a t at r a n s m i s s i o n t c p i p p r o t o c o l p r o v i d e dt h ee s s e n t i a ls e r v i c ef o rc o m m u n i c a t i o n s t h ea p p l i c a t i o n1 a y e rp r o t o c o l h t t pa n df t p f o r e n a m e dp r o t o c o l c o m p o s e ds t e a d yf o u n d a t i o nt or e q u e s t i n ga n dt r a n s m i t t i n gt h e n e t 们r kr e s o u r c e s f i n a l l y d i s c u s s e dt h ed e v e l o p i n gp r o c e s so f t h es e r v e r si n f o n l l a t i o nm o n i t o r i n ga n da n a l y z i n gs y s t e m a c c o r d i n gt ot h ed a t as t r e 锄o fa c c e s s i n gs e r v e r t h i ss y s t 鲫 w i l l d i s t i l lt h eu s e f u li n f o r m a t i o ns u c ha s d i s t i n c t i l 韭塞垡三查堂堡圭兰垡兰塞 d r o t o c o l s o u r c ea d d r e s s t e r m i n a la d d r e s sa n ds oo n a n dw i t h r u l e s w ew i l lt oa n a l y z i n gt h ed a t a r e s u m i n gc o n t e n t s g e t t i n g t h ed a t ao fh t t p f t pp r o t o c o la g a i n a n dk e e p i n gt h er e s u l t s i n t od a t a b a s et or e c u rt h ed e t a i l e dp r o c e s so fc o m m u n i c a t i o n t h et o p i c sa l s od i s c u s s e da sf o l l o w s m a n a g i n gt h eu s e rc a p t u r e d i n f o r m a t i o na n dt h eu s e ra c t i o no nn e t w o r k a c c o u n t i n g a n a l y z i n gt h en e t w o r ks t r e a ma n ds oo n k e yw o r d s i n f o r m a t i o nm o n i t o r i n g p a c k e tc 印t u r e p r o t o c a la n a l y s i s t c p i p i i i 北京化工大学位论文原创性声明 本人郑重声明 所呈交的学位论文 是本人在导师的指导下 虢立进行研究工作所取得的成果 除文中已经注明引用的内容外 本 埝囊不舍任何其他个人或集体已经发表或撰写过的作品成果 对本文 鳓辫巍傲出重要贡献的个人和集体 均已在文中以明确方式标明 本 兔宠垒意识到本声明的法律结果由本人承担 作者签名 日期 翌 i i 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文 翦规定 即 研究生在校攻读学位期间论文工作的知识产权单位属北 京化工大学 学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘 允许学位论文被查阅和借阅 学校可以公布学位论文的全 部或部分内容 可以允许采用影印 缩印或其它复制手段保存 汇编 学位论文 保密论文注释 本学位论文属于保密范围 在 卫年解密后适用 本授权书 非保密论文注释 本学位论文不属于保密范围 适用本授 权书 乍者签名 匆啐 作者签名 一 二 互 导师签名 日期 型 日期 狸 曼 1 1 研究背景及其意义 第一章绪论 第一章绪论 目前 计算机网络和数据通信正以不可思议的速度发展 当今社会已经进入 了信息时代 网络正在逐渐改变我们的生活 计算机网络通信的诸多特点 如 信息量大 更新速度快 信息价值高 信息处理和利用方便等等 使得计算机网 络通信己逐渐成为同常工作 生活中不可或缺的重要组成部分 计算机网络的飞速发展给单位和个人带来了便利 同时也对网络管理提出了 严峻挑战 局域网内部以及局域网与互联网之间频繁的网络通信 使得网络设备 以及服务器设备在负载 工作效率和安全方面都承受了巨大压力 作为网络管理 人员 必须有效的了解网络中数据传输是否正常 服务器和网络设备是否过载运 行 网络连接是否正常等等 但是网络数据传输对用户来说是不透明的 如果不 借助网络监控系统 就很难完成上述要求 为了实时了解服务器的负载 网站访问量的变化 实时监控 了解网站乃至任 意页面的数据流量动向和受欢迎程度 并以此做出相关调整策略 防止滥用有限 系统资源 采取一定的技术手段 对网络事务进行必要的髓控 是十分必要和有 益的 基于上述情况 研究集实时性 主动性于一体的数据分析方法是 种迫切的 需求 故而 我们结合实际应用的需求 采用数据包捕获分析的方法 开展服务 器事务监控系统的初步探讨性研究和试验性开发 1 2 研究与发展现状 很多相关领域的科研工作者和企业剥网络事务监控系统的研究作出了大量的 工作 并提出了很多解决方案 取得了良好的效果吐但确切地解决这一问题并不 工作 并提出了很多解决方案 取得了良好的效果n 但确切地解决这一问题并不 北京化工大学硕上学位论文 容易 因为绝对的安全并不存在 对大多数用户来说 第一步是制定企业网络系 统的安全策略 明确网络资源的安全级别和采取的安全技术措施 明确哪些资源 该得到保护 哪些人员可以访问哪些资源 明确哪些行为是可以被接受的等等 第二步 也是更为关键的一步 是对该安全策略进行有效的监督和评测 并不断 得到加强 传统的安全解决方案主要是基于密码技术和访问控制技术的静态安全 解决方案 不能适应动态变化的网络环境的需要 在一个不断变化的网络环境中 要求事前能发现问题并加以改进 事中能进行信息和行为的监控 事后能进行有 效的审计 取证和跟踪 网络安全对一个企业用户来说 是指企业所在的整个网络中的各种计算机系 统 各种网络设备等的安全 可用 丽计算机网络安全保障也正是围绕着这个总 体目标而进行的 网络事务监控的目标就是保障网络主机 尤其是网络服务器的 安全 网络主机 服务器的安全有了保障 网络安全也就有了基本保障 防火墙 入侵检测等安全产品的功能是通过检测网络客户与服务器之间的网络通信包或分 析系统产生的审计信息来完成的 病毒防范程序是通过检查文件是否已被病毒感 染 或对网络通信包检查病毒特征码来实施病毒防治的 它们都将重点查找某种 特征上 网络事务监控系统思路与它们不同 它的防范重点是计算机服务器上各 种服务软件 例如w w w f t p t e u 咂t 等 本身的服务行为 系统将对访问服 务器的数据流根据不同的协议 不同的原地址和目标地址进行提取 根据规则对 数据包进行分析 实现内容恢复 对h t r p f r p 等协议的数据包进行重组 并将 结果存储于数据库中以重现通信的详细过程 1 3 主要研究内容 本文主要的工作集中在以下几个方面 1 首先探讨了网络监听的基本原理 即对局域网中的数据包进行实时获取而不影 响网络的正常运行 2 对捕获的数据包进行分析的方法是网络监控的主体技术 我们首先介绍了协议 第一章绪论 分析的基本原理 然后深入分析了网络数据传输所依赖的一组标准协议 t c p i p 协议 它们提供基本的通信服务 以及应用层的h r r r p n p 办议 这些 协议一起组成了请求和传输刚络数据资源的稳固基础 f 3 以f 是本文的重点 包括二部分内容 1 高性能的网络监听 数据报捕获技 术 这是许多网络安全工具的基础 利用它可以监视网络的状态 数据流动情 况以及网络上传输的信息 加上发包功能就可以达到网络控制的效果 2 模 块化的协议分析技术 通过网络监听技术捕获到的数据报都是一些二进制的b n 流 这时需要利用t c 朋p 协议中数据封装过程还原重现这些b i t 流的真实意义 由于t c p i p 协议族包括了许多具体的协议类型 本论文以模块化的形式实现了 部分常用协议的分析 3 灵活而强大的实时网络监控系统 网络监控包含 了网络监视和实时控制两方面的含义 具体包括对网络用户获取的信息和网络 使用行为的监控 网络流量的统计分析等内容 3 第二章网络监昕系统的基本原理 第二章网络监听的基本原理 网络监听几乎和i n t e r n l 玎具有一样久的历史 网络监听的主要目的是从网 络上获取需要的信息加以分析 并对系统管理员的正确决策提供帮助 通常有以 下四种办法用于从网络获取信息 2 3 l 1 简单网络管理协议 s n m p 简单网络管理协议 是一种广为执行的网络协议 它使用嵌入到网 络设施中的代理软件来收集网络通信信息和有关网络设备的统计数据 代理不断 地收集统计数据 如所收到的字节数 并把这些数据记录到一个管理信息库 m i b 中 网管员通过向代理的m m 发出查询信号可以得到这些信息 这个过程叫轮询 p o l l i l l g 虽然m m 计数器将统计数据的总和记录下来了 但它无法对日常通 信量进行历史分析 为了能全面地查看 天的通信流量和变化率 管理人员必须 不断地轮询s n m p 代理 一天中每分钟就轮询一次 这样 网管员可以使用s n m p 来评价网络的运行状况 并揭示出通信的趋势 如哪一个网段接近通信负载的最 大能力或不必要地正使通信出错 先进的s n m p 网管站甚至可以进行编程来自动 关闭端口或采取其它矫正措施来处理历史的网络数据 2 网络管理模块 交换机 路由器等网络设备可以报告一些统计信息以帮助管理员获取网络的 全局情况 这通常是集成在网络管理模块中的 r m o n 和r m o n 2 提供了远程管 理的规范 i n t e m e t 工程特别小组 i e t f 于1 9 9 1 年1 1 月公布r m o nm l b 来解 决s n m p 存r 益扩大的分布式网络中所面临的局限性 r m o n m i b 的目的在于使 s n m p 更为有效更为积极主动地监控远程设备 r m o n m i b 由一组统计数据 分析数据和诊断数据构成 利用许多供应商生 产的标准工具都可以显示出这些数据 因而它具有独立于供应商的远程网络分析 4 北京化工大学硕士学位论立 功能 r m o n 探测器和r m o n 客户机软件结合在一起在网络环境中实施r m o n r m o n 的监控功能是否有效 关键在于其探测器要具有存储统计数据历史的能力 这样就不需要不停地轮询才能生成一个有关网络运行状况趋势的视图 r m o n m i b 功能组 功能框可以对通过r m o mm i b 收集的网络管理信息类型进行描述 遍布在乙 n 网段之中的r m o n 探测器不会干扰网络 它能自动地工作 无 论何时出现意外的网络事件 它都能上报 探测器的过滤功能使它根据用户定义 的参数来捕获特定类型的数据 当一个探测器发现一个网段处于一种不正常状态 时 它会主动与在中心的网络管理控制台的r m o n 客户应用程序联系 并将描述 不正常状况的捕获信息转发 客户应用程序对r m o n 数据从结构上进行分析来诊 断问题之所在 对于3 c o m 公司产品 t r a n s c e n d m a n a g e m e m 控制台执行r m o n 客户应用程序 通过追踪谁与谁交谈 r m o n 可以帮助网管员确定如何最佳给他们的网络分 段 网管员通过报告意外事 可以识别出占有最大带宽的用户 这些用户然后放 置予各自的网段之中来尽可能减少他们对其它用户的影响 但是 这样的网络监 控无法提供高层协议分析时所需要的一些详细信息 3 网络分析仪 借助网络分析仪可以获取网络的r a wp a c k e t 信息 网络管理员分析网络的故 障 性能等非常有用 由于网络分析仪是一套硬件设备 所以它的性能一般比较 高 但是价格非常昂贵 而且厂商技术保密 没有实现存储 基于连接的信息收 集分析等功能 用户无法进行二次丌发 所以无法用于l d s 审计 计费 监控等 高层应用程序的开发 4 s n j 仟c r 类软件 n e t x r a y s n i f f c r t c p d u m p 等软件常被用来代替专用的硬件网络分析仪 这 类软件一般很低廉甚至免费 其中所使用到的基本编程技术如原始套接字 n d l s 等也广泛使用于i d s 计费 攻击跟踪等许多网络监视系统中 网络数据捕获 主 第二章嘲络监昕系统的幕本原理 要是指截获 监听 窃听网络上传输的数据 它是一把双刃剑 网络管理者可以 利用它来检测是否有恶意攻击者对网络及网络上的主机发起攻击 可以利用它来 检测网络上的数据流 以防止非法的信息在网络上传播 或者阻止重要的机密信 息泄漏 同样 别有用心的人也可以利用它来窃取某些重要信息 破坏网络安全 本文探讨的系统采用上述第四种方式 又与s n i f f e r 类软件有些区别 它工作在 网络环境中的底层 仅拦截发送到指定服务器的数据 并且通过相应的软件处理 可以实时分析这些数据的内容 进而实现很多的网络功能 查看网络用户访问信 息 对网络使用行为进行监控 对网络流量进行统计分析等 下面首先探讨 下 网络监听的基本原理 2 1 网络监听的基本原理 以太网 e t h e m e t 具有共享介质的特征 信息是以明文的形式在网络上传输 当网络适配器设置为监听模式 混杂模式 p r o m i s c u o u s 时 由于采用以太网广 播信道争用的方式 使得监听系统与正常通信的网络能够并联连接 并可以捕获 任何一个在同一冲突域上传输的数据包 i e e e 8 0 2 3 标准的以太网采用的是持续 c s m a 的方式 j 下是由于以太网采用这种广播信道争用的方式 使得各个站点可 以获得其他站点发送的数据 运用这一原理使信息捕获系统能够拦截的我们所要 的信息 这是捕获数据包的物理基础 以太网是一种总线型的网络 从逻辑上来看是由一条总线和多个连接在总线 上的站点所组成各个站点采用上面提到的c s m a c d 协议进行信道的争用和共 享 每个站点 这罩特指计算机通过的接口卡 网卡来实现这种功能 网卡主要 的工作是完成对于总线当盼状态的探测 确定是否进行数据的传送 判断每个物 理数据帧目的地是否为本站地址 如果不匹配 则说明不是发送到本站的而将它 丢弃 如果是的话 接收浚数据帧 进行物理数据帧的c r c 校验 然后将数据帧 提交给l l c 子层i 网卡具有如下的几种工作模式 北京化工人学硕士学位论文 1 广播模式 b r o a d c 鹊tm o d e l 它的物理地址 m a c 地址是o x f f 册的帧为 广播帧 工作在广播模式的网卡接收广播帧 2 多播传送 m u l t i c a s tm o d e l 多播传送地址作为目的物理地址的帧可以被组 内的其它主机同时接收 而组外主机却接收不到 但是 如果将网卡设置为多播 传送模式 它可以接收所有的多播传送帧 而不论它是不是组内成员 3 直接模式 d i r e c tm o d e l 工作在直接模式下的网卡只接收目地址是自己m a c 地址的帧 4 混杂模式 p r o m i s c u o u sm o d e l 工作在混杂模式下的网卡接收所有的流过网 卡的帧 包捕获程序就是在这种模式下运行的 正常的网卡应该只是接收发往自身的数据报文 广播和组播报文 对网络使 用者来说 浏览网页 收发邮件等都是很平常 很简便的工作 其实在后台这些 工作是依靠t c p i p 协议族实现 存在两个主要的网络体系 o s i 参考模型 图2 1 o s i 七层模型 和t c p i p 参考模型 o s i 模型即为通常说的7 层协议 它由下向 上分别为物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 而 t c p i p 模型中去掉了会话层和表示层后 由剩下的5 层构成了互联网的基础 第一二章蜘络监听系统的基本躁理 一 表示层 会话层 将小h 的数据格式转换成一种通用的格 能够被小州的系统识别 通用数据格式 会话的建立省理和终止通信主机的对活 为 表求层提供服务 一对话和带诲 a s c i i j p e gm p e g w a v 等 访问次序的安排 网络层一数据 包 数据链路层一 祯 巨墨 流 i 主机之间的连接 路径选择以及基于i p 的音 址 一路径选择 路由以及伸寻址 三层交换机 路由器t 作 在此层 1 p s p x 提供数据在物理链路的传输 物理寻址 网络il 二层交换机 网络属于此 拓扑 错误检测 祯和介质访问控制ii 层 m a c 高低电平 数据传输速率 传输距离 物理连 接器等 一信号和介质 图2 1 0 s i 七层模型 f i 9 2 1o s lr e f e n n c em o d e l h u b 中继器以投传输线 路都属于此层 t c p m 通常被认为是一个四层协议系统 t a p 协议族是一组不同的协议组 合在一起构成的协议族 尽管通常称该协议族为t c p 口 但t c p 和i p 只是其中 的两种协议而已 如表2 1 所示 每一层负责不同的功能 衷2 1t c m p 协议族及主要功能 1 阻b l e2 lt h et c p l pp r o t o c o l sa n df u n c t i o 啦 t c p i p 层描述主要协议主要功能 h t r p 1 e l n e t 负责把数据传输到传输层或接受从传输层 应用层 f i 甲 e m a l l 等返回的数据 传输层协议为不同主机上的应用程序进程 传输层 t c p u d p 提供逻辑通信 主要为数据包选择路由 其中i p 是t c p i p 网络层 i c m p l p l g m p协议族中最为核心的协议 所有t c p u d p 数据都以i p 数据包格式传输 a r p r a r p 设发送时将l p 包作为帧发送 接收时把接收 链路层 备驱动程序及接到的位组装成帧 提供链路管理 错误检 口卡 测等 8 北京化 t 大学硕士学位论文 分层的概念说起来非常简单 但在实际的应用中非常的重要 在进行网络设置 和排除故障时对网络层次理解得很透 将对工作有很大的帮助 例如 设置路由 是网络层i p 协议的事 要查找m a c 地址是链路层a r p 的事 常用的p i n g 命令 由i c m p 协议来做的 下图2 2 显示了各层协议的关系 理解它们之间的关系对 下面的协议分析非常重要 数据发送时是自上而下 层层加码 数据接收时是自 下而上 层层解码 如图2 3 所示 当应用程序用t c p 传送数据时 数据被送入 协议栈中 然后逐个通过每一层直到被当作一串比特流送入网络 其中每一层对 收到的数据都要增加一些首部信息 有时还要增加尾部信息 t c p 传给i p 的数 据单元称作代p 报文段或简称为t c p 段 ip 传给网络接口层的数据单元称作i p 数掘报 通过以太网传输的比特流称作帧 f r a m e 但逻辑上通讯是在同级完成 的 垂真方向的结构层次是当今普遍认可的数据处理的功能流程 每一层都有与 其相邻层的接口 为了通信 两个系统必须在各层之间传递数据 指令 地址等 信息 通信的逻辑流程与真正的数据流的不同 虽然通信流程垂直通过各层次 但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信 从图2 4 可以 看出 通讯实际上是按垂直方向进行的 但在逻辑上通信是在同级进行的1 6 h 一 i 呈主 因因回 3 r 蜜 鱼 芦i 崔 习 1 i 匹寸吨查蝴 图2 2 各层协议的关系 h 空2 2t b eb v e r sr e l a t i o n 9 应用层 运输层 删络层 链路层 第一二章网络监昕系统的基本原理 1 竺 4 以太网祯 l 州 字妒 一 图2 3 数据发送自上而下 层层封装过程 f i g 2 3d a i a 伊a me n c a p s l l l a t i o n 兀 p 协议 以太网 图2 4 逻辑上通信是在同级进行的 f i g 2 4r e l a t i o n s h i pi nl o g i c 1 0 甲口 北京化工人学硕士学位论文 下面我们不妨从t c p l p 模型的角度来看数据包在局域网内发送的过程 当数 据由应用层自上而下的传递时 在网络层形成1 p 数据报 再向下到达数据链路层 由数捌链路层将i p 数据报分割为数据帧 增加以太网包头 再向下一层发送 需 要注意的是 以太网的包头中包含着本机和目标设备的m a c 地址 链路层的数据 帧发送时 是依靠4 8 b i t s 的以太网地址而非i p 地址来确认的 以太网的网卡设备 驱动程序不会关心i p 数据报中的目的i p 地址 它所需要的仅仅是m a c 地址 目标1 p 的m a c 地址又是如何获得的昵 发端主机会向以太网上的每个主机发 送一份包含目的地的i p 地址的以太网数据帧 称为a i p 数据包 并期望目的主机回 复 从而得到目的主机对应的m a c 地址 并将这个m a c 地址存入自己的一个a r p 缓存内 正常状态下在同一个以太网中的每台机器都会接收到这个报文 但正常 状态下除了目的计算机外其他主机应该会忽略这个报文 但是如果某块网卡被设 置为为混杂模式 p 舢i s c l l o u s 那么这台主机将会默不作声的昕到以太网内传输 的所有信息 也就是说 网络监听也就因此实现了 但在某些情况下 管理人员 只关心网络中某台重要的主机 比如一台f 1 m 服务器 一台w 曲服务器 这时我们 只需要监控进出服务的数据包就可以了 通过以太网的广播特性来进行网络监听技术将获取所需的网络信息 但在实际 应用中 其中存在若干比重很大的用户不关心的垃圾数据 严重影响了系统工作 效率 事实上 网络监听模块过滤功能的效率是该网络监听程序成功的关键 基 于b s d 系统的b p f b s dp a c k e tf i l t e r 过滤机制使用了新的基于寄存器的过滤算 法 效率比旧的算法提高了近2 0 倍 它还使用简单的不共享方式缓存模型 充分 利用现代计算枧的大地址空l b j 它的缓存机制也对整体效率的提高有很大作用 2 2b p f 包捕获与过滤机制 目前 许多嗅探器都是基于b p f 开发的f 7 j 这主要是因为监听程序以用户级别 进程 作 数据包的拷贝必须跨越内核 用户保护界限 这就需要使用名为数据包 过滤器 p a c k e tf l i t e r 的内核代理程序 b p f 过滤使用了新的基于寄存器的预过 滤机制 它的缓存机制也对整体效率提高有很大作用 第二章叫络监听系统的基奉原理 图2 5 是b p f 的模型及其接口 由图可见 b p f 在核心设置了过滤器 预先可 对数据包进行过滤 并且只将用户需要的数据提交给用户进程 每个b p f 都有一 个b u f f c r 如果过滤器判断接收某个包 b p f 就将它复制到相应的b u f f c r 中暂存 起来 等收集到足够的数据后再一起提交给用户进程 提高了效率 8 1 f i g 2 5b p fm o d e l a n di n t e r f h c e 核 络 一种支持b p f 模型过滤机制的包函数库是l j b p c a p 目前它仅对b p f 使用内核 过滤 该数据截获函数库最大优点是不需要为解析过滤规则耗费过多的精力 而 且可在不同系统上不加变化地移植 提供了一个可独立于系统用户层包截获的系 统程序开发接口 在系统中实现数据包截获可利用b p f 模型和作为一个通用可移 植的包截获l j b p c a p 函数库来实现 实现框图如图2 6 所示1 9 1 北京化t 大学硕士学位论文 p c a pl o o k u p d e v o l p c a po p e n i v e o 0 p c a p1 0 0 k l l p n e t o p c a pc o m p i l e o p c a ps e 仃i l t c r j r p c a p1 0 0 p 0 j r p c a pc l o s e 0 图2 6 模块设计框图 n g 2 61 1 1 ef i g l l 系统首先设定所要监视的与端口相连接的设备 扫描并截获数据链路层的数 据包 然后 在此基础上 用一个c a l l b a c k 对所截获到的数据包进行分析 交给上 层处理 2 3 w i n p c a p 简介 u b p c a p 过去只支持u n i x 现在已经可以支持w j n 3 2 这是通过在w i i i l 3 2 系 统中安装w 逾p c 印来实现 w i n p c a p 结构如图2 7 所示 w i n p c a p 是由伯克利分 组捕获库派生而来的分组捕获库 它是在w i n d o w s 操作平台上来实现对底层包的 截取过滤 w i n p c a p 为用户级的数据包提供了w i n d o w s 下的 个平台 w i n p c a p 是b p f 模型和 b p c a p 函数库在w i n 面w s 平台下网络数据包捕获和两络状态 分析的 种体系结构 这个体系结构是由 个核心的包过滤驱动程序 一个底层 的动态连接库p a c k e d l l 和一个高层的独立于系统的函数库u b p c 印组成 底层 的包捕获驱动程序实际为一个协议网络驱动程序 通过对n d l s 中函数的调用为 w i n 9 5 w i n 9 8 w i n n t 和w i n 2 0 0 0 提供一类似于u n l x 系统下b e r k c l e vp a c k c l 第二章阿络监听系统的草奉j 泉理 f i l t e r 的捕获和发送原始数据包的能力 p a c k e t d l l 是对这个b p f 驱动程序进行访 问的a p i 接口 同时它有一套符合u b p c a p 接口 u n 下的捕获函数库 的函 数库 w i n p c a p 包括三个部分 第一个模块n p f n e t 鲈0 u p p a c k e t f i l t e f 是一个虚 拟设备驱动程序文件 它的功能是过滤数据包 并把这些数据包原封不动地传给 用户态模块 这个过程中包括了一些操作系统特有的代码 第二个模块p a c k e t d l l 为w i n 3 2 平台提供了一个公共的接口 不同版本的w i n d o w s 系统都有自己的内核 模块和用户层模块 第三个模块w p c a p d l l 是不依赖于操作系统的 它提供了更 加高层 抽象的函数 w i n p c a p 的优势提供了一套标准的抓包接口 与l i b p c 印兼容 可使得原来许 多u n i x 平台下的网络分析工具快速移植过来便于开发各种网络分析工具 充分 考虑了各种性能和效率的优化 包括对于n p f 内核层次上的过滤器支持 支持内 核态的统计模式 提供了发送数据包的能力 1 4 北京化工大学硕上学位论文 用户层 内核层 应用程序 一 一1 一 图2 7 w i n p c a p 结构示意图 f i g 2 7t h ew i n p c a ps t m c i u r e 我们使用w j n p c a p 库提供的函数 就可以方便地实现网络报文截取 网络报文 截取的流程大致经过以下几个步骤 l o 1 获取指定的监听的网卡名 第一章网络监听系统的是奉缘理 如果本机只有一块网卡 调用p c a p l o o k u p d e v 函数即可获得网卡名 如果有多 张网卡则需要调用p c a p f i n d a l l d e v s 函数 获得所有网卡名 指定用来监听的网卡 名 2 建立监听会话 获得指定监听的网卡名后 调用p c a p o p e n j i v e 函数在指定的网卡上建立一个 监听会话 该函数所做的工作是把指定的网卡设为混杂模式 把w 铀p c 印的网络 报文截取组件加载到系统中 并对监听会话超时参数和所截取的报文最大长度参 数进行设置 3 编译过滤规则 设置过滤器 如果我们需要监听某种类型的网络流量 则需要使用b p f 的语法 调用函数 p c a p c o m p i l e 对规则进行编译 比如我们只需要监听8 0 端口的流量 规则描述即 为字符串 p o n8 0 再调用p c a p s e t f i l t e r 函数对过滤器进行设置 4 截取网络报文 设置好过滤器后 就调用函数p c a p l o 叩进行循环监听 该函数对进行报文协 议分析的入口通过回调函数的形式进行指定 启动网络报文截取组件进行网络报 文截取 通过回调机制 非阻塞模式 对截取到的报文进行处理 5 关闭监听会话 当停止截取网络报文时 就调用函数p c a p c l o s e 来关闭监听会话 北京化工大学硕士学位论文 第三章协议分析关键技术 根据网络协议可以知道包的结构和包中每个字段的值 而包中每个字节都严 格遵守网络协议所规定的广泛和详细的规则集 具体说来 就是对每个网络中的 每个数据包根据协议规则进行解码 提取网络层i p 地址直至应用层用户名等有用信 息 在网络传输中 数据包将按照t c p l p 协议族的层次结构被解码 如果数据包 设置l p 分片标志 应该先将数据包进行重组 然后再进行数据提取 总的说来协议 分析的功能是辨别数据包的协议类型 以便使用相应的数据分析程序来检测数据 包 从上面分析可见 正确理解协议结构和内涵是协议分析的关键 t c p l p 传输控制协议 网间协议 是一种网络通信协议 它规范了网络上的 所有通信设备 尤其是一个主机与另一个主机之间的数据往来格式以及传送方式 t c p i p 是i m 咂r n e t 的基础协议 也是一种电脑数据打包和寻址的标准方法 3 1 t c p 协议 因特网在传输层有两种主要的协议 一种是面向连接的协议 一种是无连接 的协议 传输控制协议t c p 是 仃a n s m i s s 女d nc o n t i o lp r o t o c 0 1 专门用于在不可靠 的因特网上提供可靠的 端对端的字节流通信的协议 通过在发送方和接收方分 别创建一个称为套接字的通信端口就可以获得t c p 服务 所有的t c p 连接均是全 双工的和点到点的 发送和接收方t c p 实体以数据报的形式交换数据 一个数据报包含一个固定 的2 0 字节的头 一个可选部分以及0 或多字节的数据 对数据报的大小有两个限 制条件 首先 每个数据报 包括t c p 头在内 必须适合i p 的载荷能力 不能超 过6 5 5 3 5 字节 其次 每个网络都存在最大传输单元m t u m a x i m u mt r a n s f e r u n i t 要求每个数据报必须适合m t u 如果一个数据报进入了一个m t u 小于该数据报 长度的网络 那么处于网络边界上的路出器会把该数据报分解为多个小的数据报 t c p 实体所采用的基本协议是滑动窗口协议 当发送方传送一个数据报时 它将启动计时器 当该数据报到达目的地后 接收方的t c p 实体向回发送一个数 据报 其中包含有一个确认序号 它等于希望收到的下一个数据报的顺序号 如 果发送方的定时器在确认信息到达之前超时 那么发送方会重发该数据报 图3 1 给出了t c p 数据报头的格式 1 7 第三章协议分析关键技术 源端口目韵湍口 l i 贡序号 确认号 琴鬯 p rsf cssyi k ht碍 嚣 窗口大小 校验和 紧急指针 可选项 o 或更多的3 2 位宇 数据 可选项 图3 1t c p 数据报头的格式 毋9 3 lt b eh e a d c o f t c pp r o t o c o 源端口 目的端口 1 6 位长 标识出远端和本地的端口号 顺序号 3 2 位长 表明了发送的数据报的顺序 确认号 3 2 位长 希望收到的下一个数据报的序列号 t c p 头长 4 位长 表明t c p 头中包含多少个3 2 位字 接下来的6 位未用 u r g 紧急字段指针 a c k a c k 位置1 表明确认号是合法的 如果a c k 为o 那么数据报不包含确认 信息 确认字段被省略 p s h 表示是带有p u s h 标志的数据 接收方因此请求数据报一到便可送往应用程 序而不必等到缓冲区装满时才传送 r s t 用于复位由于主机崩溃或其它原因而出现的错误的连接 还可以用于拒绝非 法的数据报或拒绝连接请求 s y n 用于建立连接 f i n 用于释放连接 窗口大小 1 6 位长 窗口大小字段表示在确认了字节之后还可以发送多少个字节 t c p 头 豢 o 墨 墨髻篡 报等 删脚 f 荔蠹蠢嚣嚣 芨0 蔡羹翥嚣赫篙黼骊惭呲船援 1 9 第三章协议分析关键技术 均关闭后 该连接就被完全释放了 一般情况下 释放一个连接需要4 个t c p 数 据报 每个方向均有一个f i n 数据报和一个a c k 数据报 3 1 2 传输策略 t c p 中采用滑动窗口来进行传输控制 滑动窗口的大小意味着接收方还有多 大的缓冲区可以用于接收数据 发送方可以通过滑动窗口的大小来确定应该发送 多少字节的数据 当滑动窗口为0 时 发送方一般不能再发送数据报 但有两种 情况除外 一种情况是可以发送紧急数据 例如 允许用户终止在远端机上的运 行进程 另一种情况是发送方可以发送一个1 字节的数据报来通知接收方重新声 明它希望接收的下一字节及发送方的滑动窗口大小 3 1 3 拥塞控制 当加载到某个网络上的载荷能力超过其处理能力时 便会出现拥塞现象 对 于因特网来说有两个潜在的问题 网络的容量和接收方的容量 应该分别进行处理 发送方始终保持两个窗口 接收方承认的窗口和拥塞窗口 取两个窗口的最小值 作为可以发送的字节数 当建立连接时 发送方将拥塞窗口大小初始化为该连接所用的最大数据报的 长度值 并随后发送一个最大长度的数据报 如果该数据报在定时器超时之前得 到了确认 那么发送方会在原拥塞窗口的基础上再增加一个数据报的字节值 使 其为两倍最大数据报的大小 然后发送两个数据报 当这些数据报中的每一个都 被确认后 拥塞窗口大小就再增加一个最大数据报的长度 当拥塞窗口是n 个数 据报的大小时 如果发送的所有n 个数据报都被及时确认 那么将拥塞窗口大小 增加n 个数据报对应的字节数目 拥塞窗口保持指数规律增大 直到数据传输超 时或者达到接收方设定的窗口大小 拥塞窗口便设置为恰好不造成超时或达到接 收方的窗口大小的字节数 3 1 4 定时器管理 t c p 使用多个定时器 如重发定时器 持续定时器 k e e pa l j v e 定时器等 最重要的是重发定时器 在发送一个数据报的同时 启动一个数据重发定时器 如果在定时器超时前该数据报被确认 则关闭该定时器 相反 如果在确认到达 之前定时器超时 则需要重发该数据报 持续定时器用于防止出现死锁情况 当 一个连接长时间闲置时 k e e pa l j v e 定时器会超时而使一方去检测另一方是否仍然 存在 如果它未得到响应 便终止该连接 3 2i p 协议 2 0 北京化工大学硕士学位论文 一个i p 数据报由一个头部和数据部分构成 头部包括一个2 0 字节的固定长 度部分和一个可选任意长度部分 头部格式如图3 3 所示 一 3 2 比特 卜 l l j l 一 版本 i 凡服务类型 标调 辩 m f 舟段偏移 生命期 协议 头校验和 源地址 目的地址 选项 图3 3 i p 协议头格式 f i 9 3 1 31 1 地h e a d 盯o fl pp r o t o c o l 版本 4 位长 记录了数据报对应的协议版本号 当前的i p 协议有两个版本 i p v 4 和i p v 6 i h l 4 位长 代表头部的总长度 以3 2 位字节为一个单位 服务类型 8 位长 使主机可以告诉子网它想要什么样的服务 如图3 4 所示 服 务类型域又分为了5 个部分 优先权字段是标志优先级的 三个标志位分别代表 延迟 吞吐量 可靠性 034567 图3 4 服务类型 r g 3 4s e r v i c et y p e s 总长 1 6 位 指头部和数掘的总长 最大长度是6 5 5 3 5 个字节 标识 1 6 位 通过它使目的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论