如何在 Linux 中运行 Traceroute
Traceroute 是 Linux 中的一个工具,可让您调查网络数据包的路由。它可以帮助您识别网络数据包旅程的限制因素。 Traceroute 对于解决网络连接缓慢的问题也很有用。本指南向您展示如何在 Linux 中运行跟踪路由。
关于路由跟踪
Traceroute 的工作原理是将数据包发送到目标计算机、服务器或网站,并记录数据包传输的任何中间步骤。 Traceroute 命令的输出将是数据包所经过的 IP 地址和域名。这些条目还显示数据包到达每个目的地所需的时间。这可以解释为什么某些网站可能比其他网站加载时间更长,因为流量跃点的数量可能会有所不同。
Traceroute 对于映射本地网络也很有用。运行该工具时可以深入了解本地网络的拓扑和连接。
请注意,使用 Traceroute 时,某些设备可能无法很好地交互。这可能是由于路由器被窃听、ISP 对 ICMP 消息进行速率限制、设备配置为不发送 ICMP 数据包(以防止分布式 DoS 攻击)等。某些网络还配置为阻止跟踪路由请求。
安装路由跟踪
Traceroute 是一个功能强大的工具,适用于所有 Linux 发行版。下面提供了在各种发行版上安装 Traceroute 的命令的简短列表。
对于 Debian/Ubuntu 及其衍生产品:
对于 Fedora 及其衍生产品:
对于 openSUSE、SUSE Linux 及其衍生产品:
对于 Arch Linux 及其衍生版本:
使用跟踪路由
以下部分向您展示如何在 Linux 系统上使用 Traceroute。
基本用法
使用traceroute 的主要方法非常简单。 Traceroute 所需要的只是执行探测的目的地。目标可以是域或 IP 地址。
如果网络配置为阻止跟踪路由信号,则该探测将用星号表示。
IPv4 或 IPv6
默认情况下,traceroute 将使用系统配置的默认 Internet 协议。要手动设置 IP 版本,请按照以下步骤操作。
要告诉 Traceroute 使用 IPv4,请使用“-4”标志:
要告诉 Traceroute 使用 IPv6,请使用“-6”标志:
测试端口
如果需要测试特定端口,可以使用“-p”标志指定该端口。对于 UDP 跟踪,traceroute 将以给定值开始,并随着每次探测而增加。对于 ICMP 跟踪,该值将确定初始 ICMP 序列值。对于 TCP 和其他协议,这将是要连接的恒定目标端口。
隐藏设备名称
在某些情况下,输出中的设备名称可能会使输出看起来很混乱。为了更加清晰,您可以在输出中隐藏设备名称。为此,请使用“-n”(无映射)标志:
跟踪路由超时限制
默认情况下,traceroute 等待 5 秒才能收到响应。在某些情况下,您可能需要将等待时间更改为大于或小于 5 秒。为此,请使用“-w”标志。请注意,时间值是浮点数。
探测方法
您可以使用多种方法来探测远程地址。要指定 Traceroute 使用 ICMP echo,请使用“-I”标志:
要使用 TCP SYN 进行探测,请使用“-T”标志:
设置最大跳数
默认情况下,traceroute 将跟踪 30 跳。 Traceroute 提供了手动设置要跟踪的跳数的功能。
使用“-m”标志和跳数:
指定接口
如果有多个网络接口连接到计算机,则指定用于发送数据包的网络接口可能会有所帮助。要指定网络接口,请使用“-i”标志:
定义跃点的查询数
要定义跃点的查询数量,请使用“-q”标志指定该数量:
通过网关路由数据包
要通过某个网关路由数据包,请使用“-g”选项,后跟网关:
跟踪路由帮助页面
以上演示只是traceroute的一些常见用法,还有更多功能供您使用。要获得快速帮助,请使用以下命令打开traceroute帮助页面:
有关所有可用跟踪路由选项的更完整、更深入的指南,请使用以下命令查看手册页:
结论
Traceroute 是用于网络诊断的强大工具,它支持大量选项。掌握跟踪路由可能需要一些时间和练习。使用此工具时,您经常会采用本文中描述的方法。
还有更多像traceroute 这样的工具。如果您想在 GUI 中使用类似的工具,请查看 Zenmap 来扫描网络。 Zenmap 是另一种流行的网络扫描仪 Nmap 的 GUI 前端。
快乐计算!