一、命令简介
traceroute
是一个常用的网络诊断工具,用于追踪数据包从源主机到目标主机所经过的路由路径,并显示每一跳的延迟。这个命令可以帮助网络管理员或用户识别网络连接中的问题所在,比如延迟过高、路由故障或者数据包丢失。
二、命令参数
基本用法
traceroute [选项] [destination]
-
destination
是目标主机的IP地址或域名。
常用选项
-
-n
:直接使用IP地址,不进行域名解析。 -
-w
:设置等待每个回复的超时时间(以秒为单位)。 -
-m
:设置最大跳数,默认是30跳。 -
-q
:设置探测包的个数,默认是3个。 -
-I
:使用ICMP回显请求代替UDP数据包进行追踪。
工作原理
traceroute
通过以下步骤工作:
- 初始化:
traceroute
从源主机发送UDP数据包到目标主机,通常使用一个不可能的端口号(大于30000),以确保目标主机不会处理这些数据包。 - TTL递增:每个发送的数据包的TTL(生存时间)值从1开始递增。TTL值决定了数据包在网络中可以经过的最大路由器数量。
- 记录路由:当数据包到达一个路由器时,TTL会减1。如果TTL减到0,路由器会丢弃这个数据包,并发送一个ICMP超时消息回源主机。
traceroute
记录下这个路由器的IP地址和发送数据包与接收到ICMP超时消息之间的时间(即延迟)。 - 重复探测:为了得到更准确的结果,
traceroute
对每个TTL值会发送多个探测包(默认是3个),并记录每个包的延迟。 - 到达目标:当数据包最终到达目标主机时,目标主机通常不会回复,因为使用的端口号是不可达的。不过,某些系统配置可能会响应这些数据包。
三、命令示例
简单示例
traceroute google.com
输出
traceroute to google.com (172.217.7.238), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 3.068 ms 2.948 ms 2.917 ms
2 10.0.0.2 (10.0.0.2) 9.846 ms 9.796 ms 9.765 ms
3 198.51.100.1 (198.51.100.1) 14.642 ms 14.615 ms 14.593 ms
...
29 172.253.63.117 (172.253.63.117) 34.974 ms 34.947 ms 34.918 ms
30 172.217.7.238 (172.217.7.238) 35.188 ms 35.162 ms 35.135 ms
每一行代表一个路由器,显示了路由器的IP地址和三个探测包的延迟时间。
traceroute
是一个强大的工具,但请注意,某些网络配置可能会限制ICMP数据包的传输,这可能会影响 traceroute
的结果。在某些情况下,可以使用 traceroute
的变种 tracert
(在Windows系统中)或 tracepath
(在某些Linux发行版中)。
在windows使用
tracert www.baidu.com
输出
通过最多 30 个跃点跟踪
到 www.a.shifen.com [2409:8c00:6c21:1051:0:ff:b0af:279a] 的路由:
1 * * * 请求超时。
2 1 ms 1 ms <1 毫秒 sc.10086.cn [2409:8a62:806:3170:7977:9c91:db6a:5a71]
3 3 ms 2 ms 2 ms sc.10086.cn [2409:8062:1:7::189]
4 4 ms 3 ms 3 ms sc.10086.cn [2409:8062:1:8::188]
5 4 ms 3 ms 3 ms sc.10086.cn [2409:8062:0:6::a:9f0]
6 3 ms 3 ms 3 ms sc.10086.cn [2409:8080:0:2:806:874::]
7 38 ms 38 ms 38 ms sc.10086.cn [2409:8080:0:1:107:806::]
8 40 ms 39 ms 39 ms sc.10086.cn [2409:8080:0:2:107:161:0:1]
9 40 ms 45 ms 39 ms sc.10086.cn [2409:8000:3004:7::1]
10 40 ms 40 ms 41 ms sc.10086.cn [2409:8000:3018:3::]
11 41 ms 41 ms 43 ms sc.10086.cn [2409:8c00:6c20:9::1]
12 47 ms 42 ms 42 ms 240c:4001:1010::eb2:ec2:2
13 47 ms 43 ms 42 ms 240c:4001:1010::eb1:eb2:4
14 42 ms 41 ms 41 ms 240c:4051:1102:100:0:ef1:eb1:2
15 44 ms 42 ms 42 ms 240c:4051:1102:100:0:8:ef1:2
16 40 ms 40 ms 39 ms sc.10086.cn [2409:8c00:6c21:1051:0:ff:b0af:279a]
跟踪完成。