Appearance
Appearance
ICMP(Internet Control Message Protocol)用于在 IP 网络中传递控制和错误信息,例如 Echo 请求/应答、目的不可达、超时等。排查 ping、traceroute、路径 MTU、路由不可达或主机/网络返回错误时,可以从 ICMP 入手。
不要把 ICMP 当成普通业务传输协议:它主要用于诊断和错误报告。也不要把“没有 ICMP 响应”直接等同于主机离线,防火墙、系统策略、设备限速或中间网络都可能影响 ICMP。
| 目标 | 重点字段或视图 | 说明 |
|---|---|---|
| 判断消息类型 | icmp.type、icmp.code | Echo、不可达、超时等都由 type/code 区分。 |
| 分析 ping | Echo request / Echo reply、Identifier、Sequence | 看请求与应答是否成对、序号是否连续、往返时间是否异常。 |
| 分析 traceroute | Time-to-live exceeded | 路由路径探测常依赖 TTL 过期返回。 |
| 查找不可达 | Destination unreachable | 继续看 code 判断网络、主机、端口或分片相关问题。 |
| 关联原始报文 | ICMP 错误中携带的原始 IP 头部和前部负载 | 用于反查是哪条流量触发了错误。 |
icmp只显示 ICMP 报文。
icmp.type == 8 || icmp.type == 0查看 IPv4 ICMP Echo 请求和 Echo 应答,常用于 ping 分析。
icmp.type == 3查看目的不可达消息。
icmp.type == 11查看超时消息,常见于 traceroute 或 TTL 过期场景。
icmp.code == 4在对应 ICMP 类型下查看特定 code。不同 type 下 code 含义不同,解读时要同时看 icmp.type。
不一定。ICMP 可能被禁用、限速或过滤,而 TCP/UDP 业务仍然可达;反过来,ping 通也不代表业务端口、认证或应用逻辑正常。
先看 icmp.type 和 icmp.code,再展开 ICMP 错误中携带的原始 IP 报文,确认是哪条通信触发了错误。不要只看一行摘要就判断根因。
不一定。traceroute 本来就利用 TTL 逐跳过期来发现路径。真正需要关注的是路径中断、异常跳变、持续丢失,或目标最终是否可达。