ICMP详解

article/2025/9/16 17:56:51

ICMP简介

ICMP的全称是Internet Control Message Protocol。也就是网络控制报文协议。

ICMP是一个网络层协议。用来检测IP报文是否能够正常发送,以及出错原因,以及查询主机的信息。

也就是差错查询和信息查询。

我们经常使用的ping工具就是利用ICMP实现的。

ICMP详解

在这里插入图片描述

ICMP报文
在这里插入图片描述

在IP Header中有一个字段代表是否为ICMP包。

ICMP数据中 主要包括 以下字段:

1、Type
ICMP数据包的类别

2、Code
对Type的进一步说明

3、标识符
唯一表示一个会话

4、选项数据
用来携带查询的信息。

差错控制

1、主机可达
发送一个type = 8,code = 0的ICMP Request包,表示这是一个请求包,如果顺利的到达对应的主机,主机会发送一个type = 0,code = 0的ICMP Reply包。

如果发送方收到Reply包,就说明主机可达。

2、主机不可达
发送一个type = 8,code = 0的ICMP Request包,如果路由器中不存在到达目的IP的路由的时候,会返回一个type = 3,code = 1的ICMP包,表示主机不可达。

当发送方收到包后,发现type = 3, code = 1,说明主机不可达。

3、超时
当一个ICMP包中TTL等于0的时候,路由器会将其抛弃,然后给发送端发送一个ICMP包,对应的type = 11,code = 0。

信息查询

比如ICMP可以查询对应主机的时间戳

发送方发送一个type = 13,code = 0的ICMP请求包,当主机收到后,返回一个type = 14,code = 0的ICMP应答包,将时间戳保存在之前说的选项字段中。

ICMP报文类别

在这里插入图片描述

PING

ping就是利用 ICMP发送请求报文 来探测主机之间是否网络是否通畅

tracert

tracert用来获取主机之间的路由信息。依次发送ttl = 1,2,3…n的ICMP请求包。通过对应的路由器发送超时ICMP包来获取对应的路由信息。


http://chatgpt.dhexx.cn/article/rvR12otM.shtml

相关文章

JMeter官网文档

JMeter官网文档API 步骤: 解压下载的安装包进入\apache-jmeter-5.4.1\docs\api目录打开index.html网页显示内容如下:

如何使用Jmeter,看完这本指南你就知道了

序言 由于公司在来年需要进行压力测试,所以也就借节假日的机会来学习一下压力测试的步骤,由于本人的学习时间比较短,希望各位大神朋友们能够多多的谅解并指正在下的错误,在此仅表敬意 适应人群 1、初入门的压力测试工程师 2、…

01-下载安装jmeter

1、前期准备: 下载配置好jdk:下载地址,点击下载 配置教程参考: 2、jmeter下载地址: 1、下载jmeter地址,点击进入官网下载 2、进入官网,会看到两种下载资源 binaries是可执行版本,直接下载解…

【jmeter】

目录 环境配置安装Java环境安装jmeter安装python环境数据库配置 线程组HTTPHTTP请求默认值HTTP信息头管理器 参数化用户定义的变量csv数据文件设置用户参数函数计数器函数随机数函数时间函数 直连数据库断言响应断言大小断言:判断字符串内容的长度。断言持续时间 逻…

1-1 JMeter官网了解

作为测试小白的我,在微信知识星球,参加了一个为期1年的21天打卡的,关于测试方方面面知识的星球。 听同事说JMeter似乎很强大,接口测试、自动化测试、性能测试都可以搞? 所以选择从JMeter开始,因为自己最近也…

JMeter下载及安装配置教程

参考:入门部署教程 – Jmeter中文网 本文是在win10环境下安装使用jmeter,jmeter可以运行在多平台上Windows和Linux。 环境准备: java 8 jmeter 5.1.1 jmeter环境 jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK下载地…

Jmeter下载与安装

Jmeter与JDK下载与安装 1、进入jmeter官网,下载地址:https://jmeter.apache.org/ 第一步,点击Download Releases 第二步, 点击apache-jmeter-5.1.1.zip sha512 pgp,下载完后解压 2、下载并安装JDK,下载地址:https://www.oracle.com/technetwork/java/javase/downloads…

jmeter(一)基础介绍

