Linux如何使用traceroute分析网络路径

嘿嘿,我们来说一下Linux下的traceroute工具。
这在解决网络问题时非常有用。
我在问答论坛上呆了这么多年,见过很多使用traceroute来排查网络问题的案例。

首先我们来说说如何安装traceroute。
说实话,不同的Linux发行版有不同的安装方法。
例如,在 Ubuntu/Debian 系统上,您只需运行 sudo apt install tr​​aceroute 即可。
对于 CentOS/RHEL 系统,您应该使用 sudo yum install tr​​aceroute(CentOS 7 或更早版本)或 sudo dnf install tr​​aceroute(CentOS 8 +/RHEL 8 +)。
openSUSE系统更简单一点,只需sudo zypper install tr​​aceroute即可。

使用起来也很简单。
只需在终端中直接输入traceroute example.com,就会显示从您到目标主机的数据包数据路径。
比如我之前遇到过一次,输出是这样的:
1 1 9 2 .1 6 8 .1 .1 (1 9 2 .1 6 8 .1 .1 ) 1 .2 毫秒 1 .0 毫秒 1 .1 毫秒 2 1 0.1 0.0.1 (1 0.1 0.0.1 ) 5 .4 毫秒 5 .3 毫秒 5 .5 毫秒 3 2 03 .0.1 1 3 .4 5 (2 03 .0.1 1 3 .4 5 ) 1 2 .7 毫秒 1 2 .8 毫秒 1 2 .6 毫秒 ...
每行代表一个跳数,表示路由器的 IP 和响应时间。
请记住,响应时间的单位是毫秒。

有时,您可能需要根据需要调整设置。
例如,如果要使用ICMP协议,则添加-I参数;如果要使用TCP SYN数据包,请添加-T;如果要指定端口,只需 -p 后跟端口号。

我之前遇到了一个问题,需要快速找到8 .8 .8 .8 的路径,所以我这样做了:traceroute -n -m 2 0 -q 2 8 .8 .8 .8
分析结果时,有几个关键信息需要注意。
例如,如果您看到连续,则可能意味着该跃点没有响应;如果延迟突然增加,可能存在拥塞或连接质量差;如果路径异常,可能是路由配置不正确。

当然,使用traceroute时也有一些需要注意的地方。
例如,普通用户可以直接运行它,但某些选项可能需要 sudo 权限。
此外,某些环境可能会阻止发现数据包,从而导致结果不完整。

总之,traceroute是一个强大的工具,可以帮助您快速找到网络瓶颈。
结合ping、mtr等工具,可以更广泛地分析问题。
我个人的经验是,通过多次测试并比较结果,往往可以找到问题的根源。

linux路由跟踪工具是什么-traceroute命令使用与实例

记得有一次,我在公司网络部工作的时候,那天突然公司的服务器出现了访问速度非常慢的问题。
我们怀疑网络路由有问题,所以决定使用traceroute来检查。
我打开终端,输入“traceroute www.google.com”,然后按 Enter。
我看到屏幕上弹出一排排数据,每个IP地址后面都有一个延迟时间。

那是下午三点钟。
我站在办公室的窗边,看着窗外的城市,心里想着,这些数据的背后,是无数的数据包在网络的海洋中穿行,每一跳都可能成为速度瓶颈。
我注意到,当数据包经过我们公司的路由器时,延迟突然增加到5 0毫秒,而之前的路由器的延迟约为2 0毫秒。

通过这次搜索我意识到问题可能出在这个路由器本身。
我立即通知网络部门的同事,他们开始对路由器进行故障排除,最终发现由于配置错误,数据包长时间卡在这里。

等等,我突然想到,如果我们使用traceroute的“-m”参数来限制最大跳数,我们可以更快地发现问题。
不过,这也让我想到,如果我们每次遇到网络问题时都能有针对性地使用这些工具,是不是能够更快地解决问题呢?