IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ICMP协议个人分析 -> 正文阅读

[系统运维]ICMP协议个人分析

Internet控制消息协议CMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。
?

ICNP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息,也就是=ping
?

ICMP重定向

?我们PC主机端都有网关,例如主机A网关是100,他要发送报文首先向他的网关路由器打招呼,喊他帮忙整一整,RTB得和他连接得接口ip就是100,所以第一个找他,RTB检查报文信息发现不是找他,而是找他同网段的另一台网关设备,所以RTB会向主机发送redirect(重定向)消息,让他去找200的RTA,RTA则会将报文转发给服务器A。

ICMP差错检测

ICMP Echo Request和ICMP Echo Reply分别用来查询和响应某些信息,进行差错检测。?

主机A向服务器A发送报文为请求报文,也就是request? ? ? ? 服务器收到要回复,称为reply

简单来讲,抓包出来的报文,有请求,有回复的就是能够连接的,如果只有请求没有回复就是没链接对。

正常

?错误

?ICMP错误报告

当网络设备无法访问目标网络时,会自动发送CMP目的不可达报文到发送端设备

?ICNP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,主机A可以判断出数据传输失败的原因。比如,如果网络中发生了环路,导致报文在网络中循环,且最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备。又比如如果目的地不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种,如果是网络设备无法找到目的网络,则发送目的网络不可达消息;如果网络设备无法找到目的网络中的目的主机,则发送目的主机不可达消息。

ICMP数据包格式

这里只是说ICMP数据包的格式,type表示数据包类型,code表示同一类型中不同的信息 checksum也就是校验,用于检查消息是否完整,消息中包含32比特的可变参数,checksum字段一般不使用

?再ICMP的Redirect消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到网关。在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端问目的端发送了多个Echo诘求消息时,需要根据标识符和序号将Echo诘求和回复消息进行——对应。

ICMP消息类型和编码类型

?

怎么再实际上用到呢,当然是抓包咯

?抓了个ping包,10ping21显示为request 它的type和code分别是8和0

?那么reply则是type 0 code 0

type类型为3的属于是网络报错信息,报错有很多种,所以分开为1234

ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数.等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP恨文,进行Ping测l试。
Ping常用的配置参数说明如下:
1. -a 源IP 目的IP 指定发送IGNP ECHO-REQUEST报文的源IP地址。如失不指定源IP地址,将采用出接口的IP地址作为ICNP ECHO-REQUEST报文发送的源地址。

例: ping -a 10.1.1.100? ? 21.1.1.100


2. -c count指定发送ICMP ECHO-REQUEST报文次数。缺省情况下发送5个ICMIP ECHO-REQUEST报文。

3. -h ttl-value指定TTL的值。缺省值是255。


4. -t timeout指定发送完ICMP ECHO-REQUEST后,等待ICMP ECHO-REPLY的超时时间。
?

ICMP应用Tracert

TTL值 一般Windows为128 Linux为64?

当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有的数据包会因为一些特殊的原因不能正常传送到目的主机,如果没有设置TTL值的话,数据包会一直在网络上面传送,浪费网络资源。数据包在传送的时候至少会经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到0了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由器会发送一个ICMP报文给最初的发送者。举个例子,如果一个主机的TTL是64,那么当它经过64个路由器后还没有将数据包发送到目的主机的话,那么这个数据包就会自动丢弃。

当我们TTL值为0的时候,将我们数据包丢弃的路由器会向我们发送一个ICMP报文,告诉我们丢了,但在这个报文中夹杂着这个路由器的IP地址等信息,所以我们可以通过控制TTL值来对网络进行排查,看问题出在了哪里,而不是摸top。。。

Tracert

????????Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时问戳信息计算往返时间。Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路。Tracert常用的配置参数说明如下:
-a source-ip-address????????指定tracert报文

-f? first? -ttl????????指定初始TTL。缺省值是1。

-m max-tt1????????指定最大TTL。缺省值是30。

-name????????使能显示每一跳的主机名。

-p port????????指定月的主机的UDP端口号

一般用不到 直接 tracert IP地址 就OK

?怎么做呢,你可以先ping一下百度域名,回复得到IP过后再对得到的IP进行 tracert。。。

该总结学习于B站视频网址如下,如有总结不到之处我自己担待。

https://www.bilibili.com/video/BV1D44y1b7WW?p=8&spm_id_from=333.880.my_history.page.click

【千锋】网络安全入门基础教程_华为/思科(CCIE/HCIE)全套课程_纯干货整理_哔哩哔哩_bilibili

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:32:30  更:2022-04-01 00:33:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:55:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码