8 ICMP与ping

1、ICMP 协议的格式

一般在网络不同的时候,我们首先想到的是ping
那你知道 ping 是如何工作的吗?

1.ping 是基于 ICMP 协议工作的。
2.ICMP全称Internet Control Message Protocol,就是互联网控制报文协议。

这里的关键在于"控制"
类似于侦察兵的角色,为后面的网络调用先行侦查
ICMP 报文是封装在 IP 包里面的。因为传输指令的时候,肯定需要源地址和目标地址。
在这里插入图片描述
ICMP 报文有很多的类型,不同的类型有不同的代码。最常用的类型是主动请求为 8,主动请求的应答为0。
查询报文类型:例如,常用的ping 就是查询报文,是一种主动请求,并且获得主动应答的 ICMP 协议。所以,ping 发的包也是符合 ICMP 协议格式的,只不过它在后面增加了自己的格式。
对 ping 的主动请求,进行网络抓包,称为ICMP ECHO REQUEST。同理主动请求的回复,称为ICMP ECHO REPLY.
比起原生的 ICMP,这里面多了两个字段,一个是
标识符,另一个是序号
标识符就是标识是去干啥的,序号就是出去了多少,回来了多少.

在选项数据中,ping 还会存放发送请求的时间值,来计算往返时间,说明路程的长短.

差错报文类型:
就是通知我们异常情况的报文类型,比如:
终点不可达为 3,
源抑制为 4,
超时为 11,
重定向为 5
终点不可达

//小兵:报告主公,您让把粮草送到张将军那里,结果没有送到
//如果你是主公,你肯定会问,为啥送不到?具体的原因在代码中表示就是,网络不可达代码为 0,主机不可达代码为 1,协议不可达代码为 2,端口不可达代码为 3,需要进行分片但设置了不分片位代码为4
//具体的场景就像这样:
1.网络不可达:主公,找不到地方呀?
2.主机不可达:主公,找到地方没这个人呀?
3.协议不可达:主公,找到地方,找到人,口号没对上,人家天王盖地虎,我说 123454.端口不可达:主公,找到地方,找到人,对了口号,事儿没对上,我去送粮草,人家说他们在等救兵。
5.需要进行分片但设置了不分片位:主公,走到一半,山路狭窄,想换小车,但是您的将令,严禁换小车,就没办法送到了。

源站抑制:

1.也就是让源站放慢发送速度。小兵:报告主公,您粮草送的太多了吃不完.

时间超时:

1.也就是超过网络包的生存时间还是没到。小兵:报告主公,送粮草的人,自己把粮草吃完了,还没找到地方,已经饿死啦

路由重定向:

就是让下次发给另一个路由器。小兵:报告主公,上次送粮草的人本来只要走一站地铁,非得从五环绕,下次别这样了啊
2、ping 的发送和接收过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/118846.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 创建用户

在ubuntu系统中创建用户,是最基本的操作。与centos7相比,有较大不同。 我们通过案例介绍,讨论用户的创建。 我们知道,在linux中,有三类用户:超级管理员 root 具有完全权限;系统用户 bin sys a…

STM32 GPIO 描述

一、GPIO功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH) ,两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) ,一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR…

基于Springboot 智能公交站台系统-计算机毕设 附源码 37261

Springboot 智能公交站台系统 目 录 摘 要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2 智能公交站台系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.1.4 法律可行性分析 2.2 系…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义,两地指的是两个城市:同城,异地。三中心指的是三个数据中心:生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统,双中心具备相当的业…

分享99个节日庆典PPT,总有一款适合您

分享99个节日庆典PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/16tBTcXRc7aGU1rQkcVZeOA?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识…

C语言运行代码示例

这是一个基本的 C 爬虫程序&#xff0c;使用了 C11 版本。这个程序使用了 C11 的标准库&#xff0c;包括了网络编程库&#xff08;<net/http>&#xff09;&#xff0c;字符串处理库&#xff08;<string>&#xff09;和文件操作库&#xff08;<fstream>&#…

平面扫描(Plane-sweeping)深度体会

先看文章 三维重建之平面扫描算法&#xff08;Plane-sweeping&#xff09;_plane sweeping_小玄玄的博客-CSDN博客 Plane Sweeping | 平面扫描 - 知乎 (zhihu.com) 注意平面Dm,这是其中一个平面&#xff0c;平面上有一个M点&#xff0c;这个点也再物体上。所以会被摄像机看到…

