什么是ICMP(互联网控制消息协议)?"

admin 2026-10-23 15:53:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

什么是 ICMP(互联网控制消息协议)?

钟智强
钟智强

哪吒网络安全

2026年7月12日 18:12
马来西亚

在小说阅读器读本章

去阅读

分类:网络协议 / DDoS 攻击     标签:ICMP  Ping  Traceroute  网络层  DDoS

摘要:互联网控制消息协议(ICMP)是网络设备用来诊断网络通信问题的网络层协议。本文介绍 ICMP 的用途、工作原理、数据包结构,以及它在 DDoS 攻击中如何被利用。

阅读本文后,你将能够: 定义 ICMP;说明 ping 与 traceroute 的工作方式;理解 ICMP 协议如何被用于 DDoS 攻击。

一、什么是互联网控制消息协议(ICMP)?

互联网控制消息协议(Internet Control Message Protocol,简称 ICMP)是一种由网络设备用来诊断网络通信问题的网络层协议。ICMP 主要用于判断数据是否能够及时到达其预定目的地。它通常运行在路由器等网络设备上。

ICMP 对于错误报告和测试至关重要,但它同样可能被用于分布式拒绝服务(DDoS)攻击。

二、ICMP 有什么用途?

  1. 错误报告

ICMP 的主要用途是错误报告。当两台设备通过互联网连接时,若有任何数据未能到达其预定目的地,ICMP 会生成错误消息,反馈给发送方设备。

例如,如果某个数据包对于路由器来说过大,路由器会丢弃该数据包,并向数据的原始来源发送一条 ICMP 消息。

  1. 网络诊断:ping 与 traceroute

ICMP 的次要用途是执行网络诊断。常用的终端工具 traceroute 和 ping 都通过 ICMP 运行。

traceroute 用于显示两台互联网设备之间的路由路径——即请求在到达目的地之前必须经过的、由相连路由器组成的实际物理路径。从一个路由器到另一个路由器的过程被称为一跳(hop),traceroute 还会报告沿途每一跳所需的时间,这对于确定网络延迟的来源非常有用。

图 1 traceroute 逐跳追踪两台设备之间的路由路径

ping 是 traceroute 的简化版本。ping 会测试两台设备之间连接的速度,并精确报告一个数据包到达目的地并返回发送方设备所需的时间。虽然 ping 不提供关于路由或跳数的数据,但它仍是衡量两台设备之间延迟(latency)的非常有用的指标。执行 ping 时,通常使用 ICMP 的回显请求(echo-request)和回显应答(echo-reply)消息。

图 2 ping 通过回显请求与回显应答测量往返延迟

⚠ 安全提示 遗憾的是,网络攻击可能利用这一过程,制造出诸如 ICMP 洪水攻击 和 死亡之 Ping(ping of death) 之类的破坏手段。

三、ICMP 如何工作?

与互联网协议(IP)不同,ICMP 不与诸如 TCP 或 UDP 之类的传输层协议相关联。这使得 ICMP 成为一种无连接协议:一台设备在发送 ICMP 消息之前,无需与另一台设备建立连接。

正常的 IP 流量使用 TCP 发送,这意味着任何两台交换数据的设备都会先进行 TCP 握手,以确保双方都已准备好接收数据。而 ICMP 不会以这种方式建立连接,ICMP 协议也不允许针对设备上的特定端口。

四、什么是 ICMP 数据包?

ICMP 数据包是使用 ICMP 协议的数据包。ICMP 数据包在普通的 IP 头部之后包含一个 ICMP 头部。当路由器或服务器需要发送错误消息时,ICMP 数据包的正文(数据段)始终包含引发该错误的数据包的 IP 头部副本。

图 3 ICMP 数据包结构:IP 头部 + ICMP 头部 + 数据段

五、ICMP 如何被用于 DDoS 攻击?

  1. ICMP 洪水攻击

Ping 洪水(ping flood)或 ICMP 洪水,是指攻击者试图用 ICMP 回显请求数据包淹没目标设备。目标必须处理并回应每一个数据包,从而消耗其计算资源,直到合法用户无法获得服务。

图 4 ICMP 洪水:大量回显请求与回显应答

  1. 死亡之 Ping(Ping of Death)

