深度剖析WinPcap之(四)——WinPcap的体系架构
2009-09-11 00:00:00 来源:WEB开发网WinPcap是Win32平台下用于数据包捕获与网络分析的一个架构。它包含一个内核层数据包过滤器,一个底层动态链接库(packet.dll),与一个高层并独立于系统的库(wpcap.dll)。
1.1 WinPcap的主要组成
WinPcap的各个主要组成部分如图2-1所示。
图2-1 WinPcap的主要组成
首先,为了访问网络上传输的原始数据,一个捕获系统需要绕过操作系统的协议栈。这需要一部分程序运行于操作系统的内核中,来与网络接口驱动直接交互。该部分与操作系统密切相关,WinPcap的解决方案是实现一个叫做 Netgroup Packet Filter(NPF)的设备驱动程序,并对Windows 95、Windows 98、Windows ME、Windows NT 4、Windows 2000 与Windows XP等不同操作系统提供不同版本的驱动程序。这些驱动程序提供了数据包捕获与发送的基本特性,同时也提供诸如一个可编程的过滤系统与一个监控引擎之类的更高级特性。第一个特性可用于限制一个捕获会话,只捕获特定的网络数据包(比如,可以只捕获一个特定主机生成的ftp数据包)。第二个特性提供了一个强大但简单的方式,来获取网络流量的统计信息 (比如,可以获取网络负载或两个主机间所交换数据的数量)。
其次,捕获系统必须导出一个接口,使得用户层应用程序可使用内核驱动所提供的特性。WinPcap提供两个不同的库:packet.dll与wpcap.dll。第一个库提供一个底层的API,可用来直接访问驱动程序的函数,提供一个独立于微软的不同操作系统的编程接口。第二个库导出了更强大的、更高层的捕获函数接口,并提供与 UNIX捕获库libpcap的兼容性。这些函数使得数据包的捕获能独立于底层网络硬件与操作系统。
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接