
Linux 显示数据包到主机间的路径
当我们在网络中发送数据包时,这些数据包需要经过多个主机进行路由,才能到达目的地主机。我们可以通过使用 traceroute
命令在 Linux 系统上显示数据包到主机间的路径。
1. 安装 traceroute
在大多数 Linux 发行版中,traceroute 已经默认安装。如果你的系统上没有 traceroute,请在终端中输入以下命令进行安装:
sudo apt-get install traceroute # Debian 和 Ubuntu 系统
sudo yum install traceroute # CentOS 和 Fedora 系统
sudo pacman -S traceroute # Arch Linux 系统
2. 使用 traceroute 命令
使用 traceroute 命令非常简单。在终端中输入以下命令并指定远程主机的 IP 地址或主机名:
traceroute example.com
你也可以指定其他选项来控制 traceroute 的输出。例如,使用 -I
选项强制使用 ICMP 协议:
traceroute -I example.com
使用 -n
选项可以防止将 IP 地址解析为主机名,从而加快输出速度:
traceroute -n example.com
3. 解读 traceroute 输出
当你运行 traceroute 命令后,会输出类似以下的结果:
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 3.060 ms 3.232 ms 3.407 ms
2 10.50.1.1 (10.50.1.1) 6.036 ms 5.527 ms 5.997 ms
3 58.62.244.1 (58.62.244.1) 57.684 ms 58.515 ms 70.799 ms
4 120.80.3.134 (120.80.3.134) 48.799 ms 24.975 ms 38.709 ms
5 120.80.0.250 (120.80.0.250) 28.516 ms 28.575 ms 29.194 ms
6 120.80.1.149 (120.80.1.149) 28.536 ms 28.839 ms 28.875 ms
7 120.80.0.202 (120.80.0.202) 29.267 ms 28.311 ms 32.713 ms
8 202.97.65.221 (202.97.65.221) 32.757 ms 35.028 ms 29.099 ms
9 202.97.12.142 (202.97.12.142) 34.135 ms 38.191 ms 70.597 ms
10 202.97.62.185 (202.97.62.185) 47.260 ms 38.537 ms 46.723 ms
11 62.115.146.133 (62.115.146.133) 174.994 ms 201.926 ms 201.510 ms
12 62.115.114.221 (62.115.114.221) 198.792 ms 198.070 ms 197.945 ms
13 62.115.117.34 (62.115.117.34) 197.540 ms 197.889 ms 197.617 ms
14 93.184.216.34 (93.184.216.34) 197.471 ms 200.115 ms 199.341 ms
输出中的数字表示每个数据包从源到目的地经过的路由器数量。
第一行中的 30 表示 traceroute 命令会使用最多 30 个路由器进行路由。如果在这 30 个路由器内没有到达目标主机,traceroute 命令将停止。
每一行都显示了到达目标主机的路径上的一个路由器 IP 地址或主机名。第一列是路由器的序号,表示数据包通过的第几个路由器。例如,第一行中的数字 1 表示数据包通过的第一个路由器。
第二列是路由器的 IP 地址或主机名。后面的三列显示了到达该路由器的三个数据包的往返延迟时间。时间单位为毫秒。
4. 总结
traceroute 命令是一个非常有用的应用程序,它可以帮助我们了解数据包从源到目的地经过的路由。通过解读 traceroute 的输出,可以帮助我们诊断网络问题并协助处理故障。

暂无评论内容