IP Traceroute:如何跟踪连接的路由
Traceroute 显示您的数据在您的设备和任何目的地之间经过的每个路由器 - 以及旅程减慢的位置。以下是如何在任何系统上运行它并实际读取输出。
跟踪路由的作用是什么
通过互联网传输的每个数据包都带有跳数限制 - IPv4 上的 TTL(生存时间)或 IPv6 上的跳数限制。每个转发数据包的路由器都会将其减一;当它为零时,路由器会丢弃数据包并礼貌地发回“超时”消息。
Traceroute 礼貌地对此进行了武器化:它发送 TTL 为 1、然后 2、然后 3 的数据包……返回的每个“超时”回复都会显示沿途另一台路由器的地址。将它们串在一起,您就可以获得从您到目的地的完整路径 - 以及时间。
在您的系统上运行它
窗户—— tracert
按 赢+R, 类型 cmd,按 Enter 键,然后运行:
tracert howtofindtheip.com
# 通过 IP 地址而不是名称:
tracert 1.1.1.1
macOS 和 Linux — traceroute
traceroute howtofindtheip.com # macOS 可能需要完整路径或安装: /usr/sbin/traceroute howtofindtheip.com # macOS sudo apt install traceroute # Debian/Ubuntu
更好的方法—— mtr
地铁 (My Traceroute) 将跟踪路由和 ping 结合在实时视图中 — 对于诊断抖动和丢失提供更多信息。适用于 Linux、macOS(通过 brew install mtr)和 Windows (WinMTR)。
mtr howtofindtheip.com
# 按“q”退出
读取结果
典型的输出如下所示:
1 router.home 1.2 ms 1.0 ms 1.1 ms # 你的路由器 2 isp-gw.net 12.4 ms 12.1 ms 12.3 ms # 你的互联网服务提供商 3 backbone1.net 21.0 ms 20.8 ms 21.2 ms # 区域网络 4 * * * # 静默路由器(正常) 5 edge-server.net 23.9 ms 24.1 ms 23.8 ms 6 howtofindtheip.com 24.0 ms 23.7 ms 23.9 ms # 目的地
- 跳数 — 探测器到达的深度有多少个路由器。
- 主机名/IP — 回复的路由器(PTR 名称通常暗示城市或运营商)。
- 三个时间 — 三个探头的往返时间。重要的是 趋势:在后面的跳跃中持续存在的突然跳跃通常标志着慢速段。
早期跃点(您的 ISP)的高延迟会影响一切;路径后期出现的高延迟通常只是目的地附近的拥塞。想要检查您找到的啤酒花之一的声誉吗?将其 IP 粘贴到我们的 黑名单检查器 或者 在地图上找到它.
为什么跳跃超时
星号(* * *)意味着路由器没有回答该探测。常见且通常无害的:
- 许多路由器被配置为完全忽略跟踪路由探测(速率限制或安全策略)。
- 防火墙会丢弃traceroute 使用的UDP 或ICMP 数据包。
- 路由器优先转发诊断流量,而不是回复诊断流量。
经验法则: 只要后面的跃点保持响应,跟踪中间的超时就可以。如果某个点之后的每一跳都超时 和 最终目的地永远不会应答,该跃点是您的连接实际中断的地方 - 在与 ISP 的支持热线争论时,这是非常宝贵的信息。
为什么没有网站可以traceroute 你
浏览器被故意沙箱化:JavaScript 无法发送原始数据包或读取跟踪路由所需的 ICMP 回复。您发现的任何“在线跟踪路由”都从提供商的服务器运行到目标——很有用,但它测量的路径与您自己的设备的路径不同。
你什么 能 在浏览器中执行的操作:识别您自己和您路径的端点。 找到你的公网IP, 然后 查找其反向 DNS 查看您的 ISP 分配给您的线路的主机名 — 与每一跳的 Traceroute 显示的名称相同。