毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机论文 >> 正文

基于WinPcap的数据包捕获和分析 第3页

更新时间:2016-9-20:  来源:毕业论文
2.基于WinPcap程序设计
通过研究WinPcap的相关文档以及查看其包的库文件可知,借助于WinPcap提供的函数可实现获取网络适配器列表、获取网络适配器的不同信息、使用PC的一个网卡来捕获数据包、向网络上发送数据、有效保存数据包到磁盘,并通过一个接口捕获数据包、使用高级语言创建一个数据包过滤器,并把它们应用到数据捕获中去等功能,本程序仅实现以下功能:查看网卡信息、传输速度、数据报捕获与过滤、UDP数据包统计等。
2.1程序设计总流程
 主菜单中可以选择查看网卡信息、传输速度、数据报捕获与过滤、UDP数据包统计、退出,设计流程图如图2。

图2    设计总流程图
2.2功能模块设计
主要分为以下四个模块:查看网卡信息、查看传输速度、数据包的捕获与过滤、UDP数据包统计等,模块实现功能如下:
(1)查看网卡信息:查看适配器列表描述及高级信息(本地环回接口、协议族、IP、子网掩码、广播地址)。
(2)查看传输速度:显示通过网卡的数据包传输速度。
(3)数据包的捕获与过滤:数据包的捕获与分析主要针对Ethernet、ARP、IP、TCP、UDP、ICMP,同时判断是否为基于TCP、UDP的服务(其中包括NetBIOS、FTP、SSH、Telnet、SMTP、TFTP、HTTP、POP3、SOCKS)以及实现对数据包的过滤分析。
(4)统计数据包:统计UDP数据包的数量。

图3    功能模块
3.程序各模块的实现
    首先需要配置环境:下载WinPcap安装包及开发包,安装WinPcap安装包,解压开发包,在VC++6.0环境下,在主界面里执行:工程—设置—C++(预处理程序定义)加入“,WPCAP” 、连接—对象/库模块 加入“ wpcap.lib ws2_32.lib”
在 工具—选项—目录 添加 include files 指向winpcap库文件的 include文件夹,添加 library files 指向winpcap库文件的lib文件夹。同时注释掉以下内容:
typedef  _W64 unsigned int   uintptr_t;
...
typedef  _W64  int   intptr_t;
因微软已经不再对 VC++6 支持了,最新的 SDK 已经不能在 VC6 上使用。但一些环境需要下载相应的SDK,下载Microsoft Platform SDK,同时添加指向(置顶)。
通过调用WinPcap的低级动态链接库(Packet.dll)和高级系统无关库(Wpcap.dll)均可实现基于以太网协议的数据包的分析,但考虑到高级系统无关库可以跨平台的特性,本设计着重研究基于Wpcap.dll的以太网数据获取和分析方法。基本流程分为四步:获取网卡详细信息、数据包捕获及过滤、UDP数据包的统计。
3.1获取网卡设备信息
主要借助于pcap_findalldevs 或者pcap_findalldevs_ex函数来实现对设备列表的访问。通过调用WinPcap的pcap_findalledvs函数获取网卡设备信息,函数会自动搜索本地可用的网卡,并将网卡信息以列表的方式返回给用户。查看结构体pcap_if_t与pcap_addr_t的定义可知,当访问到设备列表时,通过访问其数据成员即可获得本地环回接口、协议族、IP、子网掩码、广播地址等相关信息。运行结果如图4所示。图4    网卡详细信息

上一页  [1] [2] [3] [4] [5] 下一页

基于WinPcap的数据包捕获和分析 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。