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多个跳?
#1 楼
跟踪路由的所有实现都依赖于发送给始发者的ICMP(类型11)数据包。该程序通过以较小的ttl(生存时间)启动UDP探测数据包,然后侦听来自网关的ICMP“超时”答复来尝试跟踪路由。它从ttl为1的探针开始,然后以1递增,直到得到ICMP“端口不可达”(这意味着我们要进入“主机”)或达到最大值(默认为30跳,并且可以使用-m标志)。在每个ttl设置中发送三个探针(用-q标志更改),并打印一行,显示ttl,网关地址和每个探针的往返时间(因此三个*)。 5秒钟内没有响应。超时间隔(由-w标志更改),将为该探针打印“ *”。
因此,在您的情况下,我们可以得出结论,我们仅得到201.118.231.14的答复。此后,节点不响应到最大跳数30(最大跳数)的跳数30的ICMP数据包(类型11)。您可以使用-m标志来增加最长生存时间。
#2 楼
Traceoute需要目标服务器和每个中间跃点的响应才能创建其输出。如果路由器未生成Time-to-live exceeded
响应,则traceroute将不了解有关该跃点的任何信息。输出* * *
的跃点意味着该跃点的路由器不会响应您用于traceroute的数据包类型(默认情况下,它是Unix上的UDP,而Windows上是ICMP)。如果您使用的是相同版本的traceroute,则可以尝试使用-e
选项来逃避防火墙,并使用-P
选项来使用ICMP,TCP或GRE数据包而不是UDP。您还可以尝试使用-p
选项指定一个不太可能被过滤的特定端口(例如80或25)。可能还有其他选项可以帮助您获得响应。检查手册页中的traceroute。
要回答问题的第二部分,不,此traceroute并不意味着您与目标服务器之间恰好有30个跃点。一定数量的跳数后,Traceroute会“放弃”。通过限制数据包中的最大TTL(在Linux上默认为30)来完成此操作。您可以使用
-m
选项进行更改。可能有更多或更少的跃点,但是由于第六跳之后没有一个跃点在响应,因此我们只是不知道。
评论
要添加的内容:基本上,如果出于任何原因,第30跳返回响应;那么我们就会知道至少有30个跃点。 (忽略任何诡计)
–user606723
2011-11-23 17:47