ip数据包解析实验报告摘要篇一:解析IP数据包实验报告成都工业学院(课程设计实验报告)院系: 计算机工程系课程名称: 计算机网络设计名称: 解析IP数据包专业名称: 网络工程班级: 1305022姓名: 牟黎明学号: 11指导老师:刘枝盛老师成绩:设计时间:XX年12月22日—XX年12月26日成都工业学院课程设计任务书指导教师(签名):目录一、课程设计的目的和意义...............................................3 二、课程设计的内容和要求..............................................3 三、解析IP数据包设计的相关技术 (4)? 3.1 IP数据包的格式与分析? 3.2 程序分析设计......................................................4 .. (6) (6) (6) (7) (7)……………………….…………..…………….7 ?3.2.1 网卡设置? 3.2.2 程序设计? 3.2.3 程序设计? 3.2.4 程序设计? 3.2.5 程序设计四、课程设计过程 (8)? 4.1 程序流程图? 4.2源程序代码 (8) (16)……………….……………..............……………….9 ?4.3 程序运行结果? 4.3.1.登陆界面,提示输入命令符 (16)? 4.3.2.命令符输入错误后提示界面 (16)? 4.3.3.截获的IP数据包界面 (17)? 4.3.4.继续抓包图 (17)五、课程设计小结 (18)参考文献 (18)一、课程设计的目的和意义目的:本章课程设计的目的就是设计一个解析IP数据包的程序(我的编辑环境为visual2102),并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对网络层的工作原理有更好的理解和认识。
意义:1、有利于编程能力的提高在做设计的过程中,我再一次熟悉了开发设计的基本流程,从分析任务到确立整体框架再到确定算法,然后再一步步实现各函数的功能。
从中,我熟悉了许多新的库函数,并提高了编程技巧。
2、有利于基础知识的理解在这次课程设计之前,我们已经学完了网络层的理论知识,可是对它的理解很粗浅。
之前只知道关于网络层的一些概念性的东西。
可是做完设计后,我才从整体上理解了网络层的框架,明白了网络层的每一个组成部分都是有它特定的功能和意义的,从而对网络层协议有了更深入的理解。
3、有利于逻辑思维的锻炼程序设计能直接有效地训练我们的创新思维,培养分析问题、解决问题的能力。
即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。
二、课程设计的内容和要求本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
程序的具体要求如下:1)打开本程序,根据提示,输入命令符ParsePacket,开始抓包。
获取经过本机的ip数据。
若输入错误,将退出重新打开才行。
2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP 地址和目的IP地址等内容。
3)第一次抓包完成后,可按1号键选择再次抓包,也可按2号键选择退出。
三、解析IP数据包设计的相关技术3.1 IP数据包的格式与分析互联网层是TCP/IP协议参考模型中的关键部分。
IP协议把传输层送来的消息组装成IP数据包,并把IP数据传递给数据链路层。
IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除各通信子网间的差异,从而为信息发送方和接收方提供了透明的传输通道。
编制本程序前,首先要对IP包的格式有一定的了解。
图(1)给出了IP协议的数据包格式。
IP数据包的第一字段是版本字段,其长度为4位,表示所使用的IP协议的版本。
目前的版本IPV4,版本字段的值为4,下一代的版本是IPV6,版本字段的值为6。
本程序主要针对版本值为4的IP数据包的解析。
报头标长(IHL)字段为4位,它定义了以4B为一个单位的IP包的报头长度。
报头除了选项字段和填充域字段外,其他各字段是定长的。
因此,IP数据包的头长度在20-40B 之间,是可变的。
04 816 19 24 31(位)篇二:IP数据包实验报告甘肃政法学院本科学生实验报告(二)姓名学院计算机科学学院专业计算机科学与技术班级 09计本班实验课程名称 TCP/IP协议分析试验时间 XX 年 10 月 13 日指导教师及职称武光利实验成绩开课时间 XX—XX 学年第一学期甘肃政法学院实验管理中心印制篇三:实验四分析IP数据包格式实验四分析IP数据包格式一实验目的掌握IP协议的作用和格式理解IP数据包首部各字段的含义掌握IP数据包首部校验的计算方法二实验原理1. IP协议位于网络层,是TCP/IP协议中的核心协议,提供数据传输的最基本服务,是实验网络互连的及基本协议。
2. 首部校验?IP协议对对IP数据报首部进行校验,原因:a) IP首部属于IP协议的内容,不可能由上层协议处理。
b) IP协议中的部分字段在点到点的传递过程中是不断变化的,只能在每个中间点重新形成校验数据,在相邻点之间完成校验。
? 计算首部校验和:a.发送方将IP数据报的数据按顺序分为16个比特的小块数据b.首部校验和字段的初始值被设置为0c.用1的补码算法对16比特小数据块进行求和d.最后再对结果求补? 将经过计算得到的首部校验和填回数据报首(转自: 小草范文网:ip数据包解析实验报告摘要)部校验和字段,封装成帧后发送给通往信宿的下一跳设备。
? 校验: 下一跳设备作为接收方将收到的IP数据报的首部再分为16比特的小数据块,用1的补码对小数据块进行求和,最后再对结果求补,若得到结果为0,就验证了数据报首部的正确性。
三实验设备计算机及以太网环境。
四实验内容与步骤1. 打开网络分析协议软件(Wireshark),选择菜单命令“Caputer”→“Interfaces?”子菜单项。
弹出“Ethereal:Caputer Interfaces”对话框。
单击“Options”按钮,弹出“Wireshark:Caputer Options”对话框。
单击“start”按钮开始网络数据包捕获。
2. 浏览外部网站,确保协议分析软件能够捕获足够的网络数据包,单击“stop”按钮,中断网络协议分析软件的捕获过程,主界面显示捕获到的数据包。
在数据包区任意抓取一个源地址为115.52.85.120的数据包进行分析。
该数据使用TCP协议。
在协议数据区中:首部:版本占4位:数据位为:首部长度为:,数据位为:服务类型为:数据位为:数据报总长度为:数据位为:标识为:,数据位为:标志为:数据位为:片偏移为:数据位为:生存时间为:数据位为:协议为:;;;;;;;数据位为:首部校验和为:;数据位为:;源IP地址,目的IP地址分别为:,数据位分别为:3. 由上可以直接看出首部的总长度是160位,说明没有IP选项,在首部中,版本和首部长度各占4位,标识占16位,标志和片偏移占16位,生存时间占8位,协议占8位,首部校验和占16位,源IP地址占32位,目的IP地址占32位。
通过查看IP数据包的各长度与值可以看出,捕获到的数据报完全符合IP数据报格式。
4. 通过查看与分析,各数据包的标识与片偏移的特征是:在十六进制区中的表示总是相邻的。
5. 通过查看各IP数据包总长度可以看出其数据包总长度在40到1480字节之间。
6. 观察十六进制对照区,利用“计算器”计算验证捕获到的该数据报的检验和,如下:十六进制二进制版本、首部长度及服务类型: 45 00 0100 0101 0000 0000 数据报总长度0034 0000 0000 0010 0010 标识 6c98 0110 1100 1001 1000 标志、片偏移40 00 0100 0000 0000 0000 生存时间、协议 76 06 0111 0110 0000 0110 首部检验和 0dd10000 1101 1101 0001 源IP 地址73340111 0011 0011 0100 55780101 0101 0111 1000目的IP地址 c0 a81100 0000 1010 1000 ,;01060000 0001 0000 0110 计算得结果并取反为:0000000000000000,符合理论情况。
五思考题(1)在对IP数据包进行校验时只对其首部进行校验,主要是因为数据部分是由下层进行CRC校验,只要首部正确,那就可以进行交付了,其他部分就不再与这一层有关了。
a) IP数据包的数据总长度字段共16比特,理论上最大值为216-1=65535字节。
上面捕获的数据包中数据包总长度字段为52字节。
最大的为1460字节。
这并没有达到理论最大值,这是因为以太网的普遍应用,使得实际使用的数据报长度很有超过1500字节的。