深度剖析WinPcap之(一)


深度剖析 WinPcap 之(一)——WinPcap简介 WinPcap 是Windows 平台下访问网络数据链路层的开源库,该库已达到工业标准 的应用要求。WinPcap 允许应用程序绕开网络协议栈来捕获与传递网络数据包, 并具有额外的有用特性,包括内核层的数据包过滤、一个网络统计引擎与支持远 程数据包捕获。 1.1. 什么是 WinPcap 大多数网络应用程序通过被广泛使用的操作系统原语来访问网络,诸如 sockets。操作系统已经处理了底层的细节问题(如协议处理,数据包的封装等), 并提供与读写文件类似的、熟悉的接口,这使得用该方法可以很容易的访问网络 中的数据。 然而有些时候,这种“简单的方式”并不能满足任务要求,因为有些应用程 序需要直接访问网络中的数据包。也就是说,应用程序需要访问网络中的“原 始”数据包,即没有被操作系统使用网络协议进行处理过的数据包。 WinPcap 的目的就是为 Win32 应用程序提供这种访问方式。WinPcap 提供下 列功能: 捕获原始数据包,无论是发送到运行 WinPcap机器上的数据包,还是在其它 主机(共享介质)上进行交换的数据包 在数据包分派给应用程序前,根据用户指定的规则过滤数据包 将原始数据包发送到网络 收集网络流量的统计信息 1.2. WinPcap 的优点 1) 自由 WinPcap 遵循 BSD open source licence发布。这意 味着你的应用程序拥有全部自由来修改与使用它,即使应用程序是商业化的。 2) 高性能 WinPcap 实现了有关数据包捕获文献中描述的所 有典型的优化方法(比如内核级的过滤与缓冲,减少上下文交换,数据包部分内 容复制),加上一些原创的优化方法,如 JIT 过滤器编辑(JIT filter compilation)与内核级的统计过程。因为这些原因,WinPcap 胜过其它可比的 方法。 3) 普及 WinPcap 被许多工具作为网络接口使用——无论是自由 软件还是商业软件。包括网络协议分析器、网络监视器、网络入侵检测系统、网 络嗅探器、网络流量生成器、网络测试器等等。如 Wireshark、Nmap、 Snort、 WinDump、ntop 这些工具,在网络社群中是众所周知的。WinPcap 每天被下载上 千次。 4) 测试充分与可信赖 许多用户对 WinPcap 在广泛的平台上 的测试与发现最难以发现的缺陷做出了经年的贡献。WinPcap的开发者是富有经 验的 Windows 驱动程序编写者,同时他们软件开发方法的重点就是强调固若顽石 (rock-solid)的稳定性。记住:一个多缺陷的驱动程序意味着蓝屏(Windows操 作系统在崩溃后,屏蔽该系统所有处理器的所有中断后,将显示器切换到低分辨 率的 VGA 图形模式下,绘制一个蓝色背景,然后显示停止码,后面紧跟着一些文 本信息来建议用户应该怎么办的画面)。 5) 最终用户易于使用 WinPcap 作为单个小的可执行文件发 布,可运行在每个所支持的操作系统上。开始使用这个可执行文件后,Windows 就能捕获与发送原始数据包。不可能再有更简单的操作了。 6) 程序员易于使用 每个版本的 WinPcap 带有一个开发者包 (developer's pack),包括文档、库与 include 文件,是你立即开发应用程序所 必需的。开发者包还包含一个示例程序集,可用 Visual Studio或Cygnus编译, 用来作为一个极好的起点。 7) 多平台 WinPcap 在Windows NT、Windows 2000、Windows XP 与Windows Server 2003 平台上被积极地维护。WinPcap也能工作在 Windows 95、 Windows 98 与Windows ME平台上,但在这些操作系统上将不再维护。对Windows Vista 具有初步的支持,但有一些特性并不具备。 8) 可移植 WinPcap 与libpcap 具有完全的兼容性。这意味着能够 使用它移植已在 Unix 或 Linux 下存在的工具到 Windows 下。这也意味着 Windows 应用程序可以很容易的移植到 Unix 下使用。 9) 良好的文档 WinPcap 手册用一种容易理解的超文本链接 方式描述,对API与内部进行了文档化。该文档包含一个指南,让你一步一步地 熟悉 WinPcap 的所有特性。 10) 商业化支持 如果你对专业的 WinPcap 支持感兴趣、或当一些事 情出错时你需要一个电话号码寻求帮助,或者在开发底层网络代码时需要帮助, CACE Technologies(http://www.cacetech.com/support)可以帮助你。 1.3. 哪类程序使用了 WinPcap WinPcap 可被许多类型的网络工具使用,比如具有分析,解决纷争,安全和 监视功能的工具。特别地,一些基于 WinPcap 的典型工具如下所示: 网络与协议分析器 (network and protocol analyzers) 网络监视器 (network monitors) 网络流量记录器 (traffic loggers) 网络流量生成器 (traffic generators) 用户层网桥及路由 (user-level bridges and routers) 网络入侵检测系统 (network intrusion detection systems (NIDS)) 网络扫描器 (network scanners) 网络安全工具 (security tools) 1.4. 什么是 WinPcap 不能做的 WinPcap 独立于诸如 TCP-IP 协议的主机协议来发送和接收网络数据包。这意味着 WinPcap不能阻塞、过滤或 操纵同一机器上其它应用程序的通信。它只是简单地"嗅探"网络上所传输的数据 包,因此 WinPcap不能提供诸如网络流量控制、服务质量调度和个人防火墙之类 的功能支持。
还剩2页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

403012698

贡献于2012-11-19

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf