CENTRAL SOUTH UNIVERSITY

计算机网络课程设计报告

目录

第一章 课程设计的目的与要求1

1.1 课程设计的目的1

1.2 课程设计的要求1

第二章 课程设计的内容3

2.1 课程设计的内容3

2.2 内容的要求3

第三章 程序分析与设计4

3.1 IP数据包4

3.1.1 IP数据包的格式说明4

3.1.2 IP数据包的格式4

3.1.3 IP数据包的C++定义5

3.1.4 IP数据包的解析6

3.2 套接字7

3.1.4 套接字的使用7

3.1.4 使用原始套接字7

3.3 接受数据包7

实验结果10

4.1 程序截图10

第五章 总结11

5.1 实验心得11

第六章 附录12

6.1 源代码12

第一章 课程设计的目的与要求

1.1 课程设计的目的

计算机网络课程设计的目的,是为了让学生更深入地掌握计算机网络的核心内容,实现理论与实践相结合。让学生用具体的实践成果,体现对理论知识的掌握程度。有利于学生提高计算机网络的实践能力,加深对计算机网络理论知识的理解。

1.2 课程设计的要求

(1)编写程序,实现系统的基本功能,鼓励自行增加新功能;

(2)要有用户界面:要求至少采用文本菜单界面;鼓励采用图形菜单界面;

(3)写课程设计报告,内容包括:

封面(参见附录I)

需求分析:以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?给出功能模块图和流程图。同时明确规定:输入的形式和输出值的范围;输出的形式;程序所能够达到的功能;测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。

概要设计:包括程序设计组成框图,程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

详细设计:包括模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等),每个模块的算法设计说明(可以是描述算法的流程图)。其中源程序要按照写程序的规则来编写,结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

运行结果:包括典型的界面、输入和输出数据等;

总结:包括课程设计中遇到的问题,解决问题的过程及体会、收获、对课程设计的认识与思考等。

附录:包括主要程序清单,要有适当的注释,使程序容易阅读。

(4)课程设计报告书写规范参见附录II,不按照规范书写的,成绩不能评为“优”或“良”。

(5)无论在校外、校内,都要严格遵守学校和所在单位的学习和劳动纪律、

1

规章制度,学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席

时间达四分之一以上者,其成绩按不及格处理。

第二章 课程设计的内容

2.1 课程设计的内容

本次实验的要求在网络环境,使用VC++编写程序实现捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。

2.2 内容的要求

(1)以命令行形式运行(应如程序名+参数名):ipparse logfile,其中ipparse是程序名,而logfile为该程序所带参数,其代表记录结果的日志文件。

