2010_网络数据包捕获工具
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
3 设计方案与系统功能描述
3.1 设计方案
在多方参考的情况下打算采用Winpcap和Winsock中的一种来实现抓包等相应的功能。参考了《网络安全开发包详解》和《Windows防火墙和网络封包截获技术》这两本书后决定采用Winpcap来实现代码。Winpcap中封装了许多的功能,只需要直接调用,就像java中封装好的类一样,使用起来非常方便。
通过Microsoft Visual C++6.0 MFC来实现可视化编程,通过一个简单的界面来实现对于捕获网卡信息、本机IP地址、广播地址和子网掩码等信息的获取显示。设置开始/停止按钮来实现对于抓包函数的调用的控制。在界面上获取并显示系统当前时间,通过设置定时器每隔一秒钟触发一次获取当前系统时间来实现一个时间显示。在开始/停止按钮中添加循环判断语句,并且设置一个bool型变量来控制是否开启抓包函数的调用。如果执行抓包函数,那么将捕获到的数据包的信息保存并解析处里面的信息返回到list表中插入显示出来。如果点击停止按钮则调用pcap_close()函数来实现关闭winpcap操作。大体的一个设计思路就是这样子的,具体的各个功能实现在软件编码部分会详细讲解。
下面部分,为了方便大家形象的理解其中的一些东西,会适当的结合一些图片和代码来分类详细描述。 内容来自think58
[版权所有:http://think58.com]
下面的图4是开发初期的大体界面框架。
图4 MFC控制界面
3.2 功能描述
制作的这个软件的最主要也是最核心的功能就是对于网络数据包的捕获,对于捕获到的网络数据包显示和简单的分析,分析数据包的协议类型(是TCP、UDP还是ICMP等),还有数据包的源IP、目的IP还有端口号、时间戳和包长等最后并将这些信息显示出来。实质是主要实现一个网络实时监听的功能,然后将捕捉到的数据包保存下来以便进一步的分析使用。图5中为系统初始化后加载各个模块的流程图。具体功能在后面章节中会分别详细说明。
图5 功能模块图
3.3 系统流程图
下图6是程序流程图
图6 程序流程图
根据流程图可以清楚明白的看到每一步的流程,程序是怎么样执行下去的,有助于理解程序。
4 编码实现
4.1 Winpcap环境设置
配置环境首先需要安装Winpcap,所使用的是Winpcap_3_1.exe,这个是必须安装的,它是所有基于Winpcap的应用程序运行所必须的。还有就是wpdpack.zip文件的解压了放在D:\毕业设计-KNIGHTG\WPDPACK中,它是Winpcap开发包文件,是设计基于Winpcap的应用程序的开发文件。该文件包括开发用的头文件和静态链接库文件,是开发者要用到的。解压后会有几个文件夹。其中,Include文件夹中的是Winpcap的一些头文件,编程时必须把此文件夹的路径包含到Visual C++的包含头文件的路径中;文件夹Lib中是开发程序时用刀的静态链接库,编程时此文件夹也必须包含到Visual C++库文件路径中。 本文来自think58 [资料来源:www.THINK58.com]
VC环境下安装配置过程如下:
1、添加路径:
工具(Tools)->选择(Options)->目录(Directories)同下图图7进行设置。
图7 Winpcap环境配置1
这里添加路径要注意自己Winpcap安装时的WPCAP和Include的文件夹的位置,要不然在代码编译和连接的时候都会报:Cannot open include file: 'pcap.h': No such file or directory。刚开始写代码的时候就吃了这方面的亏,对于这个Winpcap的环境配置不来,教程和相应的参考书籍里面写的非常的模糊,当时配置起来选项和栏目又多不知道该要填在哪儿,对于一个Winpcap的初学者来说实在时有一定的难度,后来在MSDN论坛上面求教后才明白该怎么弄,所以在论文中特别将这点加入进来。
添加路径时要注意这里不仅要添加头文件相关的路径,还要加入Libpcap的的路径。否则编译过了,连接时也会报错:cannot open file "wpcap.lib"。
copyright think58 [来源:http://www.think58.com]
[版权所有:http://think58.com]