跳到主要内容

traceroute

Linux 默认以 UDP 为探测协议(利用 TTL,初始时把 TTL 设置为 1,路由器向源地址发送 ICMP 超时报文),会看到很多星号,因为很多网络设备并不会对 UDP 作出回应。所以我们加上 -I 改成 ICMP 协议做探测后,网络设备就有回应了。注意 Windows 默认以 ICMP 为探测协议。

$ traceroute  www.baidu.com
traceroute to www.a.shifen.com (180.101.49.12), 64 hops max
1 10.0.2.2 0.133ms 0.131ms 0.087ms
2 192.168.1.1 3.048ms 1.466ms 1.574ms
3 100.65.0.1 8.975ms 3.067ms 6.472ms
4 61.152.53.149 5.644ms 3.691ms 4.624ms
5 61.152.24.226 5.357ms 4.393ms 4.244ms
6 202.97.29.122 10.171ms 10.403ms 8.755ms
7 58.213.94.118 10.707ms 11.880ms 11.441ms
8 58.213.94.90 9.644ms * *
9 58.213.96.110 12.758ms 12.095ms 11.842ms
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
$ traceroute  www.baidu.com -I
traceroute to www.a.shifen.com (180.101.49.12), 64 hops max
1 10.0.2.2 0.099ms 2.363ms 0.078ms
2 192.168.1.1 3.320ms 1.220ms 1.204ms
3 100.65.0.1 8.737ms 4.872ms 6.403ms
4 61.152.54.125 5.035ms 3.397ms 4.288ms
5 * 61.152.25.110 4.176ms *
6 202.97.101.30 7.447ms 6.399ms 5.936ms
7 58.213.95.110 10.488ms * 9.014ms
8 * 58.213.95.134 11.064ms *
9 58.213.96.74 10.997ms 10.042ms 10.592ms
10 * * *
11 * * *
12 * * *
13 180.101.49.12 11.269ms 9.518ms 8.779ms

traceroute 也有一个明显的不足:它不能对这个路径做连续多次的探测,可以用 mtr 取代。