1、 1 课程设计任务书课程设计任务书 分院(系)分院(系) 信息学院信息学院 专业专业 姓名姓名 学号学号 设计题目设计题目 解析解析 IP 数据包数据包 内容及要求内容及要求 本设计的目标是捕获网络中数据包,解析数据包的内容,将、 结果显示在标准输出上, 并同时写入日志文件. 程序的具体要求如下: 1) 以命令行形式运行:ipparse logfile,其中 ipparse 是程序名,而 logfile 则代表记录结 果的日志文件. 2) 在标准输出和日志文件中写入捕获的 IP 数据包的版本,头长度,服务类型,数据 包总长度,数据包标识,分段标志,分段偏移值,生存时间,上层协议类型,头校验和,
2、 源 IP 地址和目的 IP 地址等内容. 3)当程序接收到键盘输入 Ctrl+C 时退出 进度安排进度安排 第一次 资料查阅计算机网络编程资料并学习 第二次 学生上机编程,安装必要软件,同时学习编程知识。 第三次 程序调试及验收 指导教师(签字) :指导教师(签字) : 年年 月月 日日 分院院长(签字) :分院院长(签字) : 年年 月月 日日 2 目录目录 1实验目的实验目的 2实验要求实验要求 3预备知识预备知识 4课程设计分析课程设计分析 5实现过程实现过程 6程序流程图程序流程图 7相关扩展相关扩展 8实习体会实习体会 9参考文献参考文献 3 一实验目的:一实验目的: 设计一个解析
3、 IP 数据包的程序,并根据这个程序,说明 IP 数据包的结构及 IP 协议的相 关问题,从而 IP 层的工作原理有更好的理解和认识. 二实验要求二实验要求 : 本设计的目标是捕获网络中数据包,解析数据包的内容,将、结果显示在标准输出上,并 同时写入日志文件. 程序的具体要求如下: 3) 以命令行形式运行:ipparse logfile,其中 ipparse 是程序名,而 logfile 则代表记录结果的日 志文件. 4) 在标准输出和日志文件中写入捕获的 IP 数据包的版本,头长度,服务类型,数据包总长度, 数据包标识,分段标志,分段偏移值,生存时间,上层协议类型,头校验和,源 IP 地址和
4、目的 IP 地址等内容. 当程序接收到键盘输入 Ctrl+C 时退出. 三三.预备知识预备知识 互联网络层是 TCP/IP 协议参考模型中的关键部分.IP 协议把传输层送来的消息组 装成 IP 数据包,并把 IP 数据包传送给数据链层.IP 协议在 TCP/IP 协议族中处于核心地 位,IP 协议制定了统一的 IP 数据包格式,以消除个通信子网中的差异,从而为信息发送方 和接收方提供了透明的传输通道.编制本程序前,首先要对 IP 包的格式有一定了解,图 1 给出了 IP 协议的数据包格式. IP 数据包的第一个字段是版本字段,其度是 4 位,表示所使用的 IP 协议的版本.目前 的版本是 IPV4,版本字段的值是 4,下一代版本是 IPV6,版本字段值是 6.本程序主要针对 版本是 IPV4 的数据包的解析. 报头标长字段为 4 位,它定义了以 4B为一个单位的 IP 包的报文长度.报头中除了选 项字段和填充域字段外,其他各字段是定长的.因此,IP 数据包的头长度在 2040B之间, 是可变的. 0