traceroute 命令用于追踪网络数据包从本地主机到网络上另一台主机的路径,可以帮助我们查找网络故障并找到网络瓶颈所在。下面我将详细讲解 Linux traceroute 命令的作用和使用方法。
命令格式
traceroute [选项] 目标主机
命令选项
-F
:使用 ICMP 包代替 UDP 数据包。-I
:使用 ICMP 协议进行运行,而不是使用 UDP 数据包。-n
:禁止解析 IP 地址为主机名。-w
:设置收到每个应答所需等待的时间。
命令使用示例
- 示例一:使用 UDP 模式追踪到百度网站
traceroute www.baidu.com
输出:
traceroute to www.a.shifen.com (119.75.217.109), 30 hops max, 60 byte packets
1 10.0.2.2 (10.0.2.2) 0.292 ms 0.235 ms 0.202 ms
2 192.168.31.1 (192.168.31.1) 1.359 ms 1.556 ms 1.482 ms
3 217.180.200.50 (217.180.200.50) 16.624 ms 16.824 ms 17.025 ms
4 10.24.255.238 (10.24.255.238) 15.737 ms 15.509 ms 15.841 ms
5 10.24.254.250 (10.24.254.250) 13.288 ms 13.215 ms 13.140 ms
6 202.106.50.201 (202.106.50.201) 12.640 ms 202.106.50.197 (202.106.50.197) 12.806 ms 202.106.50.193 (202.106.50.193) 12.759 ms
7 202.97.61.78 (202.97.61.78) 17.198 ms 202.97.61.82 (202.97.61.82) 16.793 ms 202.97.61.78 (202.97.61.78) 17.244 ms
8 202.97.34.106 (202.97.34.106) 24.294 ms 202.97.34.110 (202.97.34.110) 22.839 ms 202.97.34.102 (202.97.34.102) 23.236 ms
9 202.97.62.46 (202.97.62.46) 22.555 ms 202.97.62.17 (202.97.62.17) 22.470 ms 202.97.62.21 (202.97.62.21) 22.561 ms
10 119.75.217.102 (119.75.217.102) 24.420 ms 25.012 ms 24.134 ms
11 119.75.217.109 (119.75.217.109) 23.977 ms 24.150 ms 23.547 ms
traceroute 输出了许多行,每行表示一跳(一台路由器)。我们可以看到跳数和数据包大小,第一行表示我们的主机到达了网关路由器(10.0.2.2),接下来一步步到达目标地址。
- 示例二:使用 ICMP 模式追踪到 Google 网站
traceroute -I www.google.com
输出:
traceroute to www.google.com (172.217.13.68), 30 hops max, 60 byte packets
1 10.0.2.2 (10.0.2.2) 0.167 ms 0.148 ms 0.253 ms
2 192.168.31.1 (192.168.31.1) 0.632 ms 0.797 ms 0.826 ms
3 217.180.200.50 (217.180.200.50) 13.311 ms 217.180.200.48 (217.180.200.48) 13.211 ms 13.128 ms
4 10.24.254.238 (10.24.254.238) 12.909 ms
10.24.254.242 (10.24.254.242) 17.926 ms
10.24.254.238 (10.24.254.238) 13.892 ms
5 10.24.254.250 (10.24.254.250) 13.259 ms 13.184 ms 13.196 ms
6 202.106.42.26 (202.106.42.26) 14.480 ms 202.106.42.22 (202.106.42.22) 13.173 ms 13.523 ms
7 202.97.53.94 (202.97.53.94) 26.160 ms 202.97.53.90 (202.97.53.90) 23.668 ms 202.97.53.94 (202.97.53.94) 23.537 ms
8 173.241.128.36 (173.241.128.36) 196.356 ms 197.463 ms 198.507 ms
9 108.170.251.129 (108.170.251.129) 205.641 ms
108.170.251.113 (108.170.251.113) 204.468 ms
108.170.251.129 (108.170.251.129) 204.235 ms
10 172.217.13.68 (172.217.13.68) 215.180 ms 212.733 ms 213.731 ms
在该示例中,使用 -I
选项将 ICMP 作为传输协议。我们可以看到每条跳的延迟时间和 TTL 值,并最终到达目标地址(www.google.com)。
综上所述,通过 Linux traceroute 命令,我们可以轻松追踪连接目标主机的路径,方便排查网络故障。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux traceroute命令:跟踪到目标主机的路由 - Python技术站