(2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。

(3)当程序接收到键盘输入Ctrl+C时退出。

第三章 程序设计与分析

3.1 IP数据包

3.1.1 IP数据包的格式说明

IP数据包格式包含了标头固定部分,标头可变部分和数据区三部分。IP数据报标头部分固定为20个字节,其中包含了12个参数域,各参数域隐含着网间协议的传输机制。IP具体的标头格式如图1所示。

各参数域的具体含义如下:

版本号:长度4位,表示所使用的IP协议的版本。IPv4版本号字段值为4;IPV6版本号字段号的值为6.

标头长:长度4位,定义了一个以4B为一个单位的IP包的报头长度

服务类型:共8位,高3位组成优先级子域,随后4位组成服务类型子域。

数据报总长度:总长度为2B(即6位)。定义了以字节为单位的数据报的总长度。

重装标识:长度16位,用于识别IP数据报的编号,让目的主机判断新来的数据属于哪个分组。

分片标识:共3位,最高位为0;DF禁止分片标识。DF=0,可以分片;DF=1,不能分片。MF:分片标识。MF=0,表示接的是最后一个分片;MF=1,不是最后一个分片。

片偏移值:共13位,说明分片在整个数据报中的相对位置。

生存周期:8位,用来设置数据数据报在整个网络传输过程中的寿命。常以一个数据报可以经过的最多的路由器跳步数来控制。

协议类型:共8位,表示该IP数据

计算机网络ip数据包分析题,计算机网络课程设计_IP数据包的捕获及分析.doc相关推荐

  1. 网络协议分析与仿真课程设计报告:网络流量分析与协议模拟

    公众号:CS阿吉 网络协议分析与仿真课程设计报告  题  目:网络流量分析与协议模拟 专业名称:         网络工程 班    级: 学生姓名:           阿吉 学号(8位): 指导教 ...

  2. 潮流分析matlab课程设计小结,电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析...

    电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析 电力系统稳态分析课程设计 题 目基于 MATLAB 的电力系 统 复杂潮流分析 学生姓名 学 号 专 业电气工程及其自动化 班 级 ...

  3. matlab音乐信号处理,数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析...

    数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析 1<数字信号处理>课程设计设计题目:基于 MATLAB 的音乐信号处理和分析一.课程设计的目的本课程设计通过对音乐信号的 ...

  4. dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc

    课程设计基于DAC0832单缓冲工作波形发生器.doc 成绩 课程论文 题 目:基于DAC0832单缓冲工作波形发生器 学生姓名: 学生学号: 系别:电子工程学院 专业:通信工程 年级:2014 任课 ...

  5. 中英翻译机c语言实验报告引言,课程设计--C语言关键字中英翻译机.doc

    课程设计--C语言关键字中英翻译机.doc 课 程 设 计 报 告学院.系 吉林大学珠海学院计算机科学与技术系专业名称 计算机科学与技术课程设计科目 C 语言程序课程设计所在班级 4 班学生学号 04 ...

  6. java文本编辑器课程设计报告_java课程设计报告 心得体会——计算器、文本编辑器.doc...

    java课程设计报告 心得体会--计算器.文本编辑器.doc 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内 ...

  7. 计算机网络ip数据包分析题,计算机网络课程设计-IP数据包解析实验报告

    计算机网络课程设计-IP数据包解析实验报告 解析 IP数据报实验报告目录目录 21.课程设计目的 .22.课程设计要求 .23.相关知识 .24.课程设计分析 .64.1 网卡设置64.2 使用套接字 ...

  8. 计算机网络透明网桥的算法,网基课程设计曼切斯特编码模拟透明网桥自习域转发帧算法模拟IP分片模拟.doc...

    网基课程设计曼切斯特编码模拟透明网桥自习域转发帧算法模拟IP分片模拟 计算机网络基础 课 程 设 计 报 告 学号: 姓名: 班级: 题号:01.06.07 题目:曼切斯特编码模拟.透明网桥自学习域转 ...

  9. python数据挖掘课程设计——基于数据挖掘的森林火灾预测分析(数据代码+数据分析+数据可视化展示)

    基于数据挖掘的森林火灾预测分析 [摘要]随着全球范围性的温室效应,全球气温正逐步升高,为对抗温室效应,森林已经成为我们急需保护的资源,但是火灾时刻威胁着森林资源.为了帮助对抗温室效应.保护森林,本研究 ...

最新文章

  1. 简述Android触摸屏手势识别
  2. Java2WSDL 和 WSDL2Java(Axis)
  3. 【学习笔记】产品成本计划(Product Cost Planning)02
  4. mysql、clickhouse读写分离性能测试
  5. php执行一条insert插入两条数据其中一条乱码
  6. 教程:用Java创建和验证JWT
  7. oracle创建用户名了,oracle创建用户名
  8. readyState属性和status属性
  9. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)
  10. poi各种jar包作用和导入
  11. VIM设置-发现VIM的美
  12. 自动生成_橙瓜码字小说自动生成器,对话描写,景物描写,外貌描写自动生成...
  13. vum安装mysql_CentOS7 yum方式安装MySQL5.7
  14. Flask(6):Flask的闪现+Flask的蓝图
  15. 通过linux进程号(pid)查找Oracle的session中都执行那些sql
  16. 【日语】动词的九种变形
  17. c语言编程统计学生个数,c编程统计并显示500至800之间所有素数的总个数以及总和...
  18. 【嵌入式】关于IAP+Xmodem从外部接收bin文件对芯片进行升级学习记录
  19. 密度聚类:OPTICS算法详解
  20. 嵌入式 Linux LED 驱动开发实验

热门文章

  1. 程序运行过程,C盘占用暴增_内存转储文件
  2. 几乎所有食物的英文翻译!值得拥有!!
  3. 探究活动-Activity
  4. Mysql 远程连接的问题 2003 - Can't connect to MySQL server on '39.106.187.107' (60 Operation timed out)
  5. 初入操作系统——操作系统概述
  6. BOSS直聘:透过招聘看到了年轻人的变化
  7. Excel表格中如何实现多列的同时筛选
  8. win32 ShowCursor遇到的问题
  9. 0.4 - 铝合金牌号及常用铝合金牌号用途
  10. Android 侧栏A-Z的快速滑动搜索(三)