【问题标题】:Traceroute response when max hops is reached (Linux)达到最大跳数时的 Traceroute 响应 (Linux)
【发布时间】:2015-09-07 15:52:09
【问题描述】:
假设我们做了一个 www.google.com 的 traceroute,那么参数“max hops”将默认设置为 30,因为我们没有指定它。
现在假设 traceroute 在找到 www.google.com 之前以某种方式到达了第 30 跳,那么第 30 路由器给出的响应是什么?它是一个“端口不可达”响应(就像命运主机在我们到达他时会回答一样)还是一个 ICMP 响应,表明已达到最大跳数?
【问题讨论】:
标签:
linux
dns
icmp
traceroute
【解决方案1】:
响应将是一个 ICMP 响应,其 TTL 时间与之前的跃点一样已过期。跃点之间的区别仅在于 TTL 字段。 www.google.com 路径上的路由器不知道您正在尝试跟踪路由到 google,实际上也不知道您和它们之间有多少跃点。 traceroute 的工作方式是发送具有增加 TTL 的数据包,直到到达目的地。除非发生其他错误,否则在到达目的地之前,您将收到的大部分回复都已超过 TTL 时间。
【解决方案2】:
目前最大跳数可以设置为 255
$ traceroute -m 255 www.google.com
如果在最大跃点之前没有到达目的地。它发送确认
返回源,表明数据包已死。