已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)以太网网络监听的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京理工大学硕士学位论文以太网网络监听的研究与实现 ab s t r a ct c o m p u t e r n e 勺 刀 o r k s and te le c o n ll 刀 u 山 。 鱿 1 o n t e c hnolo gi esare now a d a y s use dina 初d e rang e o f app lic a tio n s in 面ly li fe阳d work . the s ucc e sso f the l n te m e t b ro u ght n e t w o r k l n gin e v e ry hou s e . ho 、 v e v e r ,丁 七 i smakes thec o m p l e x ity o fc o m p u 加 r n e 幻 刀 o rk s g m 初ngeve ryd ay. t hi s al som akesh ar d e r the workofdesi gn, m a in 面n and makin ga n e t w o rk se c ure . f orthis reas on the reisan l n c r e asing n e ed of to ols ableto 阴川 yse , d l a g n o s e and te s t the 丘 口 c t i o nal i tyandth e s e c u n tyo f n e two rk s . t b e s e t o o l s , ino rd e r to p e rform th e ir w o rk , ne edu s u al ly too b t 苗 n the d at a tr ans iting o n a n e t w o rk, c a p turi n gitw h 1 le t h en e t w o rk is wo rk1 n g 卜t h egr e at n 切 叮 吮rof t 邝 口 s m i s si on te c hn1q u e sand c o mm u ni cationp r 0 to c o ls c 0 m p 1ic ates 翻5七 悠 k .m o reo v er, p e ri b rmanceisve ryi mpo 比 功 t ino rder toc a p tu r e fr o m五 比 t n e two rk s at创l sp ee d wit h o utl o o s i n g d a t a . fi rst 面s p ap er l n tr o duce ss o n lec o n o e p tso f s ni ffi ng an dre lat e d初ndo ws ope r a tin g s y stemc o ncep ts . t h e n th i s p a p e r di s c us s e s th e sniffin g s o lutio n ind e ta 1 1 丘 。 mc o nce p tstoc o des , fromhi gh le v eitom 1p 1e men ta t1on an d fr o 幻 l userle vel to ke rn e l l e v e l . this p ape r talks abo utthe e s s entials 1 e p s and胡 v 明 c e dfu n c tio n s to l m p l em ent a wi口c ap b ase d app l i c atio n . ai l ast thi s p ape r p res e nts th edetail s o f th e p a n u n e t e rsi nnuenci n gth ep e d 为 rmanc es. p e rfon 力 a n c em e a s u r e 幻 。 e n t s 峨 discu ss e d o n e 朗 h o f the compo n e n t s o f the s y s te ms u c h asthe e ffi c ie ncy o f th e fi l te r , s i zeo f the p a c k atb u ffer, th e n u m b e r o f b ytes c op i edand the num b ero f s y st e mcall an d s o o n 明dth es yst e mas aw h o l e . s om ete stcas e s o f the p e 川 七 rmanc eare p 阳v i dedanda w h o lesystemp e 而rm ancete st i n g i s e x e c u t e d. k e y w ords: sn i 伍ng, s ni ffer, p 朋 k e t c a p tu r e , p ac k e t fil t e r in g , winpc ap l i 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人己经发 表 或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历 而使用过的材料。 与我一同工作的同事对本学位论文做出的贡献均 已 在论文中作了明确的说明。 研 究 生 签 名 : - 幽 缝, 为 私加 承 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网 公布本学位论文的部分或全部内 容,可以向有关部门 或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内 容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名: , 砂石 ” 咖 南京理工大学硕士学位论文以 太网网络监听的研究与实现 1 绪 论 随着互联网的迅猛发展, 计算机网络正以前所未有的速度走进人类生活的各 个方面,并发挥着重要的作用。伴随着网络的发展,也产生了各种各样的问题, 其中安全问 题尤为突出。 当前计算机网络的发展特点是规模不断扩大, 复杂性不断增加, 异构性越来 越高, 网 络的负荷也迅速增加。 用户对网络性能要求的提高, 以及网络本身的缺 陷和漏洞的增多, 各子网的规划和设计的安全缺陷都影响到网络性能的好坏。 因 此网络的管理和系统的稳定及网络的安全问题日 益成为网络技术研究的一个重 要方面。 网 络 监 听 技 术 11 2的 起 源 是 网 络 管 理员 为 了 诊 断 网 络 故 障 的 需 要 . 监 听 网 络中传输的数据信息, 一般的做法是在一定的网段上安装网络监视系统或网络分 析仪来获取网络上的数据包进行分析,以便找出 错误的原因,解决网 络的故障。 一些网 络管理人员也利用截取网络中 传输的数据监听网络状况, 来实现一定的流 量计费功能。同时, 很多黑客也利用网络监听来获取一些明文传送的信息, 达到 窃取信息的目的。 1 . 1课题背景 随着网络带宽和复杂性的不断上升, 网络监测、 排错等都变得很复杂, 需要 较高的专业技能以及专业工具。 有一些工具如网络分析仪、 防火墙、 检测设备是 硬件设备, 然而, 用硬件去解决网 络问题通常都比 较昂贵, 并且不易安装拆除, 和用软件来解决这些问题相比缺乏灵活性。 至今为止,有相当多的获取原始网络数据的基于软件的解决方案被提出来, 这 些 方 案 大 都 被 实 现 为 库 , 如 著 名 的 l i b pc api31 和 戳 np c 即 14。 这 些 库 提 供了 函 数原语( p rimitive) , 使得应用程序能不通过中间层直接同网 络交互。 软件组件 部署容易并且非常灵活, 一个单一的数据包捕获组件能提供低层次的 接口 给诸如 防火墙、 nat 、 sniff er, 网 络检测器等的应用程序。 而且, 这些软件组件并不昂 贵,更新也容易, 这也是专业人员 优选软件工具来检测分析网 络的原因。当然, 性能是软件工具的弱项, 这也使得在处理高速网络时硬件工具成为首选。 尽管目 前c p u 已 经非常强大了, 但要在千兆级网络上实时进行网络分析还是行不通的。 绷招 t an r o r d 卿k e t f i l t e r ( cs p f ) 5 是 第 一 个 公 开 的 、 有 数 据 包 过 滤 功能的、 用户层可直接访问数据链路层的、 大多数当前解决方案的鼻祖的一个系 统。 它引入了一些概念, 如过滤虚拟机, 它是用于数据包过滤的包含紧凑高效指 南京理工大学硕士学位论文 以 太网网络监听的研究与实现 令集的 虚拟c pu。 之后在该领域一个重 要的 迈 进是1 9 93年 b erk eleyp a c k etf i l t er (b pf) 161171的 出 现 , 它 通 过限 制 数 据 包 拷贝 数目 以 及 定 义了 一 个 新的 、 更 有 效 的、 基于寄存器的拥有精小但完整指令集 ( 装载、 存储、比较、 跳转等) 的虚拟 处理器提高了 c s pf的性能。 bsd 系统提供b pp作为默认的数据包捕获功能, 其它的 系统有兼容的实现。 t h e xach 既 c k e t f i l t e r ( 娜) b , p a t h f i n d e r i91 , 卿11 0 1 , b p 卜 17 1 是 通过提高过滤能力来提高网络分析能力的典例。 概念上同包过滤非常相似的网络 分 析 组 件 : 数 据 包 分 类 器 l 11 , 由 于 对 路 由 器 间 数 据 包 的 发 送 产 生 很 大 作 用 , 也 得到了很大的重视。 另一方面,数据包捕获的其它一些方面很少被关注,如缓冲和拷贝。n f r 团 队提出了一个改进的 b pf版本,它有更大的缓冲区并且验证了使用共享缓冲区来 阻 止 数 据 包 被 拷 贝 两 次 l2 的 可 能 性 。 w i np ca p , 一 个 开 放 源 代 码的 w i nd o 5 库, 通过实现有效的缓冲系统增强了 lib pcap。 1 . 2课题研究的意义与前景 首先, 局域网数据监听系统的研究, 对于更好的维护计算机网络及解决网络 安全问题有着重要的意义。 它可以用来帮助诊断网络中的路由设备, 其它的网络 连接设备, 查看网 上数据包的传送情况, 利于网 络管理员的管理与维护. 它的用 途主要是分析网络状况,分析网络数据在网段的通信情况以及数据的反馈信息, 以 便找出 所关心的网 络中 潜在的问 题。 在防范网 络攻击方面, 网络数据包捕获( 通 用概念, 包含过滤缓冲等功能) 也即网络监听的核心技术, 是构建防火墙、 入侵 检测等这些网络安全系统的基础、 底层核心技术, 能否高效、 稳定、准确、全面 的捕获网络数据包已 经成为防火墙、 入侵检测等网络安全系统能否获得成功的关 键。 长期以 来, 这一构建网络安全系统的关键性技术一直为国外一些大型计算机 公司所垄断,使得该技术在商业上具备较高的敏感性,同时也对改善国防安全、 提高网络安全领域产品的竞争力是非常不利的。 所以, 对于网络监听系统的研究 具有非常大的意义和前景 其次, 网络分析应用程序依赖于适当的包捕获过滤、 网络检测函数原语, 大 多数的u nix内核最少也支持包捕获功能,而w i nd。 ”提供的这些功能却不令人 满意。w i nd叮5 提供了一些与各种内核组件相关的a pi,但这些ap工 存在严重的 缺陷。比 如说,并不是所有的n etmona pi都可用并且其扩展存在很多限制。ip 过滤驱动程序 ( i pf i l t e rd r i v e r ) 只存在w i n d o , 52 0 0 0 及以 上系统, 而且它 只支持ip协议,它能够控制和丢弃数据包但却不能监测和构造数据包。代a u s 人 提供了一个商业产品, 该产品含有数据包捕获和b p f 兼容的过滤器。 然而它的用 南京理工大学硕士学位论文 以太网网络监听的研究与实现 户接口 处于低层并且没有 提供过滤器构造这样的 抽象方法。随着原本在u nix 系 统上的应用不断转向贾 i nd叨5 系统, 这些特性的缺失成了不可忽视的问 题, 本论 文的 焦点在于一个强大可 扩展的w i n32 平台的网 络监听框架系统: , i npc 即。该 体系结构填补了 u nix和 份 i nd,5间网 络监听能力的间隔,使得 u nix应用到 w i n d os 的移植更简单, 而且w i npc 即把性能 放在最首位, 它能满足更苛刻的需 求。 所以, 对于砰 inpcap的研究 是对砰 i nd 佣5 平台下网 络监听的研究 非常好的起 点, 对于高级研发人员, 借助于份 i npc 即 的 研究能够改进现有的网 络监听体 系结 构, 使其无论 在性能还是功能上都能满足现今网 络应用的需求, 或是随着新科技、 新产品、 新需求的出 现能 提出一种 更先进的更适合播求的网络监听 体系结构, 比 如说无线网络监听系统、分布式 sniffer等等。对于更广泛的普通研发人员, 暇npc ap 提供了一个现成的强大的开放的监听解决方案,研发人员只需利用 w i n p c ap 的高级系统无关库,就能编写出适合自己各种需求的 平台无关应用程 序。 最后, w i nd。 ”平台网 络监听技术, 涉及驱动程序编程技术、 内核态编程技 术、 系统动态链接库编程技术、协议生成和解析编程技术等, 集中体现了网络应 用的 核心技术, 所以 对其进行研究, 也就必不可免地对以上技术进行 研究, 这不 仅 可 以 使 研 究 人 员 掌 握 多 种 核 心 技 术 , 获 益 匪 浅 , 更 体 现 了 咨 种 技 术 综 合 运 用 的 效果和力量, 扩展知识层面, 结合运用各种技术甚至是结合各种学科进行课题研 究是非常重要的。 1 . 3课题研究的范围与 目 标 本论文中的网络 监听是形n dows平台下基于以太网的监听, 暇nd,5 版本主 要是 2 0 0 0 / xp, 并 且不对如何在交换机环境下 进行监听作讨论。 本论文 对网络监 听的 研究, 是基于已 有的解决方案, 即开放源代码的用于网络监听的w i npe 即 框 架系统,详细论述网络监听系统的主要方面, 如数据包捕获过滤驱动程序、数据 包协议分析, 并对缓冲区、 数据包转发、 分析统计等机制进行详细讨论。 本论文 实现一个网络监听的 应用程序来展示、 验证、 实现论文中讨论的概念、 原理、 机 制。 最后, 本论文详细讨论了 影响构建高性能网络 监听解决方案的因 素、 各种因 素下系统的开销、 系统总体的开 销以 及个体和总体的优化 措施, 并给出了性能 测 试方案 和预期结果以及一个现实监听系统的性能 测试。 1 . 4论文章节组织 第二章简单介绍了 网络监听的 概念和相关w ind 叩5 操作系统概念。 第三章 从概念到代码、 从高层设计到具体实现、 从用户层到内核层详细探讨 南京理工大学硕士学位论文 以太网网络监听的研究与实现 网络监听解决方案。 通过对解决方案的讨论, 可以抽象出一般网络监听解决方案 必须具备的要素、特性。 第四章以实际的 监听程序的实 现、 以 一种更简明更易 理解和更高效的方式给 出解决方案的结构、功能和应用。 第五章 对监听 系统的 性能分 析是按照个体到整体、 监听系统各组 成组件到监 听系统整体 进行的, 并且给出了 监听系统各组件性能开销测试用例和一 个现实监 听系统的性能测试。 最后是对本论文的总结和展望。 南京理工大学硕士学位论文 以太网网络监听的研究与实现 2 ,ind,5 平合下的网络监听概述 暇n d os 操作系统是当 今最为流 行的个 人桌面操作系统, 它具有多用户多 任 务、 友 好直观高效的 面向对象用户界面、良 好的硬件支持等特点。 w ind os 平台 网 络 监 听 技 术 , 涉 及 驱 动 程 序 编 程 技 术 1 31 114 、 内 核 态 编 程 技 术 115 11 61 、 系 统 动 态 链 接 库 编 程 技 术l7 1 l8 】 、 协 议 生 成 和 解 析 编 程 技 术111、 网 络 编 程 技 术【1 9 等, 集 中 体 现了 网 络 应 用 的 核 心 技 术, 是 防 火 墙20 等 高 级网 络 应用 开 发的 基 础. 本 章首先介绍网 络监听相关概念, 然后再介绍w in dows平台网络监听的各种实现机 制。本论文中讨论的形nd。 能其版本主要是, i nd叨5 2 0 00和 w ind osxp;网卡 和网络适 配器的含义相同; 函数和功能的 含义也不作区分。 2 . 1网络监听概述 网 络监听 也叫嗅 探, 其英文名是 s nif f in g , 即将网络上传输的数据捕获并进 行分析的 行为。网 络监听器也叫嗅探器, 其英文名是sniff er。 工 55为sniff er这 样定义: s nif f er是利用计算机的网络接口 捕获目 的地为 其它计算机的 数据报文 ( 数据包)的一种工具。实际上,s nif f er就是网络上的 “ 窃听器”。网络监听 器是一种网 络监测设备,既可以是硬件,也可以 是软件, 硬件形式的 sni f f er 称 为网 络分析仪, 一 般都是商业性的, 价格也比 较贵。 软件形式的sniff er在w ind 洲5 和u nix 平台上都很多, 其优点 是价格便宜, 易于学习使用; 缺点是无法抓取网 络 上所有的传输,某些情况下也就无法真正了解网络的运行情况。本论文中的 sni f fer 都是指软件sniff er。 网 络监听在本论文上下 文中可以 指一个网络监听行 为过程或指网络监听系统, 或是普通意义 上的 监测网络状况, 有时也指网 络监听 器。捕获 在有的上下文中是一个通用概念,包含过滤缓冲及其它一些功能机制。 2 . 1 . 1网络监听原理 inte r n et是由 众多的局域网所组成, 这些局域网 一般是以 太网、 令牌网 结构。 数据在这些网络上是以很小的称为帧( f f ame)的单位传输的,帧通过特定的网络 驱动程序进行成型, 然后通过网 卡发 送到网 线上。由 于以 太网 等很多网 络( 常见 共享hub 连接的内部网) 是基于总线方式, 物理上是广播的, 同一物理网段的所有 主机的网 卡都能接收到这些以 太网 帧。 当网络 接口 处于正常状态时, 网卡收到传 输来的 数 据帧,网卡内的芯片程序先接收数据头的目的 砒c 地址, 根据计算机上 的网卡驱 动程序设置的 接收模式判断该不该接收, 如果认为 是目 的地址为 本机地 址的数据 帧或是 广播帧,则接收并在接收后产生中 断信号 通知 c pu,否则就丢弃 不管, c pu得到中断 信号产生中断, 操作 系统就 根据网卡驱动程序中设置的网卡 南京理工大学硕士学位论文以太网网络监听的研究与实现 中断 程序地址调用驱动程序接收数 据, 驱动程序接收数据后放入堆栈让操作系统 处理。 通过修改网卡让其处于一种特殊的 工作模式, 在这种工作模式下, 网卡不 对目 的 地址进行判断,而直接将它收到的 所有 报文都传递给操作系统进行处理。 这种特殊的工 作模式,称之为混杂模式( promi s c u ous 物de) 。s n i f fer 就是通过 将网卡设置为棍杂模式, 它对遇到的每一个帧都产生一个硬件中断以便提醒操作 系统处理流经该物理媒体上的每一个报文包。 s nif fer 工作在网 络环境中的底层, 它会捕获所有的正在网络上传送的数据, 并且通过相应的软件处理, 可以实时分 析这些数据的内容,进而分析所处的网络状态和整体布局。 2 . 1 . 2网络监听系统组成部分 图2 . 1 . 2 . 1 展 示了 一 个 监听 系 统大 体框 架l 。 网络硬件设备:如网卡、集线器、路由器等。 捕获驱动程序: 控制网络硬件从信道上抓取数据, 并将数据存入缓冲器。 过滤驱动程序: 捕获数据流, 进行过滤并把数据存入缓冲区。 缓冲器:用来存放捕获到的数据的容器。由于缓冲器容量有限,监听器 使用缓冲器时, 通常有两种方式: 一是如 果缓冲器满,马上停止捕获; 二是缓冲器满了 还继续捕获, 但是新的 数据会覆盖旧的数据。 实时分析程序:实时对数据包分析统计,目的是发现网络性能问题和故 障,侧重于网络性能和故障方面的问题。 网络 图2 . 1 . 2 . 1监听系统大体框架 南京理工大学硕士学位论文 以太网网络监听的研究与实现 解码程序:将接收到的加密数据进行解密:构造自己的加密数据包并把 它发送到网络中。 数据包分析器:对截取到的数据包进行模式匹配和分析,将需要的信息 从原始数据包中剥离出来。 2 . 1 . 3网 络监听的实 施环境 监听的实施是有条件的, 不可能在互联网 上的 某台主机上装上监听软 件, 就 可以看到整个网络的网络 状况。 网 络监听可以 在两种环境下实现, 一种是利用以 太网络的广播特性实现, 另一种是通过设置路由器的监听端 口实现, 两种方式适 用于 不同的 工作情况。 本论文中的网络监听实 施环境是在以 太网下实现监听。 针 对 集 线 器的 监听 : 首 先从 tcp / i p 2l 模 型 的 角 度 来 看数 据 包 在局 域网 内 发 送的 过程: 当 数据由 应用层自 上而下 地传递时, 在网 络层形 成i p 数据报, 再向下 到达数据链路层, 由 数据链路层将ip 数据报分割为数据帧, 增加以 太网包 头, 再 向 下一层发送。 需要说明 的是,以 太网的包头中包含着本机和目 标设备的 撇c 地 址, 也就是说, 数据链路层的数据帧发送时, 是 依靠4 8 b i t s 的以太网地址而非ip 地址 来确认的,以 太网的网卡设备驱动程序不会关心ip数据报中的目的 ip地址, 它所需要的 仅仅是 以c 地址。当局域网内的 主机通过h ub连接时, hub 的作用就是 局域网 上面的 一个共享的 广播媒体, 所有通过局域网发送的数据首先被送到h u b, 然后h ub将接收 到的 所有数据向它的每个端口 转发。 只要将某台主机的网卡设置 为混杂模式, 就可以 接收到局域网内所有主机间 的数据传输 针对交换机的 监听: 不同于 工作在物理层的h ub, 交换机是工作在数据链路 层的。 交换机在工作时维护着一张a rp的 数据库表,在这个库中记录着交换机每 个端口 所绑定的 以c 地址,当有数据报发送到交换 机时, 交换机会将数据报的目 的毗c 地址与自 己维护的 数据库内 的端口 对照, 然后将数据报发送到 “ 相应的” 端口 上, 交换机转发的 报文是一一 对应的。 对交换机而言, 仅有两种情况会发送 广播方 式, 一是数据报的目 的掀c 地址不在交换机维护的数 据库中, 此时 报文向 所有端口 转发; 二是报文本身就是 广播报文。 因此, 基于交换机以太网建立的局 域网并不是真正的广播媒体, 交换机限制了被动监听工具所能捕获的数据。 为了 实现监听的目 的,可以 采 用以cf loodi n g 和a rp欺骗等方法。 以cfl ooding: 通过在局域网上发送大量随机的琳c 地址,以 造成交换 机的内 存耗尽, 当内存耗尽时, 一些交换机便开 始向所有连在 它上面的 链路发送数据。 arp 欺骗: arp 协议的作用是将ip地址映 射到mac 地址, 攻击者通过向 目 标主机发送伪 造的arp 应答包, 骗取目 标系统更新a r p 表, 将目 标系 南京理工大学硕士学位论文 以 太网网络监听的研究与实现 统的网关的晰c 地址修改为发起攻击的主机mac 地址, 使数据包都经由 攻击者的主机。 这样, 即使系统连接在交换机上, 也不会影响对数据包 的窃取,因此就可轻松地通过交换机来实现网络监听。 2 . 1 . 4网络监听工具 n e t ,or kg e n e r a l : n e t 份 o r k阮n e r a l 开发t多种产品. 最重要的是橄p ert sni f fe r , 它不仅仅可以sn订fing, 还能够通过高性能的专门系统发送/ 接收数据 包。还有一个增强产品d i s t r b u t e ds n i f f e rs y s t e m ,可以将uni x 工作站作为 s n i f f e r 控制台, 而将 s n i f f e r a g e n t s 分 布到远程主机上。 m ic r o sof tsn et monit o r :对于某些商业站点,可能同时需要运行多种协 议如n e t b eui 、i p x / s p x 、 t c p / i p 、 8 0 2 . 3 和s n a 等。这时很难找到一种s n i f f e r 帮助解决网络问题, 因为许多sni f f er往往将某些正确的协议数据包当成了错误 数 据包。 m ic rosoft 的n et 如nit or 可以 解决 这个难题。 它能够正 确区 分诸如 net 毗 e 控制数据包、 n etb i os名字服务广播等独特的数据包。 这个工具运行在 璐 wind湃5 平台上。它甚至能够按琳c地址 ( 或主机名) 进行网络统计和会话 信 息 监 视 。 只 需 简 单 地 单 击 某 个 会 话 即 可 获 得t cp du 呻1322 标 准 的 输 出 。 过 滤 器设置也是最为简单的,只要在一个对话框中单击需要监视的主机即可。 矶n d u m p : 最经典的u nix 平台 上的t 印dump的毋 ind 舰5 移植版, 和t cpd u 口 p 几乎完全兼容,采用命令行方式运行。 s n l f f i t :由l a w r e n c e b e r k e l e 丫实验室开发,运行于s o l ari s 和l i n u x 等 平台。 可以 选择源、目 标地址或地址集合, 还可以 选择监听的端口、 协议和网络 接口等。 tcp dump: 最经典的网 络监听工具,被大量的u nix 系统采用。 d s nif f : 作者设计的出发点是用这个东西进行网络渗透测试, 包括一套小巧 好用的小工具,主要目 标放在口 令、用户访问资源等敏感资料上。 还有i r i s ,l i n s n i f f e r , esn i f f e r , s o l s n i f f e r , 砰 i r e s h ark ( e t h e r e a l ) 等 等网 络监听工具。 2 . 2, i n d os 平台网 络监听实现机制 网 络监听技术所使用的数据包捕获机制大致可分为两类, 一类是由 操作系统 内核提供的捕获机制( 常见于u nix 系统) , 另一类是由应用软件通过安装数据包 捕获驱动程序提供的捕获机制 ( 常见于w ind 叨5 系统) .作为当前最流行的用户 平台, 俄 叫 。 。操作 系 统占 据了 绝 大多 数pc用户的 桌面。 如何 在源 码不 公开的 形ndows 平台环境下较好的实现网络监听系统, 成为在w i nd。 ”环境下实现防火 南京理工大学硕士学位论文 以太网网络监听的研究与实现 墙、入侵检测等多种网络安全系统的底层核心技术。 2 . 2 . 1, ind os 操作系统体系结构 本小节介绍 份 i nd叨52 0 00/ x p主要的概念和术语,如图 2 . 2 . 1 . 1展示了 俄 nd o s 20 oo / xp的 关 键 系 统 组 件i2 3) . 系 统 支 持 进 程服 务 进 程应 用 程 序环 境子 系 统 服务控制程序 l 别 妞日 v 占 n l o g o n 会话管理程序 s v c h o st. e 翔 助腼g m l 暇 s poo ler s e r v i 佣s e xe 任务管理器 v 肖 n d o w s 浏览器 用户应用程序 子系统 d l l 05 尼 p os i x v 肖 泊 2 nt d l l d l l f,r.二 系统服务调度程序 内核模式可调用接口 文 件 系 统 缓 存 对 象 管 理 程 序 即 插 即 用 管 理 电 源 管 理 程 序 安 全 监 视 器 虚 拟 内 存 进 程 与 线 程 配 置 管 理 程 序 本 地 过 程 调 用 内核 硬件抽象层 硬件接口 总线、 1 10设备、中断间隔计时器、 d m 叭、内 存高速缓冲控制等等 图2 . 2 . 11 , i n d 洲52 0 0 0 /xp 关键系统组件 n t dll . dll是特殊的系统支持库,主要用于子系统动态链接库。n t d ll. d n 包含两种类型的函数: 执行体提供的系统服务调度占 位程序; 子系统、 子系统动 态链接库以 及其它本机映象使用的内部支持函数。 一种第一组函数提供了可以从 南京理工大学硕士学位论文以太网网络监听的研究与实现 用户态调用的作为w i n d ows 2 0 0 o / xp执行体系统服务的接口。 这些函数的大部分 功能都可以通过贾 i n32 a pi访问。对于这些函数中的每个函数, n t d l l 都包含一 个有相同名称的入口点。 在函数内的代码有体系结构专用的指令, 它能够产生一 个进入核心态的 转换以 调用系统服务调度程序。 在进行一些验证后, 系统服务调 度程序将调用包含在 n t oskrnl. exe内实际 代码的核心态系统服务。 n t d l l 也包 含许多支持函数, 例如映象加载程序、 堆管理器和w i n32 子系统进程通信函数以 及通用运行时库例程。此外,它还包含用户态异步过程调用 ( a 代)调度器和异 常调度器。 贾 i n d o 份 52 0 0 0 / x p的执行程序是n t o s krn l . e x e 的上层,内核是下层。 执行 程序包括下列主要组件: 配置管理器 (conf i g urati on lnan ager) :负责实现并管理系统注册表。 进程和线程管理器 ( p r o c e s sandt h r e a d帕n a g e r ) :创建并终止进程 和线程,进程和线程的底层支持在内核中实现。 安全引用监视器 ( s e c u r i t yr e f e r e n c emon i t o r ) :将安全策略施加于 本机计算机,它监控操作系统资源、执行运行时对象的保护和监视。 1/0 管理器 ( 1 /0 . a n s g e r):实现设备无关的工 /0井负责为进一步处理 调度到合适的设备驱动程序。 即插即 用管理器 ( p l ugandp l ay 阳n a g e r): 确定支持特定设备所需要 的驱动程序, 并装入这些驱动程序。 它在枚举时检索设备硬件资源需求, 根据每一设备的资源需求,p np管理器分配合适的硬件资源,如1 /0端 口、i rq、d m a 通道和存储单元。它还负责为设备传送正确的时间通知。 电 源管理器 (p。 脱r manag er) : 协调电 源事件,并为设备驱动程序产生 电源管理1 /0通知。当系统空闲时,电源管理器通过将c p u 置于睡眠状 态来减少电 力消耗, 个别设备耗电 量的改变由 设备驱动程序处理, 但由 电源管理器协调。 和m窗口管理装置例程 ( , d mw i n d o , smanag e m e n ti n s t r 伽e n t a t i o n routine): 公布设备驱动程序性能和配置信息,并接收用户模式翻1 服 务命令。 毗1 信息既可以 从本机上也可以 通过网络远程获得。 高速缓存管理器 c acheon a g e r): 提高 基于文件1/0 的性能, 通过将 最近引用的磁盘数据驻留在主存储器以便快速访问。 虚拟内存管理器 ( virtualmelnory man ager) :实现虚拟内 存,它是一 个存储管理方案, 能为每一进程提供超过可用物理内存大小的专用地址 空间。存储管理管理器管理器器还为高速缓存管理器提供基本支持。 对象管理器 ( obj ect哑nag er) :它创建、管理并删除执行对象和用来 南京理工大学硕士学位论文 以太网网络监听的研究与实现 代表操作系统资 源的抽象数据类型,如进程、线程和各种同步对象。 内 核由n t o s k r nl. exe 中的一系列函数组成, 它提供执行程序组件所使用的 基本机制如线程调度和同步服务以及低级硬件体系结构的相关支持如中断和异 常调度, 它们在每一处理器体系结构上是不同的。 内核代码主要用c 编写, 为了 访问不容易用c 访问的专门处理器指令和寄存器,保留了汇编代码。 内 核提供定义好的低级库、可预测的操作系统原语 ( pri m i t i ve)和机制。 在内 核外。 执行程序将线程和其它可共享资源表达为对象。 内 核实现了一些较简 单的称为内核对象 (ke rnel obj ect) 的对象。一组称为控制对象的内 核对象建 立控制各种操作系统函数的 语义,它包括 a pc 对象、延迟过程调用对象和 1/0 管理器使用的几个对象如中断对象。 另一组称为调度程序对象的内核对象, 集成 了改变或影响线程调度的同步能力。调度程序对象包括内核线程、互斥、事件、 信号量、 计时器等。 执行程序利用内 核函数创建内 核对象实例提供给用户模式。 内核的另一重要工作是将执行程序与设备驱动程序从硬件体系结构的差异 中抽象或隔离。 该工作包括处理函数差异, 如中断处理、 异常调度和多处理器同 步。 内核中的与体系结构相关的一个实例为环境切换, 尽管在高层, 线程选择与 环境切换所用的算法是相同的,前一线程的环境被保存,新线程的环境被加载, 新线程启动,但在不同处理器上的实现随处理器状态如寄存器的不同而变化。 截n d 。 份 5的 设计目 标之一是不同 硬件平台 上的移植。 硬件抽象层 ( hal) 是 使移植可行的关键。 hal 是可加载的内核模式组件 (hal. d l l ) ,它为硬件平台提 供低级接口, 它隐藏硬件相关的细节, 如1/0 接口、 中断控制器和多处理器通信 机制。 设备驱动程序是可加载的内 核模式组件, 它是 1 /0 管理器与相关硬件的接 口。 有以下几种类型的设备驱动程序: 硬件设备驱动程序操作硬件输出或从物理设备或网络上输入。 有许多类 型的硬件设备驱动程序, 如总线驱动程序, 人机接口 驱动程序、 大容量 存储驱动程序。 文件系统驱动程序接收面向 文件的1 /0请求并将它们翻译为特定设备的 1 /0 请求。 文件系统过滤驱动程序完成如镜像和加密捕获 1/0 等操作。 . 网络重定向器和服务器是文件系统驱动程序, 它将文件系统工 /0请求传 送到网络上的机器,并相应地接收那些请求。 协议驱动程序实现网 络协议如tcp/ip、 n e t b e ui和i px/spx。 内核流过滤驱动程序: 完成数据流的信号处理, 如记录或显示音频和视 频。 南京理工大学硕士学位论文 以太网网络监听的研究与实现 从份 d 抽 角度看,有三种类型的驱动程序: 总线驱动程序,维护总线控制器、适配器、桥或任何有子设备的设备。 功能驱动程序是主要的设备驱动程序,它为其设备提供操作接口。 过滤驱动程序用来对设备添加函数功能 或修改其它驱动程序的1 /0请求 和响应。 在百 d m 驱动程序环境中, 没有一个单独驱动程序控制设备的所有方面: 总驱 动程序主要将总线上的设备报告给pnp 管理器, 而功能驱动程序操作设备. 通常, 底层过滤驱动程序改变硬件的行为, 例如如果设备向总线报告它需要 4个 1/0 端口, 而实际需要16个, 那么低层设备过滤驱动程序将截获总线驱动报告给p np 管理器的硬件资源, 并更新1/0 端口 数。 高层过滤驱动程序为设备提供增值特性, 如键盘的高层设备过滤驱动程序可以实施附加安全检查。 2 . 2 . 2份 i n d 饰5 网 络体系结构 wi nd ow s 20 00的 网 络 架 构【24 1 的 各 类 组 件 包 含 : 网络a pi:为应用程序提供一种独立于协议的方式用于网络通信。网络 a pi 既能 在用户态实现, 也可以同时在用户态和核心态实现, 并且有时将其它实现一 些特定程序模型或者额外服务的网络a pi包装在一起。 传输驱动程序接口 ( tdi) 客户:核心态的设备驱动程序,而设备驱动程序 通常实现了网络a pi的核心态部分。 t di客户从发送至协议驱动的1 /0请求分组 ( i r p )中获得自 己的名称, 这些i rp的格式符合w i ndo wsz 0 00传输驱动程序接 口 标准。这个标准为核心态设备驱动程序定义了公共编程接口。 td 工 传 输 器 : 又 称 为 传 送 器 、 nd i s 【25 】 协 议 驱 动 程 序 , 是 工 作 在 核 心 态 的 协 议驱动程序。 它们接收从tdi 客户传来的i rp, 然后处理这些i rp请求。 为了 让 tdi 传输器根据不同的 协议 ( 如tcp 、 u d p 、i px) 将协议头加入i rp的数据中, 这一过程可能需要与一个对等实体进行网络通信,而且需要使用n d is函数与适 配器驱动程序通信。 通过透明的消息操作, 如分段与重组、 序列化、 确认和重传、 tdi 传输器简化了应用程序的网络通信。 n d i s库 ( n d i s . s y s ) :为适配器驱动程序提供封装,隐藏t w i n d 佣52 0 0 0 核心态环境下的具体细节。n d is库为驱动程序提供支持函数,而且也为t di 传 输器的 使用提供了函 数接口。 ndis小 端口 驱动程序: 工作 在核心 态的驱 动程 序, 它负责将tdi 传输器接 入 特定 的网 络 适配 器。 n d is小 端口 驱 动 程 序被 封 装 在, in d 。 ”2 o 00即15库中 。 ndis小端口驱动程序并不处理i rp, 而是将调用表接口注册到阳15库中, 而n d is 库含有指向从库中 输出给tdi 传输器的函数指针. n d is小端口 驱动程序与网络 南京理工大学硕士学位论文以太网网络监听的研究与实现 适配器通信时使用ndis库函数, 这些函数被映射到硬件抽象层 ( 以l) 的函数。 图2 . 2 . 2 . 1 展示了砰 i ndos2 0 00网 络组件大体结构。 侧ndishal 图2 . 2 . 2 . 1 , in d os 网 络组 件大体结构 2 . 2 . 30 51网络七层协议和tcp/i p 在,ind叮5 中的实现 图2 . 2 . 3 . 1 概略地展示了韶1 七层协议、 tcp/ip协议和矶nd佣5 结构的关 系映射。 7应用层应用层 f t p s mt p p o p t e l n e t hl l 尹 7应用程序 e x e 6表示层 6wi n s ock a p i dll 5会话层 ss p i dl l 4传输层传输层 t c p u d p 4 t d l s y s 3网络层l 吐 e m et 层icmp ip a r p 3 nd is .s y 2数据链路层网络接口 2网卡驱动e x e 1物理层 1网卡 图2 . 2 . 3 . 1 佣1 七层协议、 t c p / i p 协议和份 1 耐os 结构的关系映射 051 模型将网络通信结构分为7 层, 从下到上依次为物理层、数据链路层、 南京理工大学硕士学位论文以太网网络监听的研究与实现 网络层、 传输层、会话层、表示层和应用层。 物理层 ( phi sicsl比y er)负责通讯信号在物理硬件上的传送,对应网卡. 网卡的作用,一是将线路发送过来的高频电流转化成数据包传送给网卡驱动程 序,二是将网卡驱动程序传送过来的数据包转化成高频电流发送到线路上去。 数据链路层 ( data l i nk l a y e r) 对应网卡驱动程序,负责和, i nd,5 进行 沟通。 网 卡驱动程序利用w i ndows 网络驱动接口 规范(nd l s) 来进行操作。 n d is 为整个网络驱动提供标准接口, 横跨数据链路层、网络层和传输层这3 层。 网 络层 ( n e t 份 o r kl 盯e r ) 对应n d i s 。虽然n d i s 肩负着3 层的接口 工作, 但是它的职能重心是提供网络层接口。一方面 n dis通过网卡驱动向网卡传达 windos 发送过来的数据, 另一方面也将从网卡驱动程序得到的网卡传送过来的 数据传达给上一级t di. 传输层 ( t r a n s p o r t lay e r ) 对应t d i . t d i 是传输驱动接口, 它不仅是一个 简单的传送带, 还要对信息进行检索、分类并重新组织。 t cp协议的数据包处理 就是在这一层进行的. 会话层 ( s e s s i o n l a y e r ) 对应s p i 。 s p i 是服务提供者接口, 上面介绍的 各 层都处于核心层, 其程序都是驱动程序, 表现为. vxd 或. s ys。 s pi属于应用层范 畴,它的程序为动态链接库 (dl l) 形式。s pi 负责连接核心层驱动程序和高层 应用程序,s pi 的上级为a pi。 表示层 ( pre s e n t a t i o nl a y e r ) 对应a p i , 一、 它为应用程序提供接口。a p i 负 责s pi与应用程序之间的数据传输。 应用层 ( a p p l i cat i on lay er)对应应用程序,最常见的是exe 文件。应用 层位于7 层协议的 最高层, 它负责将数据传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医学副高职称试题及答案
- 2026年金属冶炼班组长安全培训师资力量提升与推广安全培训试卷及答案
- 2026年会计秋招面试题及答案
- 2026年高职专升本法律事务专业技能测试题
- 生活垃圾卫生填埋场工程农用地转用方案
- 设施蔬菜种植基地建设项目使用林地可行性报告
- 2026年5月16日山东省济宁嘉祥事业单位面试真题及答案解析(二)
- 2026福建漳州漳浦龙成中学职工招聘笔试备考试题及答案解析
- 农副产品批发市场项目水资源论证报告书
- (完整)乡村医生考试试题及答案
- 泵管租赁合同范本
- 恙虫病的护理教学查房
- 2025年江阴中考化学试卷及答案
- 《财务管理学(第10版)》教案 王化成 - 第1-7章 总论、财务管理的价值观念-投资决策原理
- GB/T 11264-2025热-轧轻轨
- 2025年河北省事业单位服务员技师考试题库(附答案)
- 2025年辽宁省国家公务员考录《行测》真题及参考答案
- 《国际多式联运实务》共十五章课件(上)
- 2024年7月黑龙江省普通高中学业水平合格性考试历史试题(解析版)
- 建筑工程的毕业论文
- 国家电网保密知识培训课件
评论
0/150
提交评论