参考书籍:段念《软件性能测试与案例剖析》——第二版 推荐一本书《零成本实现web性能测试——基于Apache—jmeter》,主要内容是一些关于jmeter的实战使用,想学习的可以去看看。。。 jmeter是一款优秀的开源性能测试工具,目前最新版…

Kotlin带有接收者的函数类型(block: T.() -> Unit)

前言 Kotlin标准库的 Standard.kt 包含几个函数,其唯一目的是在对象上下文内执行代码块。 当我们在提供了lambda表达式的对象上调用此类函数时,它将形成一个临时作用域。在此作用域中,我们可以访问没有其名称的对象,这些功能称为…

mysql之类型转换函数

类型转换函数 类型转换函数和case函数 1.隐式类型转换和显式类型转换的概念 隐式类型装换: 两个值进行运算或者比较,首先要求数据类型必须一致。如果发现两个数据类型不一致时就会发生隐式类型转换。例如,把字符串转成数字,或者相反: SELECT 1+‘1’; – 字符串1转成数字 …

C语言入门---函数类型与返回值(int和void)

int和void的区别? 哈喽,各位小伙伴们,在我们学习C语言的过程中经常会看到书中的main函数前带有int和void,就像下面这样: 上面这两种有什么区别呢?在C语言中,可以把函数分为有返回值函数和无返…

Typescript总结(三)——函数类型详解

本篇博客主要总结一下在Typescript中的函数写法,以及函数类型的总结。 一、Typescript的函数类型 如果在一个函数中,需要传入一个函数作为参数,可以如下所示,进行声明定义。 我们也可以通过type来定义函数类型 如上述代码所示…

c语言函数返回值类型必须,C++中函数类型与定义的函数返回值类型必须相同么?...

C++中函数类型与定义的函数返回值类型必须相同么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C++中函数类型与定义的函数返回值类型必须相同么? 1.可以。只要返回值、参数列表的参数个数、类型、顺序中的一…

C语言 函数类型

1. 在 [不完全类型] 一文中,描述了C中的3大数据类型,即: 函数类型、对象类型和不完全类型, 这里再次引用这张图来进行“函数类型”的讲解。 可以看到,函数类型是对立于其他的类型的,它不像“对象类型和不完全类型”,可以延伸(或是派生)出其他对象,或是包含一子系列…

函数高级

函数: 1、引用传递 2、可变参数、命名参数、万能参数 3、匿名函数(lambda) 4、闭包(有点难) 5、递归 6、偏函数 7、函数作为参数传递 8、函数调用全局变量 9、全局变量和局部变量 装饰器(函数的深层次使用…

68 4种函数类型

文章目录 1、无参数,无返回值的函数2、无参数,有返回值的函数3、有参数,无返回值的函数4、有参数,有返回值的函数5、小结 函数根据有没有参数,有没有返回值,可以相互组合,一共有4种 无参数&…

C语言函数之—函数的分类

目录 1. 函数是什么? 2. C语言中的函数分类 2.1 库函数 2.1.1 为什么会有库函数? 2.1.2 那怎么来学习库函数呢? IO函数—getchar() , putchar() 字符串操作函数—strcmp() , strlen() rand函数,srand函数 和time函数 2.1.3 如何学会…

torch.optim.Adam() 函数用法

Adam: A method for stochastic optimization Adam是通过梯度的一阶矩和二阶矩自适应的控制每个参数的学习率的大小。 adam的初始化 def __init__(self, params, lr=1e-3, betas=(0.9, 0.999), eps=1e-8,weight_decay=0, amsgrad=False): Args:params (iterable): iterable o…

pytorch ——torch.optim.Adam

class torch.optim.Adam(params, lr0.001, betas(0.9, 0.999), eps1e-08, weight_decay0)它在Adam: A Method for Stochastic Optimization中被提出。(https://arxiv.org/abs/1412.6980) 参数: params (iterable) – 待优化参数的iterable或者是定义了参数组的dict…

在ADS中使用OPTIM优化设计

在ADS中可以使用OPTIM控件来对电路变量进行优化设计,以实现电路性能目标。ADS常用的S参数仿真和谐波平衡仿真中都可以进行优化设计。 在S参数仿真中进行优化设计 现在以一个阻抗匹配网络的设计为例,来展示在S 参数仿真中进行优化设计的方法。 我们搭建…