计算机网络实验 分析ICMP协议数据包格式

实 验 报 告

实验课程名称 计算机网络实验

实验项目名称 分析ICMP协议数据包格式

年 级 08

专 业 电子信息科学与技术

学生姓名 郎子龙

学 号 080712110069

理 学 院

实验时间: 2010年 5 月 18 日

实验六 分析ICMP协议数据包格式

一、实验目的

掌握ICMP协议的作用和格式

理解ICMP数据包首部各字段的含义

理解ICMP协议与IP协议的封装关系

二、实验原理

ICMP协议是IP协议的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP与IP协议位于同一个层次(IP层);但ICMP报文是封装在IP数据报的数据部分进行传输的。

ICMP报文由首部和数据段组成。首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型不同有所差异。ICMP报文的一般格式如图所示。

2、ICMP报文虽然细分为很多类,但总的来看可以分为如图所示的三大类:差错报告、控制报文和请求应答报文。

3、数据包超时报告

在数据包的传输过程中,首部的TTL值用于防止数据报因路由表的问题而无休止的在网络中传输。当TTL值为0时,路由器会丢弃当前的数据报,并产生一个ICMP数据报超时报告。另外在信宿进行分片重组时会启动重组定时器,一旦重组定时器超时,信宿就会丢弃当前正在重组的数据报,然后产生一个ICMP数据报超时报告,并向信源发送该超时报告。

数据报超时报告的类型和代码的含义如表所示。类型值11表示是数据超时报文,代码“0”表示TTL超时,代码“1”表示分片重组超时。

类型报文代码描述11超时0路由器TTL超时1分片重组超时

4、Tracert程序的实现方法

Tracert程序的设计是利用ICMP即IP header的TTL(Time to Live)字段。首先,Tracert送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到达目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢弃,并送回一个[ICMP time exceeded]消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),Tracert收到这个消息后,便知道这个路由器存在于这个路径上,接着Tracert再发送出另一个TTL是2的datagram,发现第二个路由器……Tracert每次将送出的datagram的TTL加1来发现另一个路由器,这个重复的动作一直持续到某个datagram抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了。

三、实验内容及步骤

1、打开网络协议分析软件,选择菜单命令“Capture”——“Interfaces…”子菜单项。弹出“Ethereal:Capture Interfaces”对话框。单击“Prepare”按钮,弹出“Ethereal: Capture Options”对话框。在“Capture filter”字段填入:“icmp”,单击“Start”按钮开始数据包的捕获:

2、打开“命令提示符”窗口,使用“Ping”命令测试本机与网关的连通性:

分析:在使用“Ping”命令测试本机与网关的连通性时,本地计算机向网关发送4个ICMP数据包,网关也会向本地计算机发送四个应答报文。因此,这八个报文都将被网络协议分析软件捕获。由上面的结果可知,本计算机与网关是连通着的。

且捕获到的八个网络分析软件的报文如下:

3、单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的ICMP数据包。观察协议树区中ICMP数据包结构,是否符合ICMP请求与应答的报文格式:

分析:经过对比ICMP的报文格式,得知在此ICMP数据包中,类型为十六进制0b,代码为00,校验和为f4 ff;而且在这个数据包中,还包括有另外一个ICMP数据包,但这整个ICMP数据包是符合了ICMP请求与应答的报文格式的!

4、重新开始网络数据包捕获进程,在“命令提示符”窗口中使用“Tracert”命令,停止网络数据报捕获,分析捕获的数据包:

5、重新开始网络数据包捕获进程,在“命令提示符”窗口中使用“Ping 127.0.0.1”命令,停止网

