基于Willdows系统网络数据包捕获技术浅析.docVIP

基于Willdows系统网络数据包捕获技术浅析.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文档。上传文档
查看更多
基于Willdows系统网络数据包捕获技术浅析

基于Willdows系统网络数据包捕获技术浅析   [摘要]网络数据包捕获技术主要实现了对网络上的数据包进行捕获及分析,是网络安全维护的基础技术和核心手段。它是利用计算机技术截获网络上的数据包,并对截获到数据包进行分析。本文在了解WinPcap基本原理和组成的基础上阐述了利用WinPcap技术在Windows下捕获数据包的方法。   [关键词]网络数据包;捕获;过滤;Windows;WinPcap   中图分类号:TP393.08 文献标识码:A 文章编号:1009-914X(2015)05-0330-01   1引言   目前,网络上的数据流量与日俱增,随之而来的网络安全问题也日渐凸显。无论是实现防火墙,NAT还是VPN,首先就是获得网络数据包,在此基础上才能进行下一步的工作。因此研究数据包捕获及分析技术具有极其重要的意义。多数的操作系统都为应用程序提供访问数据链路层的功能,通过此功能截获网络数据包。如果将网络接口设置混杂模式,则应用程序可以截获局域网上流通的所有分组数据包。通过对截获到数据进行分析,可以有针对性地拦截某些恶意的攻击。本文全文分析了在Windows系统下捕获数据包的原理和捕获数据包的方法。   2现有的网络数据包捕获技术   2.1网络数据包捕获技术分类   捕获IP网络中的数据包根据目的不同可采用第二层的捕获、第三层的捕获和第七层的捕获技术:第二层的捕获是在数据链路层直接进行包的捕获,它能够获得包括数据链路帧头在内的完整数据包;第三层捕获只捕获网络层以上的数据包内容,不捕获数据链路层的内容;第七层捕获则根据需要只捕获关心的某种应用数据,即在应用层而不是底层捕获数据包信息。   2.2各种网络数据包捕获技术   目前基于Windows系统数据包捕获数据包技术主要有以下几种方法:   1调用NDIS库函数,这种方法功能非常强大,但是比较危险,很可能导致系统崩溃和网络瘫痪;   2原始套接字方法,这种方法比较简单,但是功能有限,只能捕获高层的数据包。在创建原始套接字后,通过setsockopt()函数来设置IP头操作选项,然后通过bind()函数将原始套接字绑定到本地网卡。为使原始套接字能够接受所有的数据包,还需要通过函数ioctisocket()来进行设置,而且还可以指定是否亲自处理IP头。   3自行编写中间层驱动程序,使用或者自行编写中间层驱动程序,这是微软公司推荐使用的一种方法,微软提供的win2000DDK中也提供了几个这样的驱动程序。在具体的实现方式上可分为用户级和内核级两类。   4利用WinPcap,可以使用第三方捕获组件或者厍,比如基于Linux系统的Libpcap捕获数据包函数库,基于Windows系统的Winpcap捕获数据包技术。本文重点讨论使用Winpcap函数库捕获数据包的方法。   3 WinPcap基本原理   Winpcap(windows packet capture)是:Windows平台下一个免费,公共的网络访问系统,是为Linmx下的Libpcap移植到windows平台下实现数据包捕获而设计的函数库。开发Winpcap)cap这个项目的目的在于为win32应用程序提供访问网络底层的能力。它用于Windows系统下的直接的网络编程,运行在3.0版的NDIS-Windows内核中最低层的网络部分。   3.1网络驱动程序接口规范(NDIS)   NDIS是Network Driver Interface Specification,即网络驱动接口规范。NDIS的主要目的就是为NIC(网络接口卡,Network Interface Cards)制定出标准的API接口。MAC(介质访问控制,Media Access Controller)设备驱动封装了所有的NIC硬件?实现,这样一来所有的使用相同介质的NIC就可以通过通用的编程接口被访问。NDIS同时也提供一个函数库(有时也称作wrapper),这个库中的函数可以被MAc驱动调用,也可以被高层的协议(例如TCP/IP)驱动调用。这些wrapper函数使得MAC驱动和协议驱动的开发变得更加容易。   3.2 BPF过滤机制   WinPcap是BPF模型和Libpcap函数在Windows平台下网络数据包捕获和网络状态分析的一种系统结构,这个体系结构是由一个核心的包过滤驱动程序NPF,一个底层的动态链接库和一个高层的独立于系统动态连接库组成。WinPcap提供的最强大的特性之一就是过滤引擎NPF,也是最基本的功能单元,它被集成到了WinPcap捕获机制中。提供了一种非常高效的方法来获取部分网络数据。对于WinPcap的研究就是要从过滤NPF开始,而NPF是在BPF的基础上开发出来的,NP

文档评论(0)

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

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

1亿VIP精品文档

相关文档