星号表示该跳在超时内未返回icmp time exceeded消息,主因是路由器丢弃icmp错误报文、防火墙过滤或设备不响应;前几跳星号查本地网络,中间起星号查骨干网或防火墙,可用traceroute -i、-w调整协议与超时,辅以mtr、ping、ip route等验证。

Linux中traceroute结果出现星号(* * *),不是命令失效,而是某跳未收到响应——它本身是正常现象,但需结合上下文判断是否代表真实问题。
星号的本质含义
每一行的三个星号,表示该跳(TTL值对应节点)在默认超时时间内(通常3秒)未返回ICMP Time Exceeded 消息。原因不唯一,常见有:
- 中间路由器主动丢弃了TTL超时产生的ICMP错误报文(出于安全策略或资源限制)
- 防火墙或ACL过滤了ICMP类型11(Time Exceeded)或类型3(Port Unreachable)
- 该设备本身不生成或不转发ICMP错误响应(如某些负载均衡器、QoS设备、老旧网络设备)
- 网络路径存在严重丢包,探测包未送达或响应包丢失
全是星号?先确认协议和权限
Linux版traceroute默认使用UDP探测(端口33434起),而Windows的tracert用ICMP Echo。若tracert正常但traceroute全星号,极大概率是目标路径拦截了UDP,但放行了ICMP。
- 强制改用ICMP模式:
traceroute -I example.com - 若仍无响应,可延长单次等待时间:
traceroute -I -w 5 example.com(-w 5 表示每跳等5秒) - 检查是否被本地策略限制:普通用户可运行,但部分系统对原始套接字有限制,可临时用
sudo traceroute -I example.com验证
局部星号 vs 全程星号:不同排查重点
前几跳就星号(如第1–2跳):问题大概率在本地网络。
- 检查本机路由表:
ip route get 8.8.8.8确认出口网关正确 - 确认网关可达:
ping -c3 192.168.1.1(替换为你的网关IP) - 尝试绕过DNS解析:
traceroute -n -I 8.8.8.8,排除DNS延迟或失败干扰
中间某跳开始持续星号(如第5跳起全*):问题可能在运营商骨干网或远端防火墙。
- 对比多个目标:
traceroute -I google.com和traceroute -I baidu.com,看是否共性,判断是全局还是特定路径问题 - 用
mtr(Matt’s Traceroute)持续观测:mtr -i 2 -r -c 20 -I example.com,它融合ping+traceroute,能反映丢包趋势
辅助验证与替代方案
当traceroute信息受限时,不要只盯一个工具。
-
ping -t 8.8.8.8(Linux用ping -c 10 8.8.8.8)看基础连通性和平均延迟 -
ip route show查看当前主机路由决策,确认无误配静态路由或黑洞路由 -
ss -tuln或netstat -tuln排查本机是否有端口冲突或异常监听(极少影响,但可排除干扰) - 如怀疑DNS问题,直接用IP地址重试:
traceroute -I 203.0.113.100,跳过域名解析环节