计算机编程软件编程基础知识,中文编程工具下载分享

计算机编程软件编程基础知识&#xff0c;中文编程工具下载分享 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;象如图这个实例…

猫头虎分享从Python到JavaScript传参数:多面手的数据传递术

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

[wp]NewStarCTF 2023 WEEK5|WEB

前言:比赛是结束了&#xff0c;但我的学习还未结束&#xff0c;看看自己能复习几道题吧&#xff0c;第四周实在太难 Final 考点&#xff1a; ThinkPHP 5.0.23 RCE一句话木马上传SUID提权&#xff08;find&#xff09; 解题: 首先页面就给了ThinkPHP V5&#xff0c; 那无非考…

Mac PS2023/2024储存窗口黑屏不显示 解决方法

mac 版本ps2023&#xff0c;存储为窗口突然显示为空白了&#xff0c;没有任何文字按钮&#xff0c;尝试过重启软件、重启电脑、重新安装、电脑系统更新&#xff0c;皆没有效果。 仅ps2023有这个bug&#xff0c;其他操作正常。 具体步骤: 1.打开finder, 先点击左边文稿, 再点击…

element的表单校验正常手机号码以及输入框填写“不详”的情况

element的表单校验正常手机号码以及输入框填写“不详”的情况 <el-col :span"6"><el-form-item label"手机号码" prop"phoneNumber" class"grid-content bg-purple"><el-input v-model"testForm.phoneNumber&quo…

妙用Java 8中的 Function接口,消灭if...else(非常新颖的写法)

文章目录 Function 函数式接口Supplier供给型函数Consumer消费型函数Runnable无参无返回型函数Function函数的表现形式为接收一个参数&#xff0c;并返回一个值。Supplier、Consumer和Runnable可以看作Function的一种特殊表现形式 使用小技巧处理抛出异常的if处理if分支操作如果…

jsonlite库

jsonlite是一个R语言中用于处理JSON数据的库。它提供了一组简单而强大的函数&#xff0c;用于解析、生成和转换JSON数据。 使用jsonlite库&#xff0c;您可以轻松地将JSON数据解析为R语言中的数据结构&#xff0c;如列表或数据框。您还可以将R语言中的数据结构转换为JSON格式&…

开源项目管理工具Helper的安装及汉化

什么是 Helper &#xff1f; Helper 是基于 Laravel 和 Filament 的开源项目管理工具。 官方提供了在线演示&#xff1a;https://project-helper.net 安装 在群晖上以 Docker 方式安装。 数据库理论上是可以使用群晖自带的 MariaDB 的&#xff0c;但老苏为了省事&#xff0c…

python获取电脑所连接的wifi密码

电脑连接wifi后&#xff0c;很难直观地看到当前连接wifi的密码&#xff0c;需要借助命令行公管局才可以查看到相关信息。 CMD命令 查看所有已保存的wifi配置信息 netsh wlan show profiles查看某一个wifi的详细信息&#xff0c;需要输入wifi名称来查询 netsh wlan show pro…

redis数据库基础知识

目录 redis数据库简介redis的版本redis数据类型先导知识一、redis数据库简介 Redis是一个基于键值(key-value)存储系统的非关系型数据库。它由Salvatore Sanfilippo开发,并使用ANSI C语言编写的开源数据库。Redis具有高性能和高并发处理能力,适用于实时的数据存储和访问需求…

【Unity ShaderGraph】| 快速制作一个 表面水纹叠加效果

前言 【Unity ShaderGraph】| 快速制作一个 表面水纹叠加效果一、效果展示二、表面水纹叠加效果三、应用实例 前言 本文将使用ShaderGraph制作一个表面水纹叠加效果&#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章&#xff1a;【Unity Sh…

spring-boot中实现分片上传文件

一、上传文件基本实现 1、前端效果图展示&#xff0c;这里使用element-ui plus来展示样式效果 2、基础代码如下 <template><div><el-uploadref"uploadRef"class"upload-demo":limit"1":on-change"handleExceed":auto-…

还在按键进入BIOS?其实进入BIOS有更便捷的方法

在能够配置各种硬件参数之前,首先必须学习进入ASUS BIOS实用程序的正确方法。无论你面对的是PRIME、ROG、TUF GAMING还是任何其他型号,所涉及的步骤都是相同的。 华硕主板的BIOS访问键通常是“F2”或“Del”键。在启动或启动屏幕期间,只要ASUS徽标出现,就重复按下此键以进…