计算机网络考试数据包格式,计算机网络实验 分析ICMP协议数据包格式.doc相关推荐

  1. 计算机网络数据分析报告,贵州大学计算机网络实验报告-实验四-分析IP协议数据包格式...

    贵州大学计算机网络实验报告-实验四-分析IP协议数据包格式 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 贵州大学GUIZHOU UN ...

  2. 浅浅的 使用网络调试助手和Mosquitto 分析MQTT协议数据包内容

    使用网络调试助手和Mosquitto 分析MQTT协议数据包内容 参考: 零.涉及到的主要的数据包: 一.环境搭建 二.connect数据包 根据数据包的内容逐个字节进行分析: 三.心跳包 四.订阅S ...

  3. 实验七 ICMP 协议分析实验

    实验七 ICMP 协议分析实验 1.ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.I ...

  4. ICMP协议抓包分析-wireshark

    ICMP协议抓包分析-wireshark ICMP- (Internet Control Message Protocol,网际报文协议)是Internet协议族的核心协议之一,也可称为是网际控制报文 ...

  5. ICMP协议及报文格式

    摘自:<深入理解计算机网络> 王达著 机械工业出版社 相关知识链接 1. IPV4数据报头部格式请点击这里 2. IPv6数据报头部格式请点击这里 3. IPv4数据报的封装与解封装请点击 ...

  6. 计算机网络考试单选及答案,计算机网络考试的选择题和填空题答案.doc

    选题题部分(共202小题) 第一部分 计算机网络概论复习题 一.选择题(共25小题) 1-1.早期的计算机网络是由( )组成系统.A.计算机-通信线路-计算机 B.PC机-通信线路-PC机 C.终端- ...

  7. 实验四 ICMP 协议分析实验

    ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.ICMP允许路由器或主机报告差错情况和 ...

  8. 【计算机网络】(5)ping的过程分析+icmp协议

    目录 一.ping 1.1 过程分析 1.2 ICMP协议 1.2.1 iptables简要介绍 1.2.2 路由追踪 1.3 常用选项 1.4 ping一台服务器ping不通的原因和解决方法 1.5 ...

  9. mysql实验训练2 数据查询操作_实验训练2:数据查询操作

    <实验训练2:数据查询操作>由会员分享,可在线阅读,更多相关<实验训练2:数据查询操作(6页珍藏版)>请在人人文库网上搜索. 1.实验训练2:数据查询操作请到电脑端查看实验目的 ...

最新文章

  1. 跨平台代码换行符的问题处理
  2. About DotNetNunk
  3. 无刷新读取数据库 (ajax)
  4. python 有效的括号
  5. 计算机视觉与深度学习 | 基于MATLAB 使用CNN拟合一个回归模型来预测手写数字的旋转角度(卷积神经网络)
  6. 【深度学习】神经网络中几个常用的求导公式
  7. 基于 qiankun 的微前端应用实践
  8. Android Sdk 国内镜像下载地址
  9. H3C-WA2210升级
  10. Eclipse启动jboss局域网无法访问的问题
  11. 应用架构设计“着火”“防火”经验之谈
  12. Tableau上面地图与条形图结合_Tableau | 20种常用图表(上文)
  13. Fort.js – 时尚、现代的进度提示效果
  14. 本地虚拟机部署java项目(tomcat8 ,jdk8,VMWare)
  15. 算法面试题 java_【面试算法题】Java Stack 类的使用
  16. vmxnet3 丢包处理
  17. JDK安装配置环境变量以及配置完成后出现java命令能用但javac命令不能用 (JAVA_HOME失效)
  18. 高性能MySQL系统思维导图
  19. AT4565 Beginning
  20. 校招/社招-算法岗简历及面试经验分享

热门文章

  1. Qt扫盲-网络编程概述
  2. NOIP 停办之后,新认证 CSP-S/J 报名开启【智能快讯】
  3. 互联网化的年代程序员追女孩
  4. Visual Studio 2019版本运行报错解决方案
  5. Open SSH下载链接
  6. 未来高清显示器发展新趋势及代表技术解析
  7. c开源hash项目 uthash的用法总结
  8. 基于链表的机票订购系统(C/C++)
  9. 第十三章第一节(Triangle类)(Triangle class)
  10. 《超预测》菲利普•泰洛克 epub+mobi+azw3