Linux 中的 traceroute 命令

traceroute command 是一种网络诊断工具,用于跟踪数据包到达最终目的地的路径。 它的用途之一是找出连接滞后的原因。 它最初是由 Van Jacobson 编写的。 几乎所有的现代操作系统都有一个或另一个版本的 traceroute 安装。

如何在 Linux 上安装 traceroute?

如果你没有 traceroute 包已经安装在你的系统上,使用你的默认包管理器来安装它。

对于基于 Ubuntu/Debian 的操作系统,请执行以下操作 apt 命令sudo

sudo apt install traceroute 

对于基于 CentOS/RedHat 的操作系统,请执行以下操作 yum 命令sudo

sudo yum install traceroute 

一旦你有了 traceroute 安装在您的系统上,我们可以继续学习它的用法。

句法

的语法 traceroute 命令:

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,...][-i device] [-m max_ttl] [-p port] [-s src_addr] [-q nqueries] [-N squeries] [-t tos] [-l flow_label] [-w waittime] [-z sendwait] [-UL] [-P proto] [--sport=port] [-M method] [-O mod_options] [--mtu] [--back] host [packet_len] 

traceroute6 命令用于 IPv6,等效于 traceroute -6 命令。

使用跟踪路由

一个简单的跟踪路由显示从您的网络到目标网络的跃点以及连接中使用的网关。

traceroute google.com 
简单的 traceroute 命令输出

从输出 traceroute 在上图中,我们可以看到从我们的系统到 google.com 的网关数量和中间的跃点数

同样,对于 IPv6 使用 traceroute6 或者 traceroute -6 命令。

指定可以使用 traceroute 进行的最大跃点数

在里面 traceroute 命令,您可以使用 -m 选项。 最大跃点数的默认值为 30。

traceroute -m 4 google.com 
traceroute 命令具有可以进行的最大跳数

使用 traceroute 设置每跳探测数据包的数量

设置每跳探测数据包的数量 traceroute, 这 -q 选项被使用。 每跳的默认探测数据包数为 3。

traceroute -q 5 google.com 
带有每跳探测数据包数的 Traceroute 命令traceroute 命令,每跳包含多个探测数据包

从上图中的traceroute命令的输出中,我们可以看到一个星号

某些地方的符号。 星号表示没有收到响应探测包的响应。

在 traceroute 命令中设置探测包的大小 traceroute 设置探测包的大小

traceroute google.com 128 
命令,在语法中在主机后指定探测包的大小。 探测包的默认大小为 60 字节。具有特定探测包大小的 traceroute 命令

具有特定探测包大小的 traceroute 命令

traceroute 指定要在 traceroute 命令中启动的 TTL 使用 TTL(生存时间)来查找目的地和中间的跃点。 默认的 TTL 设置为从 1 开始。但是您可以在 option 的帮助下指定 TTL 开始 -F

traceroute -f 7 google.com 
在 traceroute 命令中。在 Traceroute 命令中开始的 TTL

在 traceroute 命令中启动的 TTL

定义要在 traceroute 命令中使用的端口 -p

traceroute -p 443 google.com 
option 用于在 traceroute 命令中定义端口。在 Traceroute 命令中指定端口 1

在 traceroute 命令中指定端口

traceroute 帮助命令 traceroute 打开

traceroute --help 
帮助页面,执行:traceroute 帮助命令

traceroute 帮助命令

traceroute 结论

是一个方便的网络诊断工具。 它以一种或另一种形式存在于几乎所有现代操作系统中。 它适用于所有流行的 Linux 发行版。

感谢您的阅读!