基于WinPcap的以太网协议捕获和分析技术的研究.docVIP

基于WinPcap的以太网协议捕获和分析技术的研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WinPcap的以太网协议捕获和分析技术的研究   摘要:WinPcap作为一个在Win32环境下可以实现高效率数据包的开发包,提供了完善的编程接口,能够很好的实现以太网协议的捕获和分析,对于深入研究以太网协议和解决以太网协议在应用中的新问题具有实际意义。   关键词:WinPcap;以太网协议;包捕获;协议分析   中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)19-4548-02   随着以太网技术的日新月异,网络安全问题已日趋严峻。以太网协议具有在同一回路向所有主机发送数据包信息的特征,数据包头包含有目标主机的正确地址,一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为“混杂模式”(promiscuous模式)。这是在网络上抓取数据包从而进行协议分析的基础,它的产生是由共享网络的方式决定的。事实上,很多黑客入侵时都将协议分析作为获取网络重要信息的基本手段,而网络安全、网络监控等方面也将其作为基础。因此,以太网协议分析其实是一把双刃剑,通过网络监听和协议分析,对于防范各类网络犯罪有着极其重要的作用。   1 WinPcap概述   1.1 WinPcap简介   WinPcap是由意大利人Fulvio Risso和Loris Degioanni提出并实现的[1],其主要思想来源于Unix系统中著名的BSD包捕获架构LIbpcap。作为一个在Win32环境下可以实现高效数据包捕获的开发包,其体系结构由一个核心的包过滤驱动程序NPF、一个底层的动态链接库Packet. dll和一个高层的独立于系统的函数库Libpcap组成。基于其高性能开源API封装库,很多市面上的网络分析软件都采用了它作为底层的架构,比较著名的如:Wireshark、Ethereal。   1.2 WinPcap构成模块   WinPcap主要由三部分组成。如图1所示[2]。   第一部分是内核层的数据包过滤模块:NPF(Netgroup Packet Fillter)。NPF的结构来源于BPF(Berkley Packet Filter),BPF是用于Unix 系统中的一种网络监控工具,它使用由UNIX 操作系统提供的内核级别的可访问未处理的原始网络数据的功能。BPF有两个部分,网络开关(network tap)和包过滤机(packet filter)。network tap从网络设备驱动程序中收集数据拷贝并转发到监听程序,network filter决定是否接收该数据包以及该数据包方式。实际上NPF是BPF的一个虚拟机,但NPF不是由操作系统提供而是WinPcap的一部分,其主要任务是直接从取数据链路层取得数据包,并不加修改地转发给上层模块。NPF与操作系统有关,WinPcap开发组针对不同的Windows操作系统提供了不同版本的NPF。   第二部分是低级动态链接库:Packet.dll。Packet.dll为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块,Packet.dll用于解决这些不同,使得基于WinPcap开发的应用程序能运行在不同的Windows平台上,而无需重新修改编译。   第三部分是高级系统无关库:Wpcap.dll。作为一个工作在Packet.dll之上的用户级动态链接库,Wpcap.dll主要提供完善的接口函数库,它和应用程序编译在一起,为用户提供了跨平台的服务。   2 基于WinPcap的以太网协议捕获和分析流程   通过调用WinPcap的低级动态链接库(Packet.dll)和高级系统无关库(Wpcap.dll)均可以实现以太网协议分析,但考虑到高级系统无关库可以跨平台的特性,在此本文着重研究基于Wpcap.dll的以太网数据获取和分析方法。基本流程分为四步:获取网卡信息、设置数据包过滤、捕获数据包和数据包分析。如图2所示。   1) 获取网卡设备信息   通过调用WinPcap的pcap_findalledvs()函数获取网卡设备信息,这个函数会自动搜索本地可用的网卡,并将网卡信息以列表的方式返回给用户。   2) 设置数据包过滤   使用WinPcap中的pcap_compile()和pcap_setfilter()两个函数,通过设置参数来完成对数据包过滤条件的定义。   3) 捕获数据包   使用函数pcap_open_live()启用函数pcap_findalledvs()获得的网卡,pcap_open_live()返回一个pcap_t型指针作为监听句柄。当有新的数据包到达网卡,网卡就会通知NPF的network tap,NPF

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档