当您tracert www.example.com
在命令提示符中使用时,返回的信息究竟告诉您什么,它又是如何获取这些信息的。到目前为止,我只使用 traceroute 来获取网站的 IP 地址,而没有真正考虑过 traceroute 的更大用途。
答案1
traceroute 的输出显示了源主机(您发出命令的位置)和目标主机(命令行上指定的主机)之间的每个“跳跃”。对于每个跳跃,它将显示距离(跳跃数)、IP 地址和/或关联的主机名(使用反向解析确定的主机名)以及源主机和特定跳跃主机之间的延迟/等待时间。
您可能会看到一些奇怪的事情。例如,您可能会看到在给定距离处列出的多个主机。另一个示例是,您可能看不到在给定距离处列出的任何主机,但会列出更远的主机。这些都是用于执行跟踪路由的方法的产物。
该工具通过发送一系列用人工“生存时间”(TTL)构造的 UDP 数据包来获取此信息。数据包的 TTL 用于确保路由循环不会导致无休止的流量。当数据包通过路由器时,它会减少该数据包的 TTL。TTL 最终将达到零,此时数据包将被丢弃。当发生这种情况时,大多数路由器还会向丢弃数据包的源发送一个特殊数据包,表明无法到达目的地,只是为了提供帮助。这个数据包是 ICMP(Internet 控制消息协议)目标不可达消息。
Traceroute 以 1 的 TTL 开始,并发送三个具有此 TTL 的 UDP 数据包。然后它会监听目标无法访问的消息。它会显示消息来自何处(主机)、该主机响应所需的时间(延迟),以及当该主机表示无法以如此低的 TTL 到达您的目标时 TTL 是多少。然后它会重复执行,直到收到另一条消息,表明目标主机上的该 UDP 端口上没有任何内容在监听。
答案2
由此文章:
Traceroute 是一款实用程序,可记录您的计算机和指定目标计算机之间通过 Internet 的路由(每次跳跃的特定网关计算机)。它还计算并显示每次跳跃所用的时间。Traceroute 是一款方便的工具,既可用于了解 Internet 网络中的问题所在,也可用于详细了解 Internet 本身。在使用 traceroute 之前,通常会使用另一个实用程序 PING 来查看网络上是否存在主机。
简单来说,跟踪路由会映射从您的 IP 到目标 IP 的(当前)路径以及其间的所有设备。它还会显示从一跳到另一跳所需的时间。它是一种可用于排除网络故障的工具。如果您看到一跳显示无法访问,或者响应时间过长,则可能存在问题。