【计算机网络】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.查看建表语句 三…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
