基于 WinPcap 的数据包捕获和分析系统

基于 WinPcap 的数据包捕获和分析系统

ID:37594019

大小:488.65 KB

页数:10页

时间:2019-05-25

基于 WinPcap 的数据包捕获和分析系统_第1页
基于 WinPcap 的数据包捕获和分析系统_第2页
基于 WinPcap 的数据包捕获和分析系统_第3页
基于 WinPcap 的数据包捕获和分析系统_第4页
基于 WinPcap 的数据包捕获和分析系统_第5页
资源描述:

《基于 WinPcap 的数据包捕获和分析系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://www.paper.edu.cn 基于WinPcap的数据包捕获和分析系统的设计与实现郑玲北京邮电大学信息与通信工程学院,北京(100876)Email:zhengling1123@gmail.com摘要:WinPcap是Windows平台上高性能的包捕获开发工具。本文对WinPcap的结构和功能进行了详细的介绍和分析,阐述了基于WinPcap捕获和分析网络数据包的方法和主要步骤,并且给出了一个在Windows平台上,MicrosoftVC++6.0环境下,基于WinPcap捕获和分析网络数据包的实例。该实例

2、能过滤用户指定的IP地址、端口号和网络协议的数据包,并在界面实时显示数据包的具体信息。关键词:WinPcap,数据包,包捕获中图分类号:TP39 1.引言随着互联网的飞速发展,网络已成为信息交换的主要手段。一些网络新业务在不断地兴起,如电子商务、移动支付等,这些都对网络安全提出了较高的要求。与此同时,黑客对网络的攻击从未停止,很多网络攻击都是从捕获局域网中的数据包开始。因此研究网络底层数据包捕获和分析技术对于保障网络安全有着重要的意义。WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库。WinP

3、cap 提供的驱动接口,可以在数据链路层实现对网络数据流的捕获和分析。同时,WinPcap以其开源的魅力和强大的功能,已经赢得越来越多的网络程序开发人员的青睐。2.WinPcap介绍[1]WinPcap是由意大利人FulvioRisso和Loris Degioanni等人提出并实现的,在Windows 平台上实现对底层数据包的捕获和过滤。WinPcap能访问网络中的原始数据包,即没有被操作系统利用网络协议处理过的数据包。它的主要思想来自于UNIX 系统中著名的BSD 包捕获结构,具有良好的结构和性能。总的来说,WinPca

4、p提供了以下 4 个功能:①捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的;②在数据包发送给某应用程序前,根据用户指定的规则过滤数据包;③将原始数据包通过网络发送出去;④收集并统计网络流量信息。这些功能需要借助安装在Win32内核中的网络设备驱动程序和若干个动态链接库才能实现。然而,WinPcap有其应用的局限性:它不能阻止、过滤或操纵同一机器上的其他应用程序的通讯,它仅仅能简单地“监视”在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。1 http

5、://www.paper.edu.cn WinPcap的整体结构分为三个相对独立的部分:网络组包过滤器(NetgroupPacket Filter,NPF)、低级动态链接库(Packet.dll)和高级动态链接库(Wpcap.dll),如图 1 所示。Application Wpcap.dllPacket.dll User LevelNPF Device DriverKernel Level Network Packets图 1 WinPcap系统结构NPF(NetgroupPacket Filter)是一个虚拟设备驱动程

6、序,是WinPcap的核心部分,它从网卡驱动程序收集到网络数据包,转发给过滤器进行过滤,也可以发送给统计器进行网络统计分析,还可以发送到转储器,直接将网络数据包存储到磁盘。Packet.dll 是内核级、低层次的包过滤动态链接库,通过它直接映射到 Windows 系统内核的调用,使应用程序可以运行在不同的Windows 系统中,通过调用可直接访问 NPF驱动程序的 API,接收或发送网络数据包。Wpcap.dll是高级的、与系统无关的动态链接库,它与应用程序链接在一起,使用packet.dll提供的服务,向应用程序提供更完

7、善的监听接口和更多功能的函数调用。3.系统架构本系统基于WinPcap 用于捕获和分析网络数据包。用户可以根据需要,选择捕获指定的 IP地址、端口号和协议类型的数据包(默认捕获局域网内的所有数据包)。捕获后系统在用户界面以十六进制的形式实时地显示这些数据包的完整信息,并解析其帧长、源 MAC地址、目的 MAC地址、以太网类型、源 IP地址、目的IP地址、IP协议、源端口号、目的端口号等内容并显示在界面上。如果是 HTTP协议的数据包,则显示其明文。同时,系统能够把每次捕获的数据包保存在本地文件中,记录日志信息。对于数据包的

8、捕获,如果在一个繁忙的网络上进行,而不设置任何过滤,则得到的数据2 http://www.paper.edu.cn 包是非常多的。如果应用程序不进行必要的性能优化,那么将会丢失大量的数据包。因此对捕包性能的优化必不可少,本系统采用多线程来解决此问题:一个线程负责捕获数据包,一个线程负者数据处理,一个线程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。