一个关于`traceroute`命令的快速指南,用于列出到达一个主机所穿越的所有节点
当你试图到达互联网上的一个主机时,你要经过你的家庭路由器,然后到达你的ISP网络,ISP网络又要经过它自己的上游网络路由器,如此反复,直到你最终到达主机。
你有没有想过,你的数据包要经过哪些步骤才能做到这一点?
traceroute 命令就是为此而设的。
你调用
它将(缓慢地)收集数据包旅行时的所有信息。
在这个例子中,我试着用traceroute flaviocopes.com 伸向我的博客。

并非每一个走过的路由器都会给我们返回信息。在这种情况下,traceroute 打印出* * * 。否则,我们可以看到主机名、IP地址,以及一些性能指标。
对于每个路由器,我们可以看到3个样本,这意味着traceroute默认尝试了3次,让你很好地了解到达它所需的时间。这就是为什么与简单地对该主机做ping 相比,执行traceroute 需要这么长时间。
你可以用-q 选项来定制这个数字。
traceroute -q 1 flaviocopes.com

traceroute 命令可以在Linux、macOS、WSL和任何你有UNIX环境的地方使用。