📜  Linux 中的 traceroute 命令示例(1)

📅  最后修改于: 2023-12-03 14:43:57.034000             🧑  作者: Mango

Linux 中的 traceroute 命令

介绍

traceroute 是一个常用的网络诊断工具,用于检测网络中的路由情况。它通过发送一系列的 ICMP echo 请求和 TTL 值的递增,来判断数据包从源主机到目标主机所经过的路由路径,以及每个路由器的延迟情况。

语法
traceroute [参数] [目标主机]

参数:

  • -4:强制使用 IPv4 地址。
  • -6:强制使用 IPv6 地址。
  • -I:使用 ICMP echo 请求进行探测。
  • -U:使用 UDP 数据包进行探测。
  • -p:指定目标主机上监听的端口号。
  • -q:设置每个 TTL 值的探测次数。
  • -w:设置每次探测的超时时间。
示例

假设我们要检测目标主机名为 example.com 的路由情况。

traceroute example.com

这将输出类似如下的结果:

traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  1.821 ms  2.250 ms  2.441 ms
 2  10.180.240.1 (10.180.240.1)  12.186 ms  12.248 ms  12.327 ms
 3  122.13.219.126 (122.13.219.126)  26.327 ms  26.443 ms  26.521 ms
 4  203.131.255.238 (203.131.255.238)  28.560 ms  28.682 ms  28.768 ms
 5  203.131.255.234 (203.131.255.234)  28.856 ms  28.935 ms  29.015 ms
 6  203.131.255.229 (203.131.255.229)  30.278 ms  30.346 ms  30.428 ms
 7  203.208.159.65 (203.208.159.65)  33.372 ms  33.458 ms  33.545 ms
 8  xe-0-0-2-3.r05.sin01.pccwbtn.net (63.218.242.125)  33.807 ms  33.886 ms  34.840 ms
 9  ae-1-4.bar2.NewYork1.Level3.net (4.16.109.73)  154.194 ms  154.260 ms  154.339 ms
10  ae-0-11.bar2.NewYorkCity1.Level3.net (4.69.203.178)  154.424 ms  154.505 ms  154.591 ms
11  ae-63.edge1.Newark1.Level3.net (4.68.73.122)  154.681 ms  154.333 ms  154.371 ms
12  MAE-East.netarch.akamai.com (198.32.124.57)  154.694 ms  154.220 ms  153.606 ms
13  a93-184-216-34.deploy.akamaitechnologies.com (93.184.216.34)  152.937 ms  152.870 ms  152.188 ms

该命令输出了数据包从源主机到目标主机所经过的路由路径,以及每个路由器的延迟情况。每一行输出代表一跳路由器,其中 ms 表示时间延迟,数值越小越好。

总结

traceroute 命令可以方便地检测网络的连通性和路由情况,特别是在网络故障排除和优化中有很大的帮助。通过了解其语法和使用方式,程序员可以更加高效地利用该命令进行网络诊断。