欢迎来到天天文库
浏览记录
ID:14133221
大小:369.50 KB
页数:40页
时间:2018-07-26
《在vs2008mfc下开发基于winpcap的网络嗅探器(ip,tcp,udp)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计Ⅰ设计报告题目:基于Winpcap的网络嗅探器的实现学号:姓名:学院:专业班级:指导教师:设计时间:指导老师评语:评定成绩:签名:日期:40目录1概述31.1课程设计的目的31.2设计任务与要求31.3开发环境32系统设计的基本概念与原理32.1IP协议基本知识32.2TCP协议基本知识72.3UDP协议基本知识92.4winpcap基本知识92.5winpcap基本原理142.6MFC编程框架173基于WINPCAP的单文档网络嗅探器的设计与分析203.1系统设计实现的基本原理与过程203.2系
2、统功能设计223.3系统架构设计223.4子系统与模块设计233.4.1网络嗅探器设置模块233.4.2网络数据包的捕获模块243.4.3解析和显示模块244系统详细设计与实现244.1数据结构的设计244.2全局变量与函数的声明254.3嗅探器界面设计264.4嗅探器捕获模块的设计与实现264.5网络数据包捕获模块的设计与实现314.6解析和显示模块的设计与实现324.6.1列表视图初始化设置324.6.2从读取离线数据包并在列表视图中显示334.6.2响应用户鼠标消息,解析对应行的数据包信息。365系
3、统调试与运行385.1winpcap函数库的安装385.2sniffer网络嗅探器的测试与运行386课程设计总结39参考文献40401概述1.1课程设计的目的目的:设计一个GUI程序,实现IP、TCP、UDP数据包的捕获和解析。通过编程了解各类数据报的结构,掌握网络编程的基本原理和方法。1.2设计任务与要求本课程设计的基本内容是捕获IP,TCP,UDP数据包,通过解析数据包,理解和掌握各类数据包的结构(1)设计一个GUI程序,完成局域网数据包的捕获和IP、TCP、UDP数据包的解析;(2)捕获几个网络数据
4、报,给出实例并分析各数据包各字段的含义;(3)说明基于Winpcap编程的基本原理、程序的总体框架,绘制每个函数的详细设计流程图。1.3开发环境标准PC机,Windows操作系统,vs2008集成开发环境,Winpcap函数库。2系统设计的基本概念与原理2.1IP协议基本知识(1)IP协议介绍IP是英文InternetProtocol(网络互连的协议)40的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了
5、计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。(1)IP协议的网络互连实现各个厂家生产的网络系统和设备,如以太网、分组交换网等,它们相互之间不能互通,不能互通的主要原因是因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同。IP协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成“IP数据包”格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。(2)IP数据报TCP
6、/IP协议定义了一个在因特网上传输的包,称为IP数据报(IPDatagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成,其格式如图2.1所示:数据报的数据区数据报首部图2.1IP数据报一般格式IP数据报的详细格式如图2.2所示:0371531版本首部长度服务类型总长度标识标志片偏移生存时间协议头校验和源IP地址目的IP地址选项填充域数据部分图2.2IP数据报的详细格式IP数据报固定部分各字段含义:(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版
7、本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。 (2)首部长度40 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20
8、字节(即首部长度为0101),这时不使用任何选项。 (3)区分服务 占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(DifferentiatedServices)。只有在使用区分服务时,这个字段才起作用。 (4)总长度 总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。 在IP层
此文档下载收益归作者所有