- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WinPcap的程序开发.doc
基于WinPcap的程序开发
一、WinPcap介绍
1、WinPcap简介
大多数Unix操作系统提供了一套允许应用程序直接与网络相互联系的系统调用。这些指令对于那些需要通过网络捕获连续的包数据而不用内核进行过多的干预的包捕获应用程序非常有用。在Windows环境下,WinPcap就是这样一类工具。
WinPcap是一个在Windows操作系统下的免费、公开的用于直接访问网络的开发工具包(编程API)。大多数Windows网络应用程序都是通过Winsock API(Windows套接口)这类高级编程接口访问网络的。这种方法允许在网络上进行简单的数据传送,因为操作系统的TCP/IP协议栈实现软件会处理底层细节(协议操作、流程重组等等),并提供一个类似于读写文件的函数接口。
然而,有时候“简便方法”并不能满足实际需要。有些程序希望绕过TCP/IP协议栈,直接处理底层网络中的通信数据,它们需要对网络进行底层进行直接访问,即在没有类似协议栈(TCP/IP协议栈)的实体介入条件下对网络进行原始访问。
基于Winsock API编程,应用程序是通过调用操作系统提供的编程接口访问TCP/IP协议栈实现网络通信的。基于WinPcap编程,网络程序实际上是绕开操作系统的TCP/IP协议栈直接通过底层网络发送数据,因此,网络程序可以实现一些更低级、更灵活的功能。
2、WinPcap的目的WinPcap可以开发的网络应用WinPcap的WinPcap的开发目前,winpcap主要是windows NT/2000/XPwinpcap的用户中只有小部分使用windows 95/98/Me,并且也已经放弃了对win9x的开发。winpcap中的面向9x系统的概念和NT系统的非常相似,只是在某些实现上有点差异,比如说9x只支持ANSI编码,而NT系统则提倡使用Unicode编码。 WinPcap典型的开发和运行环境是windows NT/2000/XPWinPcap也支持windows 95/98/Me,但是,我们不推荐在windows 95/98/Me下开发和运行基于WinPcap的网络应用。
二、WinPcap的体系结构分析
1、WinPcap的组成与结构
如图2.1,WinPcap由一个数据包监听设备驱动程序NPF)、一个底层的动态连接库packet.dll)和一个的静态库wpcap.dll)共三个部分构成。NPF在操作系统的内核级,packet.dll、wpcap.dll在用户级。
1)数据包监听设备驱动程序抓包必须绕过操作系统的协议栈来访问在网络上传输的原始数据包(raw packet)这就要求WinPcap一部分运行在操作系统核心内部,直接与网络接口驱动交互。这个部分是系统依赖(system dependent)的,在Winpcap的解决方案它被是一个设备驱动,称作NPF(Netgroup Packet Filter)。Winpcap开发小组针对Windows95,Windows98,WindowsME,Windows NT 4,Windows2000和WindowsXP提供了不同版本的驱动。这些驱动不仅提供了基本的特性(例如抓包),还有更高级的特性(例如可编程的过滤器系统和监视引擎)。前者可以被用来约束一个抓包会话只针对网络通信中的一个子集(例如,捕获特殊主机产生的ftp通信数据包),后者提供了一个强大而简单的统计网络通信量的机制(例如,获得网络负载或两个主机间的数据交换量)。数据包监听设备驱动程序直接从数据链路层网络数据包不加修改地传递给运行在用户层的应用程序在不同的WINDOWS系统下是不同。数据包监听设备驱动程序支持BPF过滤机制,可以灵活地设置过滤规则。底层的动态连接库packet.dll)和高层静态库wpcap.dll)
为了方便编程,WinPcap必须提供一个编程接口(API),这就是WinPcap的底层的动态连接库packet.dll)和高层静态库wpcap.dll)。这里,packet.dll提供了一个底层API,伴随着一个独立于Microsoft操作系统的编程接口,这些API可以直接用来访问驱动的函数;wpcap.dll导出了一组更强大的与libpcap一致的高层抓包函数库(capture primitives)这些函数使得数据包的捕获以一种与网络硬件和操作系统无关的方式进行。底层动态链接库运行在用户层,应用程序和数据包监听设备驱动程序隔离开来,使得应用程序可以不加修改地在不同的WINDOWS系统上运行。高级的静态链接库和应用程序编译在一起,使用低级动态链接库提供的服务,向应用程序提供完善的监听接口。wpcap.dll提供的编程接口开发应用程序。当然,程序要也可以使用packet.dll、NPF提供的编程接口,只是后者提供
您可能关注的文档
- 城市道路与交通简答(武大).doc
- 城市随迁老人的生活状况与社会支持网络研究(6月9日).doc
- 城郊结合部初中学生不良行为成因及对策研究.doc
- 培训主管岗位胜任特征模型构建及应用.doc
- 基于3D max的动画设计.doc
- 基于android平台的二维码识别软件的设计与实现论文.doc
- 基于android的移动OA的开发与设计.doc
- 基于Android计算器的设计与应用论文 -.doc
- 基于ARM的偏振光和光流传感器的组合导航系统的硬件设计开题报告.doc
- 基于DA转换模块的单片机仿真和C语言开发.doc
- 小学科学实验教学质量波动成因解析与大数据辅助教学教学研究课题报告.docx
- 基于数字化平台的小学学生数字素养培养与教师激励策略探究教学研究课题报告.docx
- 初中科学“科学探究与实验技能培养”教学策略探究教学研究课题报告.docx
- 初中英语课堂AR社交互动教学策略与效果评价教学研究课题报告.docx
- 创新语文教学初中影视鉴赏课程的有效设计教学研究课题报告.docx
- 高中历史教学中环保史实解读与教育启示研究教学研究课题报告.docx
- 基于STEM教育的数字教育资源优化整合策略与实践研究教学研究课题报告.docx
- 《同态加密在生物信息学大数据隐私保护中的创新应用》教学研究课题报告.docx
- 初中数学数字化评价数据挖掘与教学策略研究教学研究课题报告.docx
- 基于大数据分析的智慧校园智能学习环境成本效益评估与优化策略研究教学研究课题报告.docx
最近下载
- 2025年中考生物总复习第三部分新课标命题七大主题突破专题五人体生理与健康.pptx VIP
- 统编一年级下册《端午粽》跨学科教学设计.docx
- 趣味化学实验在初中生学习动机激发中的实证研究教学研究课题报告.docx
- 项目施工进度安排方案及各阶段进度保证措施.docx VIP
- 20S515 钢筋混凝土及砖砌排水检查井.docx VIP
- 主题五+人体生理和健康+课件-2025年中考生物总复习主题突破.pptx VIP
- 机械制图习题集(第3版)非机类_杨慧英课后习题答案.pdf
- 《水泥行业协同处置项目二氧化碳减排量核算方法学》.pdf VIP
- 河流基本情况调查报告.docx
- [甘肃]2024下半年甘肃省文化和旅游厅直属事业单位招聘2人笔试历年参考题库附带答案详解.pdf
文档评论(0)