ICMP 被设计为一种错误报告和查询服务,在网络通信中从主机到主机的数据报传输中起着至关重要的作用。它是 IP 服务的一部分,充当网络 IP 通信中的反馈系统,并允许将无法送达的数据包报告给发送主机,例如路由器或网关。
ICMP 用于什么?
ICMP的主要功能是错误报告。当两台 按行业划分的特定数据库 设备通过互联网连接时,如果任何数据未到达预定目的地,ICMP 就会生成错误并与传输设备共享。如果数据包对于路由器来说太大,路由器就会丢弃该数据包并向数据源发送 ICMP 消息。
ICMP 还用于网络诊断,特别是终端应用程序 ping 和 traceroute。
跟踪路由
traceroute 实用程序显示两个相互作用的 现金流管理 互联网设备之间的物理路由路径。它绘制从一个路由器到另一个路由器的路径,通常称为跃点。使用跟踪路由来诊断网络问题可以帮助管理员查明网络速度变慢的根源。
平
ping 实用程序是 traceroute 的简化版本。它发送 ping(也称为回显请求消息),然后计算该消息到达目的地并返回源所需的时间。这些被称为回显回复消息。 Ping 对于确定特定设备的延迟非常重要。 Ping 与 traceroute 不同,它不提供路由模式的可视化地图。 ping 程序也经常用于拒绝服务(DoS)攻击。
广泛使用的 Internet 协议版本 4 或IPv4地址类和较新的IPv6地址类分别使用 ICMPv4 和 ICMPv6。
ICMP 如何工作?
IP 协议套件中最重要的 汤加营销 协议之一是 ICMP。另一方面,ICMP 与任何传输层协议(如传输控制协议 (TCP) 或用户数据报协议 (UDP))均不关联。它是一种无连接协议,这意味着设备在发送消息之前不需要与目标设备建立连接。这通过 TCP 握手确定两个设备都已准备就绪,而 TCP 则要求在传输消息之前建立连接。
ICMP 消息以数据报的形式发送,带有封装 ICMP 数据的 IP 报头。数据报是一个独立的自主数据对象,就像数据包一样。可以将其视为通过网络传输较大消息的一部分的数据包。在IP数据部分包含ICMP的IP数据包称为ICMP数据包。 ICMP 消息还包含原始消息的整个 IP 标头,从而允许终端系统确定哪个数据包失败。
ICMP 报头指定为 IP 协议编号 1,出现在 IPv4 或 IPv6 数据包报头之后。
ICMP消息格式
类型(8位):帮助我们了解ICMP消息。 ICMP 回显请求的类型值为 8。
代码(8 位) – 代码(8 位):提供有关 ICMP 消息的附加信息。
校验和(16 位):衡量 ICMP 消息的完整性。校验和是使用消息的标题和内容来计算的。
DDoS 攻击中的 ICMP
DDoS 攻击会利用来自多个来源的大量流量淹没目标系统或网络。 ICMP 是一种网络协议,可以以多种方式用于实施此类网络攻击。 ICMP 在 DDoS 攻击中的使用方式有两种:
1. ICMP洪水攻击
在 ICMP 洪水攻击中,黑客向目标系统或网络发送大量 ping 数据包。它以回显请求的形式接收响应。目标的网络带宽、处理能力、内存等资源被超出,导致其无法处理流量。
2. Smurf攻击
Smurf 攻击是一种特殊类型的 ICMP 洪水攻击,它利用 ICMP 回显请求功能来放大网络攻击的影响。在 Smurf 攻击中,黑客将 ICMP Echo 请求源 IP 地址更改为目标个人的 IP 地址。然后,这些伪造的 ICMP 回显请求将被广播到网络的广播地址或定向到网络上的多个主机。