互联网控制消息协议—ICMP

时间:2023-09-14
新悦网络

编辑:

互联网控制消息协议 (ICMP)是网络内的设备用来传达数据传输问题的协议。在此 ICMP 定义中,使用 ICMP 的主要方式之一是确定数据是否在正确的时间到达其目的地。这使得 ICMP 成为错误报告过程和测试网络传输数据情况的一个重要方面。但是,它也可用于执行分布式拒绝服务 (DDoS) 攻击。

ICMP 的用途是什么

CMP 的第一个用途是报告错误。每当两个设备通过互联网连接时,如果某些数据未按预期到达,ICMP 就可用于创建从接收设备到发送设备的错误。例如,非常大的数据包可能太大而无法让路由器管理。在这种情况下,路由器将丢弃数据包并向发送方发送 ICMP 消息,告知其问题。

ICMP 的另一个常见用途是作为评估网络性能的诊断工具。Traceroute 和 ping 都使用 ICMP。Traceroute 和 ping 是发送有关数据是否成功传输的消息。使用跟踪路由时,报告中会显示数据包到达目的地所经过的设备。这包括处理数据的物理路由器。 

跟踪路由还可以告诉您数据从一台设备传输到另一台设备花费了多少时间。每次数据在路由器之间传输时,该行程称为一跳。跟踪路由显示的信息可用于找出路由沿线的哪些设备造成了延迟。

ping 类似于路由跟踪,但更简单。它报告数据在两点之间传输所需的时间。ICMP 有助于 ping,因为在 ping 过程中使用了 ICMP 回显请求和回显应答。

ICMP 还用于损害网络性能。这是通过 ICMP 洪水、Smurf 攻击和死亡 ping 攻击来完成的,这些攻击会压垮网络上的设备并阻止正常功能。

 

ICMP

ICMP 怎么工作

ICMP 与 Internet 协议 (IP) 版本 6 或 IPv6 的不同之处在于它不与传输控制协议 (TCP)或用户数据报协议 (UDP)关联。因此,设备无需在发送 ICMP 消息之前与另一个设备建立连接。 

例如,在 TCP 中,正在通信的两个设备首先进行需要几个步骤的握手。握手完成后,数据可以从发送方传输到接收方。可以使用 tcpdump 等工具观察此信息。 

ICMP 则不同。未形成任何连接。消息被简单地发送。此外,与规定信息发送到的端口的 TCP 和 UDP 不同,ICMP 消息中没有任何内容将其定向到接收该信息的设备上的某个端口。

 

ICMP 怎么用于 DDoS 攻击

在 DDoS 攻击中,ICMP 通常以几种不同的方式使用:通过 ICMP 洪水攻击、死亡 ping 攻击或 Smurf 攻击。

ICMP 洪水攻击

在 ICMP 洪水攻击中,攻击者尝试发送大量 ping,以致目标设备无法处理所有 ICMP 回显请求数据包。由于每个数据包都需要处理和响应,这会耗尽设备的资源,从而导致设备无法为合法用户提供服务。

 

ICMP洪水攻击

死亡之平

Ping -of-Death 攻击涉及攻击者向无法处理该大小 ping 的设备发送极大的 ping。然后机器可能会崩溃或死机。数据包在前往目标时会被分成碎片,但在重组过程中,它会被重新组合在一起。当它达到目标时,就会出现缓冲区溢出,导致设备故障。Ping-of-death 攻击对于网络中的旧设备来说更危险。

蓝精灵攻击

在Smurf 攻击中,攻击者传输具有欺骗或伪造IP 地址的ICMP 数据包。当网络上的设备回复时,每个回复都会发送到欺骗的 IP 地址,目标会被大量 ICMP 数据包淹没。这种攻击通常也只是旧设备的问题。

最新内容

知识库