这是我的traceroute的结果
traceroute 211.140.5.120
1 141.1.31.2 (111.1.31.2) 0.397 ms 0.380 ms 0.366 ms 2 141.1.28.38 (111.1.28.38) 3.999 ms 3.971 ms 3.982 ms 3 142.11.124.193 (112.11.124.133) 1.315 ms 1.533 ms 1.455 ms 4 (201.141.0.261) 2.615 ms 2.749 ms 2.572 ms 5 (201.141.0.82) 2.705 ms 2.564 ms 2.680 ms 6 (201.118.231.14) 5.375 ms 5.126 ms 5.252 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
我想知道***是什么意思,结果是否意味着我的主机和目标服务器之间真的有30多跳?
traceroute的所有实现依赖于发送给发起者的ICMP(types11)分组。
这个程序通过启动带有小ttl(生存时间)的UDP探测包来尝试追踪路由,然后监听来自网关的ICMP“超时”响应。 它开始探测一个ttl,然后增加一个,直到我们得到一个ICMP“端口不可达”(意味着我们到达“host”)或者达到最大值(默认为30跳,可以用-m标志改变)。 每个ttl设置发送三个探针(用-q标志进行更改),并打印一行显示网关的ttl,地址和每个探针的往返时间(三个*)。 如果在5秒内没有回应。 超时间隔(使用-w标志更改),将为该探针打印“*”。
所以在你的情况下,我们可以得出结论,我们得到的回应只有201.118.231.14。 之后,节点没有响应到达最大生存时间(最大跳数)的ICMP分组(types11)。 您可以使用-m标志来增加最大生存时间。
TraceUte需要来自目标服务器和每个中间节点的响应来创build其输出。 如果路由器没有生成Time-to-live exceeded
响应时间,则traceroute将不知道该跳跃。 输出* * *
跳表示跳转路由器不响应用于traceroute的数据包types(默认情况下,它是Unix上的UDP和Windows上的ICMP)。
如果您使用的是相同版本的traceroute,我可以尝试使用-e
选项来避开防火墙,使用-P
选项来使用ICMP,TCP或GRE数据包而不使用UDP。 您也可以尝试使用-p
选项指定不太可能被过滤的特定端口(如80或25)。
可能有其他选项可以帮助您获得回复。 检查traceroute的手册页 。
要回答你的问题的第二部分,不,这个跟踪路由并不意味着你和目标服务器之间只有30跳。 Traceroute在一定数量的跳数之后“放弃”。 这通过限制数据包中的最大TTL来完成,默认情况下在Linux上是30.您可以使用-m
选项来更改此值。 可能会有更多或更less的跳跃,但是因为在第六个之后没有人回应,我们只是不知道。