网站与速度
用 traceroute 找出连接变慢的位置
traceroute 会显示从 Mac 到某个主机的路径上的每台路由器,以及每台路由器的应答时间。
症状
- 某个网站或服务很慢,其他的却很快。
- 你想知道延迟出在自己的网络里,还是更远的地方。
- 网络服务商要求你提供路由跟踪结果。
可能的原因
- 路由中某一段拥塞。如果延迟从某一跳开始出现并一直持续到最后一跳,说明路径中那一段较慢。
- 路由器给探测包的优先级较低。某一跳单独变慢、下一跳又恢复正常,通常不是问题。
- 路由器不应答。man 手册页说明,星号表示在超时前没有收到应答。有些路由器不会发送 traceroute 所需的应答。
如何检查
打开“终端”,跟踪到该主机的路由。
traceroute example.com输出 每一跳一行,包含其地址和三次响应时间。星号表示没有收到应答。
要跳过名称查询以更快得到结果,请添加
-n。traceroute -n example.com如果许多跳只显示星号,请用
-I改用 ICMP 探测。traceroute -I example.com找到时间开始升高、并一直高到最后的第一跳。
运行两三次跟踪。以每次都出现的规律为准,而不是只看一次结果。
如何修复
如果延迟从第一跳就开始,请检查你的 Wi-Fi 或路由器。请参阅Mac 上网速慢:找出慢在哪一环。
如果延迟从网络服务商的网络开始,请把跟踪结果发给服务商。
如果延迟出现在目标附近,请联系该服务或稍后再试。
不要拿中间某一跳慢作为证据,也要看最后一跳。
使用 Kilobat
Kilobat 会运行一次最多 12 跳的路由探测,并将结果保存到路由历史记录中。
kilobat trace example.com要确认慢的那一跳是否一直慢,请跟踪三次。Kilobat 会像 mtr 一样,把到该主机的所有已保存跟踪逐跳合并。
kilobat trace example.com --rounds 3显示每一跳的丢包,以及最佳、平均和最差延迟,并指出持续延迟从哪里开始。
kilobat route-history --host example.com智能体可以调用 MCP 工具
trace_route(传入host和rounds),以及get_route_history。
常见问题
为什么某一跳显示 * * *?
该路由器没有及时应答。许多路由器不应答探测包。只要后面的跳有应答,路径就是通的。
traceroute 需要管理员密码吗?
不需要。默认的 UDP 探测和 -I 任何用户都能使用。
参考资料
- traceroute(8),macOS 27.2 自带的手册页
- ping(8),macOS 27.2 自带的 man 手册页
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。