在网络排查中,为什么访问目标地址失败?数据卡在了哪个节点?这类问题屡见不鲜。路由追踪命令(Linux 的 traceroute 与 Windows 的 tracert)正是解决这类问题的网络探针——它能精准定位数据包从本地主机到目标主机的传输路径,暴露每一跳的延迟、丢包等关键信息,是运维、开发及普通用户排查网络故障的核心工具。本文将从语法、适用场景、使用方法、结果解读、问题解决五个维度,全面拆解两个系统的路由追踪命令,让你快速上手。
一、核心概念:路由追踪命令到底是什么?
路由追踪的核心原理是利用 IP 协议的 TTL(生存时间)字段和 ICMP(互联网控制消息协议)反馈机制:
- 本地主机向目标主机发送数据包时,会将 TTL 值设为 1(第一跳);
- 数据包经过第一个路由器时,TTL 减 1 变为 0,路由器会丢弃数据包并返回 TTL 超时(ICMP Time Exceeded)消息;
- 本地主机记录该路由器的 IP 和延迟,再将 TTL 设为 2,重复上述过程,直到数据包到达目标主机,目标主机会返回端口不可达(ICMP Port Unreachable)消息,追踪结束。

