【计算机网络】ICMP报文实验
一:实验目的
1:掌握ICMP报文的各种类型及其代码。
2:掌握ICMP报文的格式。
3:深入理解TTL的含义(Time to Live,生存时间)。
二:实验仪器设备及软件
硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。
软件:记事本、WireShark、Chrome浏览器等。
三:实验方案
【实验的网络拓扑图】
1:请求、应答类型需要在ping通情况下获得,因此网络拓扑结构采用实验4.3的拓扑。
2:不可达类型需要发送方和接收方不在同一网内。

3:连接超时类型需要在ping通情况下获得,但是将TTL限制在1,因此网络拓扑结构采用实验4.3的拓扑。
四:实验步骤
1:设计拓扑并实现抓包分析4种icmp报文,每种报文按下表填写抓到的前4个报文信息。
设计拓扑方法已经在第三部分阐述。

Request类型下的前4个报文信息截图如下。




Request类型下的前4个报文信息填表如下。
| 报文号 | 源IP | 目的IP | 报文格式 | |||||
| 类型 | 代码 | 标识 | 序列号 | |||||
| BE | LE | BE | LE | |||||
| 1 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 65 | 16640 |
| 3 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 66 | 16896 |
| 7 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 67 | 17152 |
| 9 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 68 | 17408 |
Reply类型下的前4个报文信息截图如下。




Reply类型下的前4个报文信息填表如下。
| 报文号 | 源IP | 目的IP | 报文格式 | |||||
| 类型 | 代码 | 标识 | 序列号 | |||||
| BE | LE | BE | LE | |||||
| 2 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 65 | 16640 |
| 4 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 66 | 16896 |
| 8 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 67 | 17152 |
| 10 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 68 | 17408 |

Unreachable类型下的前4个报文信息截图如下。




Unreachable类型下的前4个报文信息填表如下。其中,代码为0标识是network unreachable。
| 报文号 | 源IP | 目的IP | 报文格式 | |||||
| 类型 | 代码 | 标识 | 序列号 | |||||
| BE | LE | BE | LE | |||||
| 2 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
| 4 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
| 6 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
| 8 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |

Time out类型下的前4个报文信息截图如下。




Time out类型下的前4个报文信息填表如下。
| 报文号 | 源IP | 目的IP | 报文格式 | |||||
| 类型 | 代码 | 标识 | 序列号 | |||||
| BE | LE | BE | LE | |||||
| 2 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
| 4 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
| 6 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
| 9 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
2:执行【tracert 某某网址】,抓图、抓包、分析。
执行的命令为:tracert www.baidu.com。完整的捕获报文,如下图所示。


本地cmd运行结果,如下图所示。

各类ICMP报文,汇总如下表。
| ICMP报文 | 类型码 | 代码 |
| 请求 | 8 | 0 |
| 应答 | 0 | 0 |
| 超时 | 11 | 0 |
| 不可达 | 3 | 3 |
Request:

Exceeded:

Unreachable:

Reply:

五:实验结果及分析
1:第二个实验截获了哪几种ICMP报文?其类型码和代码各为多少?
截获了4种ICMP报文,分别是request、reply、unreachable、exceeded。
分别对应的类型码是8、0、3、11。
分别对应的类型码是0、0、3、0。
2:在第二个实验截获的报文中,哪些是超时报告报文?请截图显示并指出源地址分别是多少?
Info处显示Time-to-live exceeded的报文,均是超时报告报文。
截图如下,源地址是192.168.0.254,目的地址是192.168.0.108。
![]()
3:查看第二个实验ICMP echo分组,是否这个分组和前面使用ping的ICMP echo一样?若不一样,请分析使用tracert命令后收到的分组里TTL值的变化规律。
Echo的字段是一样的,字段内的数值不一样。
Ping的ICMP echo分组如下图所示。

Tracert的ICMP echo分组如下图所示。

使用tracert命令后收到的分组里TTL值,逐次加1。
4:对照ICMP协议,分析一下ICMP超时报告分组比ICMP echo分组多包含的信息有哪些?
IP数据报的首部以及TCP或UDP协议的端口号。
具体来说,超时报告有一个外层的internet control message protocol,内部包含基本的echo分组信息、internet protocol version 4、一个内层的internet control message protocol。
六:实验总结及体会
1:常用的查询报文和差错报文的type和code如下。其中黄色部分为查询报文,绿色部分为差错报文。



2:IP协议的缺点:IP协议没有差错报文或差错纠正机制,且缺少一种为主机和管理查询的基址。
3:ICMP报文格式如下。

