traceroute 功能说明:追踪数据传输路由状况
改命令用于显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况。
默认数据包大小是60字节(IPv4)或80字节(IPv6),用户可另行设置。它与Windows下的tracert命令类似。
若没有该命令,需要安装: yum install traceroute.x86_64 -y
语法格式:
traceroute [选项] [主机名或IP] [数据包大小]
参数选项
-q <nqueries> 设置每一跳的探测包数量。默认是3
-I 使用ICMP ECHO探测,即ping
-n 直接使用IP地址而不使用主机名
-m 设置最大的跳教,默认为30
范例:查看某主机的路由状况
[root@cs6 ~]# traceroute www.wenyule.top
[root@testdb62 ~]# traceroute www.wenyule.top
traceroute to www.wenyule.top (213.232.105.22), 30 hops max, 60 byte packets
1 gateway (10.10.10.1) 0.680 ms 0.762 ms 0.875 ms
2 10.254.254.253 (10.254.254.253) 1.253 ms 1.240 ms 1.443 ms
3 117.184.24.17 (117.184.24.17) 2.624 ms 3.515 ms 4.128 ms
4 . (120.204.35.25) 34.583 ms . (120.204.35.29) 4.752 ms . (120.204.35.25) 34.524 ms
5 * * 221.183.62.209 (221.183.62.209) 5.404 ms
6 221.176.22.30 (221.176.22.30) 77.473 ms 3.637 ms 221.176.22.10 (221.176.22.10) 53.649 ms
7 221.183.25.190 (221.183.25.190) 7.196 ms 221.183.25.194 (221.183.25.194) 6.960 ms 221.183.25.190 (221.183.25.190) 7.217 ms
8 * 221.183.55.45 (221.183.55.45) 6.150 ms *
9 223.120.22.6 (223.120.22.6) 30.596 ms 223.120.22.10 (223.120.22.10) 33.199 ms 33.174 ms
10 223.120.2.1 (223.120.2.1) 41.029 ms 223.120.2.101 (223.120.2.101) 41.803 ms 223.120.2.85 (223.120.2.85) 38.699 ms
11 223.120.2.118 (223.120.2.118) 38.762 ms 37.646 ms 223.120.2.54 (223.120.2.54) 36.408 ms
12 ce-0-4-0-0.r02.tkokhk01.hk.bb.gin.ntt.net (203.131.241.81) 37.213 ms ce-0-2-0-3.r03.tkokhk01.hk.bb.gin.ntt.net (203.131.241.85) 39.505 ms 40.675 ms
13 * ae-11.r24.tkokhk01.hk.bb.gin.ntt.net (129.250.6.99) 39.377 ms ae-10.r24.tkokhk01.hk.bb.gin.ntt.net (129.250.6.93) 38.731 ms
14 ae-12.r30.tokyjp05.jp.bb.gin.ntt.net (129.250.2.50) 81.312 ms 86.026 ms *
15 ae-0.r31.tokyjp05.jp.bb.gin.ntt.net (129.250.5.22) 85.104 ms * 85.800 ms
16 * ae-4.r25.lsanca07.us.bb.gin.ntt.net (129.250.3.193) 196.080 ms 193.023 ms
17 ae-2.r00.lsanca07.us.bb.gin.ntt.net (129.250.3.238) 192.492 ms * 192.328 ms
18 ae-0.profuse-solutions.lsanca07.us.bb.gin.ntt.net (128.241.4.162) 192.517 ms 188.615 ms 200.134 ms
19 10.30.10.2 (10.30.10.2) 182.740 ms 194.713 ms 187.951 ms
20 213.232.105.22 (213.232.105.22) 198.886 ms 182.901 ms 192.943 ms
命令结果说明具体如下。
记录按序列号从1开始,每个记录就是一跳,每跳表示一个网关,我们看到每行有3个时间,单位是ms,其实就是-q的默认参数值为3。
这是探测数据包向每个网关发送3个数据包之后,网关响应并返回的时间。
有时我们traceroute一台主机时,会看到有一些星号。出现这样的情况,可能是因为网络设备封掉或丢弃了返回的信息,所以我们得不到返回的时间。
有时在某一网关的延时比较长,这有可能是某台网关比较阻塞,也可能是物理设备本身的原因。
当然如果某台DNS出现了问题,不能解析主机名、域名时,也会有延时比较长的现象,这时可以加-n参数来避免DNS解析,以IP格式输出数据。
在局域网的不同网段之间,我们可以通过traceroute来排查问题所在,确定是主机的问题还是网关的问题。
如果通过远程来访问某台服务器遇到问题时,用traceroute来追踪数据包所经过的网关,并提交给IDC服务商,这样也有助于解决问题。
范例:加快查询时间
traceroute默认是使用UDP协议(受网络影响性能不太好),因此使用-I 参数来调用icmp协议(ping命令使用的协议),
若同时还使用-n参数,则不解析主机名:
[root@testdb62 ~]# traceroute -In www.wenyule.top
traceroute to www.wenyule.top (213.232.105.22), 30 hops max, 60 byte packets
1 10.10.10.1 0.704 ms 0.845 ms 0.950 ms
2 10.254.254.253 1.669 ms * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * 221.183.25.190 4.395 ms
8 * * *
9 223.120.22.6 32.339 ms 32.377 ms 32.306 ms
10 * * *
11 223.120.2.54 36.355 ms * *
12 203.131.241.85 38.905 ms * 38.804 ms
13 129.250.6.99 39.498 ms 40.179 ms *
14 129.250.2.50 81.799 ms 80.902 ms 81.747 ms
15 129.250.5.22 86.792 ms 85.857 ms 84.106 ms
16 129.250.3.193 200.909 ms 198.876 ms 201.254 ms
17 129.250.3.238 200.089 ms 199.317 ms 198.354 ms
18 128.241.4.162 193.851 ms 193.702 ms 193.918 ms
19 10.30.10.2 196.008 ms 197.020 ms 195.043 ms
20 213.232.105.22 194.966 ms 195.970 ms 194.993 ms