Linux 路由追踪
介绍
在日常使用计算机与互联网时,我们经常会遇到网络延迟高、连接失败等问题。这时,我们需要使用路由追踪工具来诊断网络连接的问题。在Linux系统下,我们可以使用traceroute
或mtr
命令来进行路由追踪。本文将详细介绍如何使用这两个命令来诊断网络连接的问题。
什么是路由追踪
路由追踪(Routing Trace)是指追踪数据包在网络中经过的路由器路径。当我们访问一个网站或者与服务器建立连接时,我们的请求数据包需要通过多个路由器进行转发,最终到达目标主机。路由追踪工具可以帮助我们查看数据包在网络中的经过的路径,从而判断网络中的延迟问题或连接失败的原因。
使用traceroute命令
安装traceroute
在大部分Linux系统中,traceroute
命令已经预装,我们可以直接使用。如果没有安装,我们可以通过以下命令安装:
# Debian和Ubuntu系统
sudo apt-get install traceroute
# Fedora系统
sudo dnf install traceroute
基本用法
traceroute
命令的基本用法如下:
traceroute [选项] 目标主机名或IP地址
例如,我们想要追踪到达example.com
的路由路径,可以执行以下命令:
traceroute example.com
追踪结果解析
traceroute
命令的输出包含了从本机到目标主机的每个路由器的IP地址和延迟信息。例如:
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.252 ms 1.439 ms 1.965 ms
2 10.10.0.1 (10.10.0.1) 5.672 ms 5.594 ms 5.732 ms
3 203.208.191.14 (203.208.191.14) 6.220 ms 6.227 ms 6.218 ms
4 203.208.191.129 (203.208.191.129) 7.021 ms 7.018 ms 6.906 ms
5 202.2.174.10 (202.2.174.10) 201.585 ms 201.550 ms 201.530 ms
......
每一行表示网络中的一个跳跃点,包含了第几跳(hop)的信息,该跳跃点的IP地址以及三次向该跳跃点发送数据包所需的平均延迟时间。我们可以根据这些信息来诊断网络连接的问题。
选项
traceroute
命令还有一些可选项可以调整其行为。以下是一些常用的选项:
-n
:使用IP地址而不是域名来显示路由器的地址。-q n
:设置每一跳发送数据包的数量,默认为3。-max-hops n
:设置最大跳跃数,默认为30。-w n
:设置等待每个跳跃的超时时间(以毫秒为单位),默认为5秒。
使用mtr命令
安装mtr
在大部分Linux系统中,mtr
命令已经预装,我们可以直接使用。如果没有安装,我们可以通过以下命令安装:
# Debian和Ubuntu系统
sudo apt-get install mtr
# Fedora系统
sudo dnf install mtr
基本用法
mtr
命令的基本用法如下:
mtr [选项] 目标主机名或IP地址
例如,我们想要追踪到达example.com
的路由路径,可以执行以下命令:
mtr example.com
追踪结果解析
mtr
命令的输出与traceroute
类似,但有一些区别。mtr
会持续地输出路由追踪结果,以便我们可以实时查看网络连接的情况。例如:
Start: Wed Dec 1 10:37:06 2021
HOST: myhost Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 10 1.2 1.5 1.1 2.5 0.4
2. 10.10.0.1 0.0% 10 5.6 5.8 5.6 6.1 0.2
......
每一行表示网络中的一个跳跃点,包含了该跳跃点的IP地址以及数据包的丢失率、发送数据包的数量、最后一个数据包的延迟时间、平均延迟时间、最佳延迟时间、最差延迟时间和延迟时间的标准偏差。
选项
mtr
命令还有一些可选项可以调整其行为。以下是一些常用的选项:
-n
:使用IP地址而不是域名来显示路由器的地址。-c n
:设置每一跳发送数据包的数量,默认为10。-r
:将追踪应答的IP地址显示成域名。-w
:设置等待每个跳跃的超时时间(以秒为单位),默认为0.5秒。
结论
路由追踪工具是诊断网络连接问题的有力工具。通过使用traceroute
和mtr
命令,我们可以追踪到达目标主机的具体路由路径,并分析延迟和丢包情况。这些工具可以帮助我们找到网络连接的瓶颈,提高网络连接的稳定性和速度。