相关文章:
【计算机网络】ICMP报文实验
一:实验目的 1:掌握ICMP报文的各种类型及其代码。 2:掌握ICMP报文的格式。 3:深入理解TTL的含义(Time to Live,生存时间)。 二:实验仪器设备及软件 硬件:RCMS-C服务器…...
transformers进行学习率调整lr_scheduler(warmup)
一、get_scheduler实现warmup 1、warmup基本思想 Warmup(预热)是深度学习训练中的一种技巧,旨在逐步增加学习率以稳定训练过程,特别是在训练的早期阶段。它主要用于防止在训练初期因学习率过大导致的模型参数剧烈波动或不稳定。…...
智能优化算法之灰狼优化算法(GWO)
智能优化算法是一类基于自然界中生物、物理或社会现象的优化技术。这些算法通过模拟自然界中的一些智能行为,如遗传学、蚁群觅食、粒子群体运动等,来解决复杂的优化问题。智能优化算法广泛应用于各种工程和科学领域,因其具有全局搜索能力、鲁…...
昇思25天学习打卡营第17天|计算机视觉
昇思25天学习打卡营第17天 文章目录 昇思25天学习打卡营第17天ShuffleNet图像分类ShuffleNet网络介绍模型架构Pointwise Group ConvolutionChannel ShuffleShuffleNet模块构建ShuffleNet网络 模型训练和评估训练集准备与加载模型训练模型评估模型预测 打卡记录 ShuffleNet图像分…...
Windows图形界面(GUI)-MFC-C/C++ - 键鼠操作
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 MFC鼠标 派发流程 鼠标消息(客户区) 鼠标消息(非客户) 坐标处理 客户区 非客户 坐标转换 示例代码 MFC键盘 击键消息 虚拟键代码 键状态 MFC鼠标 派发流程 消息捕获&#…...
Angular 18.2.0 的新功能增强和创新
一.Angular 增强功能 Angular 是一个以支持开发强大的 Web 应用程序而闻名的平台,最近发布了 18.2.0 版本。此更新带来了许多新功能和改进,进一步增强了其功能和开发人员体验。在本文中,我们将深入探讨 Angular 18.2.0 为开发人员社区提供的…...
matlab 小数取余 rem 和 mod有 bug
目录 前言Matlab取余函数1 mod 函数1.1 命令行输入1.2 命令行输出 2 rem 函数2.1 命令行输入2.2 命令行输出 分析原因注意 前言 在 Matlab 代码中mod(0.11, 0.1) < 0.01 判断为真,mod(1.11, 0.1) < 0.01判断为假,导致出现意料外的结果。 结果发现…...
Avalonia中的数据模板
文章目录 1. 介绍和概述什么是数据模板:数据模板的用途:2. 定义数据模板在XAML中定义数据模板:在代码中定义数据模板:3. 使用数据模板在控件中使用数据模板:数据模板选择器:定义数据模板选择器:在XAML中使用数据模板选择器:4. 复杂数据模板使用嵌套数据模板:使用模板绑…...
Sqlmap中文使用手册 - Techniques模块参数使用
目录 1. Techniques模块的帮助文档2. 各个参数的介绍2.1 --techniqueTECH2.2 --time-secTIMESEC2.3 --union-colsUCOLS2.4 --union-charUCHAR2.5 --union-fromUFROM2.6 --dns-domainDNS2.7 --second-urlSEC2.8 --second-reqSEC 1. Techniques模块的帮助文档 Techniques:These o…...
科普文:kubernets原理
kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。 本文将带着大家快速了解 kubernetes ,了解我们谈论 kubernetes 都是在谈论什么。 一、背…...
GO-学习-02-常量
常量是不变的 const package main import "fmt"func main() {//常量定义时必须赋值const pi 3.1415926const e 2.718//一次声明多个常量const(a 1b 2c "ihan")const(n1 100n2n3)//n2,n3也是100 同时声明多个常量时,如果省略了值则表示和…...
Vue系列面试题
大家好,我是有用就扩散,有用就点赞。 1.Vue中组件间有哪些通信方式? 父子组件通信: (1)props | $emit (接收父组件数据 | 传数据给父组件) (2)ref | $refs&a…...
等级保护 总结2
网络安全等级保护解决方案的主打产品: HiSec Insight安全态势感知系统、 FireHunter6000沙箱、 SecoManager安全控制器、 HiSecEngine USG系列防火墙和HiSecEngine AntiDDoS防御系统。 华为HiSec Insight安全态势感知系统是基于商用大数据平台FusionInsight的A…...
关于Redis(热点数据缓存,分布式锁,缓存安全(穿透,击穿,雪崩));
热点数据缓存: 为了把一些经常访问的数据,放入缓存中以减少对数据库的访问频率。从而减少数据库的压力,提高程序的性能。【内存中存储】成为缓存; 缓存适合存放的数据: 查询频率高且修改频率低 数据安全性低 作为缓存的组件: redis组件 memory组件 e…...
【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十七章 字符设备和杂项设备总结回顾
i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...
C#初级——枚举
枚举 枚举是一组命名整型常量。 enum 枚举名字 { 常量1, 常量2, …… 常量n }; 枚举的常量是由 , 分隔的列表。并且,在这个整型常量列表中,通常默认第一位枚举符号的值为0,此后的枚举符号的值都比前一位大1。 在将枚举赋值给 int 类型的…...
Linux 动静态库
一、动静态库 1、库的理解 库其实是给我们提供方法的实现,如上面的对于printf函数的实现就是在库中实现的,而这个库也就是c标准库,本质也是文件,也有对应的路径 2、区别 静态库是指编译链接时,把库文件的代码全部加入…...
微信小游戏之 三消(一)
首先设定一下 单个 方块 cell 类: 类定义和属性 init 方法 用于初始化方块,接收游戏实例、数据、宽度、道具类型和位置。 onWarning 方法 设置警告精灵的帧,并播放闪烁动作,用于显示方块的警告状态。 grow 方法 根据传入的方向…...
软件测试---Linux
Linux命令使用:为了将来工作中与服务器设备进行交互而准备的技能(远程连接/命令的使用)数据库的使用:MySQL,除了查询动作需要重点掌握以外,其他操作了解即可什么是虚拟机 通过虚拟化技术,在电脑…...
数据库之数据表基本操作
目录 一、创建数据表 1.创建表的语法形式 2.使用SQL语句设置约束条件 1.设置主键约束 2.设置自增约束 3.设置非空约束 4.设置唯一性约束 5.设置无符号约束 6.设置默认约束 7.设置外键约束 8.设置表的存储引擎 二、查看表结构 1.查看表基本结构 2.查看建表语句 三…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