死亡之 Ping 攻击,是指攻击者向目标机器发送一个大于数据包最大允许尺寸的 ping,导致机器冻结或崩溃。数据包在到达目标的途中会被分片,但当目标将其重组为原始的、超过最大尺寸的大小时,数据包的尺寸会引发缓冲区溢出。

📌 历史背景 死亡之 Ping 攻击如今在很大程度上已成为历史,不过较老旧的网络设备仍可能易受其影响。
  1. Smurf 攻击

在 Smurf 攻击中,攻击者发送一个带有伪造源 IP 地址的 ICMP 数据包。网络设备会回应该数据包,将应答发送到被伪造的 IP,从而用不需要的 ICMP 数据包淹没受害者。与死亡之 Ping 一样,如今 Smurf 攻击只有在使用老旧设备时才有可能实现。

图 5 Smurf 攻击:伪造源 IP,使应答流量涌向受害者

ICMP 并非三层(L3)DDoS 攻击中使用的唯一网络层协议。例如,攻击者过去也曾使用 GRE 数据包。

通常,网络层 DDoS 攻击的目标是网络设备和基础设施,这与以 Web 资产为目标的应用层 DDoS 攻击不同。

六、小结

●ICMP 是一种网络层协议,主要用于错误报告和网络诊断。

●ping 与 traceroute 都基于 ICMP:前者测量往返延迟,后者逐跳追踪路由路径。

●ICMP 是无连接协议,不依赖 TCP/UDP,也不针对特定端口。

●ICMP 可被滥用于 ICMP 洪水、死亡之 Ping、Smurf 等 DDoS 攻击;后两者如今主要影响老旧设备。


什么是ICMP(互联网控制消息协议)?" 网络安全文章

什么是ICMP(互联网控制消息协议)?"

本文详细介绍了互联网控制消息协议ICMP的定义、用途与工作原理。ICMP作为网络层协议,主要用于错误报告与网络诊断,支持ping和traceroute等工具。由于ICMP是无连接协议,不依赖TCP或UDP且不针对特定端口,攻击者常利用其特性发起DDoS攻击,如ICMP洪水攻击、死亡之Ping和Smurf攻击。文章指出后两者主要影响老旧设备,帮助读者建立基础的网络协议安全认知。
GPT-5.6Sol被曝重大Bug,硅谷大佬Mac文件几乎被删空" 网络安全文章

GPT-5.6Sol被曝重大Bug,硅谷大佬Mac文件几乎被删空"

GPT-5.6Sol在本地Agent模式下因权限过高和自主循环导致误删用户文件,暴露了AI直接执行、子代理放大错误及权限控制缺失等安全问题。建议用户限制AI访问范围、删除操作需人工确认、在沙箱中运行高风险任务并做好备份,遵循最小权限、隔离运行、人工确认和随时可恢复原则。
OdysseyStealer再度袭击macOS用户,波及100多个国家" 网络安全文章

OdysseyStealer再度袭击macOS用户,波及100多个国家"

OdysseyStealer恶意软件再次针对macOS用户发起攻击,已波及100多个国家。该恶意软件通过欺骗性软件和更新提示传播,利用社会工程学诱饵诱导用户执行恶意命令。它能够从主流浏览器窃取密码、Cookie和自动填充数据,并针对约300个加密货币钱包扩展和16款桌面钱包应用进行攻击。恶意软件还通过安装LaunchDaemon实现持久化,并替换Ledger、Trezor等钱包应用为木马版本。用户应从官方来源下载软件,对意外更新保持警惕;企业应监控可疑的LaunchDaemon和异常连接。
首个一键式Android17漏洞利用链。网络安全一周新闻速看(20260712期)" 网络安全文章

首个一键式Android17漏洞利用链。网络安全一周新闻速看(20260712期)"

本周安全新闻涵盖10条重要事件。首个Android17一键漏洞利用链IonStack可完全控制手机。APT-C-20利用PNG隐写术与COM劫持投递无文件后门。GhostApproval漏洞利用符号链接操纵AI编程助手。LinuxKVM曝Januscape高危逃逸漏洞影响Intel与AMD。OpenAI获准发布GPT-5.6。CISA启用MythosAI扫描政府代码。Tenda路由器存在硬编码后门。ModSecurity两处高危漏洞可致WAF绕过。三部门联合发布金融业网络安全管理办法。首例自主AI勒索攻击
评论:0   参与:  0