Traceroute是Linux操作系统中的命令工具,可用于查看网络数据包的路由。Traceroute可以帮助确定网络数据包传输的质量好坏,同时对于排除缓慢的网络连接故障也很有用。
在租用美国服务器的时候,很多站长都会利用Traceroute命令来检测该服务器经过的路由节点,以此来大致判断访问速度的快与慢。本文将简单介绍如何在Linux操作系统之中运行Traceroute命令。
关于Traceroute
Traceroute通过将数据包发送到目标计算机、服务器或网站并记录数据包通过的任何中间步骤来工作。Traceroute命令输出将是数据包通过的IP地址和域名。这些条目还显示了数据包到达每个目的地所花费的时间。这可以解释为什么某些网站的访问时间可能比其他网站更长,因为流量跳跃的次数可能会有所不同。
Traceroute对映射本地网络也很有用。运行该工具时,可以深入了解本地网络的拓扑和连接。
请注意,在使用Traceroute明细时,某些设备可能无法很好地交互。这可能是由于路由器故障,ISP限制ICMP消息速率,配置为不发送ICMP数据包(以防止分布式DoS攻击)的设备等,而某些网络还配置为阻止Traceroute请求。
安装Traceroute
Traceroute是一个功能强大的网络管理工具,可用于所有Linux发行版。下面提供的是在各种发行版上安装Traceroute的命令的简短列表。
对于Centos各个版本:
yum install traceroute -y
对于Debian / Ubuntu及其衍生产品:
$ sudo apt install traceroute -y
对于Fedora及其衍生产品:
$ sudo dnf install traceroute
对于openSUSE,SUSE Linux和衍生产品:
$ sudo zypper in traceroute
对于Arch Linux及其衍生版本:
$ sudo pacman -S traceroute
使用Traceroute
下面将简单说明如何在Linux系统上使用Traceroute命令。
基本用法
使用Traceroute的主要方法非常简单,所有Traceroute命令需要的是执行探测的目的地,目的地可以是域名或IP地址。
探测域名命令:
$ traceroute idccoupon.com
探测IP地址命令:
$ traceroute 8.8.8.8
注意:如果将网络设置为阻止traceroute信号,则此探测返回的数据将用星号表示。
IPv4或IPv6
默认情况下,Traceroute命令将使用系统配置的默认Internet协议。因此要手动设置IP版本,请遵循以下步骤。
要告诉Traceroute使用IPv4地址,请使用“ -4”标志,例如:
$ traceroute -4 idccoupon.com
要告诉Traceroute使用IPv6地址,请使用“ -6”标志:
$ traceroute -6 idccoupon.com
测试端口
如果需要测试特定端口,则可以使用“ -p”标志指定该端口。对于UDP跟踪,Traceroute将以给定值开始,并随每个探测而增加。对于ICMP跟踪,该值将确定初始ICMP序列值。对于TCP和其他端口,这将是要连接的固定目标端口。
$ traceroute -p <port> 192.168.0.1
隐藏设备名称
在某些情况下,输出中的设备名称可能会使输出看起来混乱。为了更清楚浏览,可以从输出中隐藏设备名称。为此,请使用“ -n”(无映射)标志:
$ traceroute -n idccoupon.com
Traceroute超时限制
默认情况下,Traceroute等待5秒钟以接收响应。在某些情况下,如果希望将等待时间更改为大于或小于5秒。为此,请使用“ -w”标志。请注意,时间值是浮点数,例如以下设置为6秒:
$ traceroute -w 6.0 idccoupon.com
探测方法
可以使用多种方法来探测远程地址,要指定跟踪路由以使用ICMP回显,请使用“ -I”标志:
$ traceroute -I idccoupon.com
要使用TCP SYN进行探测,请使用“ -T”标志:
$ sudo traceroute -T idccoupon.com
设置最大跳数
默认情况下,Traceroute将跟踪30个跃点。Traceroute提供了手动设置要跟踪的跳数的功能。
使用带有跳数的“ -m”标志:
$ traceroute -I -m 10 idccoupon.com
指定接口
如果有多个网络接口连接到计算机,则可能有助于指定要用于发送数据包的网络接口。要指定网络接口,请使用“ -i”标志:
$ sudo traceroute -i enp0s3 idccoupon.com
通过网关路由数据包
要通过某个网关路由数据包,请使用“ -g”选项,然后是网关:
$ traceroute -I -g 192.168.0.1 idccoupon.com
Traceroute帮助页面
上面的演示只是traceroute的一些常用用法,还有更多功能可供使用。要获得快速帮助,请使用以下命令打开traceroute帮助页面:
$ traceroute –help
有关所有可用Traceroute选项,请使用以下命令检出手册指南页面:
$ man traceroute
结论
Traceroute是用于网络诊断的功能强大的工具,它支持许多选项。当然,掌握Traceroute可能需要一些时间和实践,而本文中所例举的几个Traceroute参数,基本上都是在平时管理Linux服务器时经常需要用到的。
当然,在使用Linux服务器时,还有更多类似Traceroute工具,这个就需要大家自行多花一些时间去了解和熟悉。