非常有用的Linux网络诊断命令:traceroute详细使用教程!

简单地说,traceroute 是一种网络间谍工具,可帮助您跟踪数据包的传输方式以及它们被捕获的位置。
它向目标地址发送一组探测数据包,看看经过了哪些路由器,每个节点需要多长时间,最后给你一个清晰的路径和延迟时间。

我们先来说说最重要的事情。
Traceroute的原理很简单:它代表你逐个数据包增加TTL(生存时间),让每个路由器在收到数据包后做出响应并记录IP和延迟。
去年我们跑3 000级项目的时候,就是靠这个工具来查找跨境专线突然延误的原因。
事实证明,香港节点的负载在第五跳时增加了9 9 %,这使得紧随其后的所有节点都变慢了。
还有一点,当你看到延迟突然从5 ms增加到5 00ms时,其实很有可能是通过了国际光缆或者拥堵的交换机。
还有一个非常重要的细节。
例如,使用traceroute -I 进行跟踪,发现缺少某一跳。
可能会出现对方网络阻塞了UDP数据包的情况,但是可以使用ICMP绕过这种情况。

一开始我以为Traceroute只能看到路径,后来发现不对。
使用-q参数指定每个节点发送5 个数据包,可以帮助你过滤掉那些爱丢包。
等等,还有一件事。
有些公司内网策略会使用traceroute的输出进行路由,所以你看到的路径可能不是最优的。
需要与真实的业务场景相结合。

建议大家尝试使用traceroute -n -m5 -q3 直接查找问题,不要被那些花哨的域名解析耽误时间。

Linux系统-详解 traceroute 命令(三十)

这是一个陷阱。
Traceroute 并不适合所有网络环境。
中国的网络环境导致无法准确追踪流量。

Linuxtraceroute命令详解和使用例子追踪路由信息

你是对的。