Linux traceroute 命令及实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习 Linux 的 traceroute 命令,这是一个用于追踪到目标网络路径的网络诊断工具。你将首先确保系统上已安装 traceroute 命令,然后使用它来追踪到某个网站的网络路径,最后探索如何使用 traceroute 来排查网络问题。本实验涵盖了在实际环境中理解和利用 traceroute 命令的基本步骤。

traceroute 命令会向目标发送数据包,并显示数据包经过的路径以及每一跳所需的时间。这些信息对于识别网络问题和理解网络拓扑非常有价值。如果你的系统上未安装 traceroute 命令,你需要使用提供的命令进行安装。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ping("Network Testing") subgraph Lab Skills linux/netstat -.-> lab-422965{{"Linux traceroute 命令及实用示例"}} linux/ping -.-> lab-422965{{"Linux traceroute 命令及实用示例"}} end

traceroute 命令介绍

在本步骤中,你将学习 Linux 中的 traceroute 命令,这是一个用于追踪到目标网络路径的网络诊断工具。traceroute 命令会向目标发送数据包,并显示数据包经过的路径以及每一跳所需的时间。

首先,让我们检查你的系统上是否已安装 traceroute 命令。运行以下命令:

sudo apt-get update
sudo apt-get install -y traceroute

示例输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libc-ares2 libcap2 libpcap0.8 libssh2-1
Suggested packages:
  rarpd
The following NEW packages will be installed:
  libc-ares2 libcap2 libpcap0.8 libssh2-1 traceroute
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 155 kB of archives.
After this operation, 501 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...

现在你已经安装了 traceroute 命令,让我们尝试使用它来追踪到某个目标的网络路径。运行以下命令:

traceroute www.example.com

示例输出:

traceroute to www.example.com (93.184.216.34), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.109 ms  1.095 ms
 2  10.0.0.1 (10.0.0.1)  10.234 ms  10.221 ms  10.208 ms
 3  172.16.0.1 (172.16.0.1)  20.345 ms  20.332 ms  20.319 ms
 4  203.0.113.1 (203.0.113.1)  30.456 ms  30.443 ms  30.430 ms
 5  198.51.100.1 (198.51.100.1)  40.567 ms  40.554 ms  40.541 ms
 6  93.184.216.34 (93.184.216.34)  50.678 ms  50.665 ms  50.652 ms

输出显示了从你的系统到 www.example.com 网站的网络路径,包括每一跳的 IP 地址和响应时间。

traceroute 命令是排查网络问题的宝贵工具,因为它可以帮助你识别网络路径中可能出现问题的位置。

追踪到目标的网络路径

在本步骤中,你将学习如何使用 traceroute 命令追踪到目标的网络路径。

让我们从追踪到一个知名网站(例如 www.google.com)的路径开始:

traceroute www.google.com

示例输出:

traceroute to www.google.com (142.250.66.78), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.109 ms  1.095 ms
 2  10.0.0.1 (10.0.0.1)  10.234 ms  10.221 ms  10.208 ms
 3  172.16.0.1 (172.16.0.1)  20.345 ms  20.332 ms  20.319 ms
 4  203.0.113.1 (203.0.113.1)  30.456 ms  30.443 ms  30.430 ms
 5  198.51.100.1 (198.51.100.1)  40.567 ms  40.554 ms  40.541 ms
 6  142.250.66.78 (142.250.66.78)  50.678 ms  50.665 ms  50.652 ms

输出显示了从你的系统到 www.google.com 网站的网络路径,包括每一跳的 IP 地址和响应时间。

你也可以使用 traceroute 命令追踪到特定 IP 地址的路径:

traceroute 8.8.8.8

示例输出:

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.109 ms  1.095 ms
 2  10.0.0.1 (10.0.0.1)  10.234 ms  10.221 ms  10.208 ms
 3  172.16.0.1 (172.16.0.1)  20.345 ms  20.332 ms  20.319 ms
 4  203.0.113.1 (203.0.113.1)  30.456 ms  30.443 ms  30.430 ms
 5  8.8.8.8 (8.8.8.8)  40.567 ms  40.554 ms  40.541 ms

traceroute 命令是理解到目标的网络路径并识别潜在问题的宝贵工具。

使用 traceroute 排查网络问题

在本步骤中,你将学习如何使用 traceroute 命令排查网络问题。

假设你正在尝试访问一个网站,但遇到了连接缓慢或间歇性中断的问题。你可以使用 traceroute 命令来识别问题可能出现在网络路径中的哪个位置。

让我们尝试一个例子。运行以下命令来追踪到一个无法响应的网站的路径:

traceroute www.non-existent-website.com

示例输出:

traceroute to www.non-existent-website.com (192.0.2.1), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.109 ms  1.095 ms
 2  10.0.0.1 (10.0.0.1)  10.234 ms  10.221 ms  10.208 ms
 3  172.16.0.1 (172.16.0.1)  20.345 ms  20.332 ms  20.319 ms
 4  203.0.113.1 (203.0.113.1)  30.456 ms  30.443 ms  30.430 ms
 5  * * *

输出显示追踪在第四跳停止,后续的跳没有响应(用 * 符号表示)。这可能表明网络连接存在问题,或者防火墙阻止了流量。

你也可以使用 traceroute 命令来识别问题发生的具体跳。例如,如果你注意到某一跳的延迟很高,可以进一步调查该跳以确定问题的原因。

以下是一个使用 traceroute 识别慢速跳的示例:

traceroute www.example.com

示例输出:

traceroute to www.example.com (93.184.216.34), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.123 ms  1.109 ms  1.095 ms
 2  10.0.0.1 (10.0.0.1)  10.234 ms  10.221 ms  10.208 ms
 3  172.16.0.1 (172.16.0.1)  **100.345 ms**  **100.332 ms**  **100.319 ms**
 4  203.0.113.1 (203.0.113.1)  30.456 ms  30.443 ms  30.430 ms
 5  198.51.100.1 (198.51.100.1)  40.567 ms  40.554 ms  40.541 ms
 6  93.184.216.34 (93.184.216.34)  50.678 ms  50.665 ms  50.652 ms

在这个例子中,第三跳的延迟很高,这可能是网络路径中的一个潜在瓶颈。

traceroute 命令是排查网络问题和识别网络路径中潜在问题的宝贵工具。

总结

在本实验中,你学习了 Linux 中的 traceroute 命令,这是一个用于追踪到目标网络路径的网络诊断工具。你首先在系统上安装了 traceroute 命令,然后使用它来追踪到 www.example.com 网站的网络路径。traceroute 命令的输出显示了网络路径中每一跳的 IP 地址和响应时间。traceroute 命令是排查网络问题的宝贵工具,因为它可以帮助你识别网络路径中可能出现问题的位置。

Linux 命令速查表