首页/网络/网络排障速查/ping 报错信息判读:超时、不可达与重复回复
连通性与链路检测54 条

ping 报错信息判读:超时、不可达与重复回复

ping 的不同报错指向不同层次:timeout 是没收到回包;unreachable 分「本机路由」「网关」「对端」;重复回复暗示双路径或 ARP 冲突。

网络排障速查网络更新于 2026-10-13

报错决定排查方向

ping 的输出不只是「通或不通」:不同报错分别指向本机、网关、路径与对端四个不同位置。把报错读懂能省掉大量盲抓包——sendmsg 类错误说明本机连包都发不出去;Unreachable 要区分本机无路由、网关回 ICMP 差错、直连网段 ARP 解析失败;Request timeout 才是包已上路或对端不应答;(DUP!) 与 Redirect 则分别暗示地址冲突与双网关。Linux 侧由 iputils 的 ping 打印这些文字,Windows 侧措辞不同但语义一致。

判读顺序

拿到一份 ping 输出,按三步读:先看有没有本机侧错误(sendmsg、Network is unreachable),这一类说明包没出门,方向是本机路由与网卡;再看 Unreachable 的定语,Host 指向直连网段与网关,Net 指向缺路由;最后看 timeout 的比例与规律,纯超时且对端业务端口正常,多半是对端禁 ICMP 或路径丢包。把这个顺序固定下来,比逐个词猜含义快得多。

输出关键字判读

输出含义指向
Request timeout / 无回复超时未收到 ICMP 回应路径中丢包,或对端不回应 ICMP
Destination Host Unreachable直连网段 ARP 解析失败,或路由指向不可达主机本机与网关的二三层问题
Destination Net Unreachable路由表里没有对应网络本机或中间设备缺路由
Network is unreachable (sendmsg)本机没有可用路由,包根本没发出本机路由表或接口处于 down 状态
Time to live exceededTTL 归零,包死于环路存在路由环路,或 traceroute 中的正常现象
(DUP!) 重复回复同一序号收到多个应答双路径、ARP 冲突或中间设备镜像
Redirect收到 ICMP 重定向报文同链路存在更优下一跳,常见于双网关
100% packet loss一个应答都没收到先排除本机侧错误,再查路径与对端策略

典型处置动作

  • 出现本机侧 sendmsg 错误:先看 ip route 有没有默认路由,再看网卡与网关是否可达
  • 出现 Host Unreachable 且目标是同网段:查 ip neigh 的状态与 VLAN 划分,不必往外网找原因
  • 只有 timeout 无其他差错:用 nc 或 Test-NetConnection 测业务端口,确认对端是否只是屏蔽了 ICMP
  • 出现 DUP 或 Redirect:查是否存在重复地址、双网关或链路环回,这类问题会让业务时通时断
  • 偶发 TTL exceeded:结合 traceroute 与业务时段对照,确认是长临时路径变化还是稳定环路

一次拿到错误分类

一次拿到错误分类
ping -c 10 -W 1 10.0.0.5 2>&1 | grep -Ev '^PING|^$' | sort | uniq -c   # 归类统计
ping -c 3 -W 1 -v 10.0.0.5        # -v 会打印更多 ICMP 差错细节
# 对端禁 ICMP 时改用 TCP 探测复核:
nc -zv 10.0.0.5 443 && echo PORT-OK
「本机报错」与「对端不响应」是两类问题:sendmsg、Network is unreachable 属于本机(路由、接口),Request timeout 才是路径或对端。判读时先分清这两类再谈责任方。
Windows 防火墙默认阻止入站 ICMP 回显,很多主机 ping 不通但业务端口完好;跨平台对测时 PingSucceeded=False 不能直接等于网络不通。

易错点

  • 看到 timeout 就断定对端宕机,实际可能只是对端策略禁止 ICMP,用端口探测复核才不会误判
  • (DUP!) 常被忽略,它往往是 IP 地址冲突或双上联的早期信号,出现后应先查 ARP 与拓扑
  • 把 TTL exceeded 当成必然故障:在 traceroute 场景里它是设计行为,只有在固定目标持续出现才是环路证据
  • 只看最后一行的丢包率,不区分错误类型,导致本机路由问题被当成远端链路问题排查很久

数据来源与参考

  • RFC 792:ICMP 差错报文类型
  • man 8 ping(输出说明)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