2.2 WinPcap的优点

作为一款开源软件,WinPcap具有如下优点:

❑自由。WinPcap遵循BSD开源协议(BSD open source licence)发布。这意味着应用程序拥有全部自由修改与使用它的权限,即使应用程序是商业化的。

❑高性能。WinPcap实现了数据包捕获相关文献中所描述的全部典型优化方法(如内核级的过滤与缓冲,减少上下文交换,数据包部分内容捕获),以及一些原创的优化方法(如运行时编译(Just In Time,JIT)、编译过滤器与在内核中进行流量统计等)。因此,WinPcap优于其他类似的工具。

❑普及。WinPcap在网络社群中是众所周知的,它每天被下载上千次。WinPcap被许多工具作为网络接口使用——无论是自由软件还是商业软件。网络协议分析器、网络监视器、网络入侵检测系统、网络嗅探器、网络流量生成器、网络测试器等(比如Wireshark、Nmap、Snort、WinDump、ntop)都是基于它来实现的。

❑测试充分、可信赖。多年来,许多用户对WinPcap在众多平台上的测试与寻找最难以发现的缺陷做出了重要的贡献。并且WinPcap的开发者是富有经验的Windows驱动程序编写者,他们在进行软件开发时重点强调的是程序的稳定性,因此使得WinPcap非常值得信赖。请记住,一个缺陷多的驱动程序意味着不时的蓝屏[1]

❑易于最终用户使用。WinPcap作为单个可执行文件发布,开始使用这个可执行文件后,Windows就能捕获与发送原始数据包。对于用户来说,不可能再有比这更简单的操作了。

❑易于程序员使用。每个版本的WinPcap都带有一个开发软件包,其中包括齐备的文档、库与头文件,是开发应用程序所必需的。开发软件包还包含一个示例程序集,其可在Visual Studio环境下编译,是一个极好的开发起点,便于开发人员快速上手。

❑多平台。WinPcap可运行在Windows NT、Windows 2000、Windows XP与Windows Server 2003平台上,并被积极地维护着。WinPcap也能工作在Windows 95、Windows 98与Windows ME平台上,但在这些操作系统上已不再提供维护。WinPcap对Windows Vista具有初步的支持,但有一些特性并不具备。

❑可移植。WinPcap与libpcap具有完全的兼容性。这意味着能将已在UNIX或Linux平台上存在的工具软件移植到Windows平台。这也意味着Windows平台上的工具软件可以很容易地移植到UNIX或Linux平台。

❑良好的文档。WinPcap手册采用一种容易理解的超文本链接方式进行描述,对WinPcap提供的应用程序接口(API)与WinPcap内部的主要机制都进行了文档化。可把该文档看作一个指南,进而帮助我们一步一步地熟悉WinPcap的所有特性。

❑商业化支持。如果对专业的WinPcap支持感兴趣,或者当一些事情出错时需要帮助,或者在开发底层网络代码时需要帮助,可登录CACE Technologies网站(http://www.cacetech.com/support)。

[1]Windows操作系统在崩溃后,屏蔽该系统所有处理器的所有中断后,将显示器切换到低分辨率的VGA图形模式下,绘制一个蓝色背景,然后显示停止码,后面紧跟着一些文本信息来建议用户应该怎么办,这样的画面就是蓝屏。