WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(四)——WinPcap的体系架构 阅读

深度剖析WinPcap之(四)——WinPcap的体系架构

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: 图2-3 从NIC到应用程序的路径1.2.2 数据包捕获驱动 数据包捕获组件通常对其它的软件模块(如协议栈)是透明的,并不对标准的系统行为带来影响,深度剖析WinPcap之(四)——WinPcap的体系架构(3),它们仅仅在系统中插入一个钩子——通常使用一个回调函数 ta

深度剖析WinPcap之(四)——WinPcap的体系架构

图2-3 从NIC到应用程序的路径

1.2.2 数据包捕获驱动

数据包捕获组件通常对其它的软件模块(如协议栈)是透明的,并不对标准的系统行为带来影响。它们仅仅在系统中插入一个钩子——通常使用一个回调函数 tap()——只要一个新的数据包从网络上到来,它们就能够被告知。tap()函数所作的第一步就是对数据包执行过滤。在Win32平台下数据包捕获组件通常作为一个网络协议驱动程序被实现。

1.2.3 用户层的接口支持

必须导出一个接口,使得用户层应用程序可使用数据包捕获组件所提供的功能,一般通过给用户提供易于使用的库来实现。WinPcap提供packet.dll与wpcap.dll两个库,这些库使得应用程序对数据包捕获功能的使用能独立于底层网络硬件与操作系统。

1.3 WinPcap驱动内部说明

WinPcap的结构如图2-4所示,NPF是WinPcap的组件,用来处理网络上传输的数据包,并对用户层导出数据包捕获、发送与分析的能力。下面将描述NPF与操作系统与其基础结构体的交互。

深度剖析WinPcap之(四)——WinPcap的体系架构

图2-4 NPF的结构

1.3.1 NPF与NDIS

网络驱动程序接口规范(NDIS)标准,定义了网络适配器(或者,更好的说法是管理网络适配器的驱动程序)与协议驱动程序(如TCP/IP就为一个实现实例)之间的通信。NDIS的主要目的是扮演一个包装层,允许协议驱动程序不依赖特定适配器或特定Win32操作系统来发送和接收网络(LAN或WAN)上的数据包。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接