为什么“ping”可以通,而“ping -R”却失败?

为什么“ping”可以通,而“ping -R”却失败?

Ping www.google.com 可以工作,但 ping -R www.google.com 会失败。为什么?

答案1

ping -R是一种穷人的跟踪路由,它RECORD_ROUTE在发送的数据包中设置标志,要求沿途的每个主机返回数据包在此时所采用的路径。

正如 Marty 所说,可记录的最大长度为九跳,许多主机可能只是忽略此标志。

如果您想找出 ICMP(ping)数据包前往 google.com 的路线,请尝试traceroutemtr

答案2

它对我而言就像它预期的那样有效。

根据手册页:

"Note that the IP header is only large enough for nine such routes.  
 Many hosts ignore or discard this option."

因此,如果路由超过 9 个跳数(包括您的本地机器),那么您所看到的就只是前 9 个。

答案3

有些网站可能认为此类请求存在潜在的安全问题,因为它们泄露的网络连接信息可能对攻击者有用。因此,他们可能会默默地丢弃数据包。

出于同样的原因,许多网站也不允许使用跟踪路由功能。

相关内容