读书频道 > 网站 > 网页设计 > 网络分析技术揭秘:原理、实践与WinPcap深入解析
2.4.3 WinPcap的驱动程序
12-08-11    叶孤城
收藏    我要投稿   
本书结合著名的开源软件库WinPcap来说明网络分析技术的实现原理及使用方法。其中包括WinPcap内核驱动,编译与使用,数据包的捕获、发送、内核过滤与接收,以及网络流量的统计与网络状态的分析等重要内容,而且作...立即去当当网订购
WinPcap的体系结构如图2-3所示,其中NPF是WinPcap的内核组件,用来处理网络上传输的数据包,并对用户层导出数据包进行捕获、发送与分析。下面将介绍NPF与操作系统及其他基础组件的交互操作。
 
图2-3WinPcap的体系结构
WinPcap的NPF是作为一个协议驱动程序被实现的。从性能的角度来说,这可能并不是最好的选择,但是其允许与MAC子层具有合理的独立,同时也能完全访问原始的网络流量。NPF在内核中的位置如图2-4所示。
 

图2-4NPF在内核中的位置
正常情况下,协议驱动程序与操作系统的交互是异步的。驱动程序提供了一个回调函数集,当有一些操作需要NPF处理时它就会被操作系统调用。NPF会为应用程序的所有I/O操作(open、close、read、write、ioctl等)导出对应的回调函数。
同样,协议驱动程序与网络驱动程序接口规范(NDIS)库的交互也是异步的。例如一个新数据包到来的事件就是通过一个回调函数Packet_tap()通知NPF的。此外,NDIS与NIC驱动程序的交互总是依靠非阻塞函数而发生的:当NPF调用一个NDIS函数时,该调用立即返回;当处理结束时,NDIS调用一个特定的NPF完成函数来通告该函数已经完成。驱动程序为任何底层的操作(如发送数据包、对NIC设置或请求参数等)导出一个对应的回调函数。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站