什么是 traceroute 以及它的用途是啥
当您使用互联网时,您发送的每个数据包,从聊天消息到视频或照片,都必须经过交换机和服务器才能到达目的地。可是如果某天突然这些内容都无法正常发送时怎么办?不幸的是,没有什么比当您无法再连接到网站时更能提醒您这种设置的了。 原因可能在您这边、网站那边,或者介于两者之间。 找出问题所在的最佳方法是使用 traceroute 命令。什么是 traceroute?traceroute 是一种跟踪数据包通过互联网时所采取的路线的方法。 每个现代操作系统都可以追踪路线。当您启动 traceroute 时,您可以告诉它您想要跟踪路由到哪个网站或服务器。 通常,这是您尝试访问的网站 URL,但如果您愿意,也可以为其提供 IP 地址。什么是 traceroute一旦您启动 traceroute,它就会向您设定的目的地发送数据包。 然后它会记录数据包的行程并将信息发送回您的电脑,然后电脑会向您显示它们的去向。如果您想查找网络故障,这非常方便。 如果服务器或交换器出现故障,traceroute 将遇到问题并报告某些内容无法正常工作。 然后,您可以使用此信息更好地诊断出了什么问题。traceroute 由如何工作?traceroute 是诊断网络错误的便捷方法。 然而,traceroute 的发明完全归功于使用数据包的“生存时间”变量的巧妙利用。什么是数据包的“生存时间”?理想情况下,当计算机将数据包从一个地方发送到另一个地方时,它可以毫无问题地到达那里。 它会采用最快的路线从 A 点到 B 点,并且不会被卡住或阻碍。不幸的是,网络可能是一件很挑剔的事情。 如果工程师在设置服务器时犯了错误,则数据包可能会在服务器之间无限循环地发送。 如果这种情况发生得太频繁,网络就会塞满永远不停地循环的数据包。数据包背后的聪明人想出了一个解决方案来解决这个问题,称为“生存时间”或“TTL”。 每个数据包在发送到未知世界之前,都会被赋予一个大于 0 的 TTL 值。 如果该值达到 0,则数据包被视为“死亡”并被销毁。当数据包在旅途中被发送时,它将在不同的服务器上多次停留。 每次到达服务器时,它都会将其 TTL 值减去一。 通常,此 TTL 值设置为一个数字,使数据包在到达 0 之前有足够的时间到达目的地。但是,如果数据包确实进入循环,则 TTL 最终将递减,直到数据包过期。当数据包过期时,它结束的服务器会向本地发送所谓的“ICMP 超时”消息。 这本质上是一个通知,表明数据包已过早终止,并告诉用户数据包在何处过期,以帮助进行故障排除。数据包的生存时间如何让 traceroute 发挥作用此 ICMP 超时消息是使 traceroute 正常工作的关键。 首先,traceroute 发出一个 TTL 设置为 1 的数据包。这意味着它离开您的 PC,到达第一台服务器,从其 TTL 中减去 1,注意到它的 TTL 为 0,然后过期。然后,当时处理数据包的服务器将 ICMP 超时消息及其位置发送回您的 PC。 然后,您的电脑会记录服务器的位置,作为实现目标的第一步。然后,它发送一个 TTL 设置为 2、3 等的数据包,直到数据包到达目的地。 每个数据包都会在通道的下一步过期,沿途的每个服务器都会报告过期的数据包,为您的 PC 提供所需的信息,以了解数据包的去向。traceroute 有何用途?在基本层面上,traceroute 可让您了解数据包如何在网络中移动。 无论您是网络工程师,仔细检查所有内容是否按预期流动,或者您只是对访问百度时数据包的传输方式感兴趣,traceroute 都是您的最佳选择。然而,它对于发现系统中的错误也很有用。 如果 traceroute 尝试联系无响应的服务器,它会注意到它发送的数据包有一段时间没有触发回复。 一旦经过了足够的时间,traceroute 就会声明“请求超时”,这意味着回复未能在指定的时间内到达。当然,超时请求并不总是意味着服务器已关闭。 有时服务器不喜欢 traceroute 请求并在它们通过时阻止它们。 但是,如果您相对确定链上的任何服务器都不应阻止 traceroute,那么这是诊断在您尝试连接时无法响应的网站或服务器的好方法。traceroute 和 Ping 有什么区别?技术熟练的读者会发现 traceroute 听起来与另一个方便的网络工具 Ping 非常相似。 然而,虽然这两个功能确实有一点重叠,但人们使用它们的原因不同。正如大眼仔上面所介绍的,traceroute 可帮助您确定数据包离开 PC 后的去向。 同时,Ping 会告诉您您的 PC 是否可以到达特定服务器,以及到达那里需要多长时间。因此,如果您想查看网络链的每个部分,traceroute 就是您的最佳选择。 同时,如果您只想查看服务器是否响应,您可以对其进行 Ping。 当然,您也可以使用 traceroute 来做到这一点,但您必须等待一段时间才能最终到达您的服务器,然后才能获得您正在寻找的答案。如何执行 traceroute正如我们之前所说,所有主要操作系统都可以执行 traceroute。 就像打开命令终端并输入 traceroute 命令一样简单。对于 macOS,您只需打开终端并输入“traceroute”,然后输入目标的 URL 或 IP 地址。 Linux 上也是一样,但您可能需要先安装 traceroute,然后才能运行它。在 Windows 操作系统上,其工作方式相同,只不过该函数称为“tracert”。使用 traceroute 跟踪您的数据包
如果您想查看数据包离开 PC 后的去向,traceroute 就是您的最佳选择。 无论您是想诊断网络问题,还是只是想看看数据包的去向,都可以轻松设置并观察数据流向。这样就可以了
页:
[1]