欢迎来到天天文库
浏览记录
ID:53761860
大小:471.11 KB
页数:3页
时间:2020-04-24
《基于Winpcap网络数据包的捕获与存储技术研究-论文.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第13卷第1期V01.13No.12014年1月Jan.2Ol4基于Winpcap网络数据包的捕获与存储技术研究李星,熊列彬,王昌(西南交通大学电气工程学院,四川成都610031)摘要:利用Winpcap网络开发包使应用程序绕过协议栈捕获并传送网络数据包,实现了数据包的循环捕获。基于Windows平台,用VC++6.0实现界面设计,并运用ADO技术与数据库连接,实现了数据包实时分析和数据的存储功能。关键词:Winpcap;数据包;协议分析;数据库中图分类号:TP391文献标识码:A文章编号:1672—7800(2014)001—0125—03共
2、4种。本文采用第4种,具体介绍如下:0引言1.2Winpcap技术简介Winpcap是UNIX下的libpcap移植到Windows下的产随着计算机网络的迅速发展,人们迫切希望网络上的物,它是一个开源项目。Winpcap工作于驱动(Driver)层,信息不被泄露、更改和破坏,网络服务不被中断。网络数所以能以很高的效率进行网络操作。Winpcap提供了以据包捕获和分析技术是网络安全维护的基础技术和核心下强大功能]:①获取网卡列表及信息;②捕获原始的数手段,因此,深入研究网络数据包的捕获和分析技术尤为据包;③设置filter,只捕获自己感兴趣的数据
3、包;④方便必要。本文提出了一种可行的捕获网络数据包的设计流地把捕获的数据包输出到文件和从文件输入;⑤发送原始程,并实现了对捕获的数据包的实时分析和存储功能。的数据包;⑥统计网络流量。本文使用MFC应用程序的界面设计编写程序,核心1基于Winpcap数据包的捕获技术开发主要使用Winpcap完成。Winpcap的组成部分如图2所示,使用其提供的函数主要完成网络数据包的捕获等功1.1网络通信模型及常规通信编程方法能。计算机网络通信采用OSI七层模型标准,只要遵循这Application个标准就可以和位于世界任何地方、同样也遵循OSI标准●的其它任何
4、系统进行连接。但实际上完全符合各层协议Wpeapdll的商用产品很少,随着Internet在全世界的飞速发展,●PacketdllUserLeverTCP/IP已经成为事实上的国际标准,它们的对比参考模Kerne1Lever型如图1所示。NPFDeviceDriver应用层Network表示层\会话层/应用层图2Winpeap的组成部分传输层传输层Winpcap为Win32应用程序提供访问网络底层的能网络层互联层力,底层是基于wINPCAP包进行开发。主要用到的函数数据链路层\、网络接口层物理层一包括:图1osI模型与1℃P/IP参考模型(1)
5、intpcap_findalldevs();用于返回所找到的适配器对Windows系统,数据包捕获用到的主要方法有原列表。始套接字、调用NDIS库函数、使用他人编写的中间层驱(2)pcap~tpcap—open();用于打开一个网络接口动、使用第三方组织提供的捕获组件或者库(如Winpcap)进行数据包捕获。作者简介:李星(1987一),男,西南交通大学电气工程学院硕士研究生,研究方向为微机保护与综合自动化。·126·软件导刊2014在(3)voidpcap—dump();用于将包内容输出到由pcap—定义、pcap.h头文件以及添加静态链接库
6、,然后编译并测dumpopen()打开的文件中。试代码。本程序采用的开发环境是Winpcap4.1.3以及对—(4)intpcapcompile();用于将过滤规则字符串编译应的开发包]。—成一个BPF内核过滤程序。2.2初始化(5)intpcap—setfilter();功能是设置BPF过滤规则。这部分主要做的工作就是VC、MFC框架以及相关控(6)intpcap—datalink();功能是获取数据链路层类件的初始化,包括列名称、列宽度等相关属性,网络设备信型,如10M以太网、SLIP、IEEE802.3等。息包括设备的唯一识别名称及其可读
7、的描述内容,然后将1.3数据捕获原理其显示在一个下拉列表中供用户选择。以太网(Ethernet)是一种总线型网络,具有共享介质2.3ADO技术及连接数据库的特征,当网络适配器设置为监听模式(混杂模式,Pro—2.3.1ADO技术简介miscuous)时,由于采用以太网广播信道争用的方式,使得ADO是一组由微软提供的COM组件,基于面向对监听系统与正常通道的网络能够并联连接,并可以捕获任象思想的编程接口。它建立在COM体系结构之上,其所何一个在同一冲突域上传输的数据包,运用这一原理就能有接口都是自动化接口,因此在C++、VisualBasic、D
8、el—监听所需要的信息。phi等支持C0M的开发语言中通过接口都可以访问到1.4原始数据包捕获的实现ADO。ADO对象模型非常精炼,由3个主要对象Co
此文档下载收益归作者所有