ICMP——网际控制报文协议

2024-01-31 09:04
文章标签 协议 icmp 控制 报文 网际

本文主要是介绍ICMP——网际控制报文协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.1 网际控制报文协议 ICMP

1.2 ICMP 报文的格式

1.2.1 ICMP 报文的种类

ICMP 差错报告报文

ICMP 询问报文

1.3 ICMP 的应用

1.4 ICMP抓包

1.4.1 ICMP请求包(request)

1.4.2 ICMP应答包(reply)


1.1 网际控制报文协议 ICMP

·ICMP (Internet Control Message Protocol) 允许主机或路由器报告差错情况和提供有关异常情况的报告。

·ICMP 是互联网的标准协议

·但 ICMP 不是高层协议,而是 IP 层的协议。

1.2 ICMP 报文的格式

1.2.1 ICMP 报文的种类

·2 种:差错报告报文询问报文

几种常用的 ICMP 报文类型

ICMP 报文种类

类型的值

ICMP报文的类型

差错报告报文

 3

终点不可达

11

时间超过

12

参数问题

5

改变路由 (Redirect)

询问报文

 0

回送 (Echo请求或回答

13  14

时间 (Timestamp请求或回答

ICMP 差错报告报文

数据字段的内容:

不应发送 ICMP 差错报告报文的几种情况:

·对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。

·对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。

·对具有多播地址的数据报都不发送 ICMP 差错报告报文。

·对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

ICMP 询问报文

(1) 回送请求和回答

        ·由主机或路由器向一个特定的目的主机发出的询问。

       ·收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。

        ·这种询问报文用来测试目的站是否可达,以及了解其有关状态。

(2) 时间戳请求和回答

        ·请某台主机或路由器回答当前的日期和时间。

        ·时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从1900 年 1 月 1 日起到当前时刻一共有多少秒。

        ·时间戳请求与回答可用于时钟同步和时间测量。

1.3 ICMP 的应用

(1)PING (Packet InterNet Groper)

        ·用来测试两个主机之间的连通性

        ·使用了 ICMP 回送请求与回送回答报文

        ·是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。

用 PING 测试邮件服务器 mail.sina.com.cn 的连通性

(2)Traceroute

        ·这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是 tracert

        ·用来跟踪一个分组从源点到终点的路径

        ·它利用 IP 数据报中的 TTL 字段ICMP 时间超过差错报告报文和ICMP 终点不可达差错报告报文实现对从源点到终点的路径的跟踪。

用 tracert 命令获得到新浪网的邮件服务器 mail.sina.com.cn 的路由信息

1.4 ICMP抓包

1.4.1 ICMP请求包(request)

1.4.2 ICMP应答包(reply)

欢迎一起学习呀~

这篇关于ICMP——网际控制报文协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663217

相关文章

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea