毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
利用WinPcap技术实现数据包的捕获和分析(4)
2.2.3 WinPcap
这是一个基于Win32的捕获数据包和网络分析的体系结构, 它包括一个内核级的包过滤器, 一个底层的动态链接库( Packet. dll) , 一个高层并且与系统无关的库( WPcap.dll, 基于LibPcap0. 6.2版本) 。WinPcap是集成于Windows95,98, ME,NT,2000和XP操作系统的设备驱动程序, 它可以从网卡捕获或者发送原始数据, 同时能够过滤并且存储数据包。开发WinPcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。
2.2.4 cap
cap是一个能够捕获、发送网络数据包的Java类库包。这个包用到了LibPcap和原始套接字API。目前cap在FreeBSD3. x, LinuxRedHat 6. 1,
Solaris 和Mi-crosoft Windows 2000/XP 系统上已经做过测试, 并且支持Ethernet,IPv4, IPv6, ARP/RARP, TCP, UDP, ICMPv4协议。-cap是一个Java类集合,它为网络数据包的捕获提供接口和系统支持。初版本是2000年6月发布的cap0.01版, 此后几经修改, 到2003年4月发布了最新的cap0.4版。
2.3 WinPcap
WinPcap是由意大利人Fulvio Risso和Loris Degioanni等人提出并实现的。它从UNIX下的Libpcap库移植而来,用于用户层次的数据包捕获工作,由一系列开源的网络数据包捕获函数构成,为底层网络监控变成提供了一个易于移植的应用框架[5]。
2.3.1 WinPcap的体系结构[6]
WinPcap的基本结构如图3所示.它由内核级的网络组包过滤器(Netgroup Packet Filter,NPF)、用户级的动态链接库Packet.dll和wpcap.dll等三个模块组成。
图3 Winpcap的主要组成
(1)网络组包过滤器
它是运行于操作系统内核中的驱动程序,它直接与网卡驱动程序进行互交,获取在网络上传输的原始数据包。NPF与操作系统有关,WinPcap开发组针对不
同的Windows操作系统提供了不同版本的NPF。在Win95/98/ME系统中,它以VXD文件形式存在。该模块提供了抓取数据包以及发送数据包的基本功能,此外还提供了一些高级功能,如数据包过滤系统和检测引擎。
(2)低级动态链接库。
Packet.dll用于在Win32平台上为数据包驱动程序提供一个公共的接口。不同的Windows版本在用户态和内核态之间提供互不相同的接口,而Packet.dll可以屏蔽这些接口区别,提供一个与系统无关的API。基于Packet.dll开发包的数据包截获可以运行于不同的Win32平台而不必重新进行编译。Packet.dll可以执行如获取适配器名称、动态驱动器加载以及获得主机掩码及以太网冲突数等低级操作。
(3)高级动态链接库。
Wpcap.dll模块与Unix系统下的BSD截获框架提供的Libpcap库完全兼容。它提供了一组功能强大切跨平台的函数,利用这些函数,可以不去关心适配器和操作系统的类型。Wpcap.dll含有诸如产生过滤器、定义用户级换种以及包注入等高级功能。编程人员既可以使用包含在Packet.dll中的低级函数直接进入内核级调用,也可以使用由Wpcap.dll提供的高级函数调用,这样功能更强,使用也更为方便。Wpcap.dll的函数调用会自动调用Packet.dll中的低级函数,并且可能被转换成若干个NPF系统调用。
基于WinPcap的网络数据系统实验方案具有结构简单、捕获数据快、协议识别率高等特点,它的三个模块相互套用,实现了网络数据获取的基本功能[7]。
WinPcap提供两级缓存机制[8],分别是内核级缓存和用户级缓存。NPF捕获到的数据报文首先在内核中缓存下来,等到缓存满或超时后再一起拷贝到用户级缓存,以减少CPU在内核级和用户级之间进行上下文切换的次数,提高效率。同时,WinPcap提供设置内核级缓存和用户级缓存的API函数,以满足不同应用的需求。
2.3.2 WinPcap的功能
总体上来说,WinPcap能实现如下四项功能[4]:
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
智慧城市管理系统中的传感器数据采集与清洗方法研究
下一篇:
C#开发GPS/INS控制和数据广播软件开发
数据挖掘的主题标绘数据获取技术与实现
论利用ebXML和SOAP开发Web服务【2352字】
论信息技术茬外语教學中的應用【3270字】
计算机技术基础精品課建设【1708字】
虚拟制造技术的相關概念及其應用【1280字】
现代虚拟制造技术及應用前景分析【1935字】
浅谈嵌入式Modem的通信技术【2467字】
志愿者活动的调查问卷表
医院财务风险因素分析及管理措施【2367字】
C#学校科研管理系统的设计
承德市事业单位档案管理...
AT89C52单片机的超声波测距...
公寓空调设计任务书
10万元能开儿童乐园吗,我...
国内外图像分割技术研究现状
神经外科重症监护病房患...
中国学术生态细节考察《...