Linux的traceroute v命令使用教程 (traceroute -v linux)

Linux系统下的traceroute v命令是一种网络诊断工具,它用于跟踪数据包在网络中的路由路径,可以用来识别网络故障、网络的瓶颈以及网络路径的变化。本文将详细介绍Linux的traceroute v命令的使用方法。

一、如何使用traceroute v命令

Linux系统下的traceroute v命令的格式如下:

traceroute [-46FIldnrv] [-f first_ttl] [-g gate,…] [-i device] [-m max_ttl] [-p port] [-s src_addr] [-t tos] [-w max_wt] [-q nqueries] [-z pausemsecs] host [probe_packetsize]

其中,host表示目标主机的IP地址或者域名。

在使用traceroute v命令时,我们可以使用以下参数:

-46:指定IP版本,4表示IPv4,6表示IPv6。

-F:指定初始TTL值,一般默认值是1。

-I:在traceroute中使用ICMP协议发送数据包,而不是UDP协议。在一些防火墙设置比较严格的情况下,使用ICMP协议比UDP协议更容易通过。

-d:使用SO_DEBUG选项启用调试模式,输出详细的调试信息。

-n:不尝试将IP地址解析为主机名,直接输出IP地址。

-r:使用路由跟踪,如果传输过程中存在重复的路由或者路由环路,就会导致掉包或者网络不通。

-v:输出详细的调试信息。

除了这些参数外,traceroute v命令还有一些常用的选项,如下表所示:

选项 描述

-f first_ttl 指定初始TTL值,一般默认值是1。

-g gate,… 指定传输过程中经过的网关。

-m max_ttl 指定更大TTL值。

-p port 指定发送数据包的端口号。

-s src_addr 指定源IP地址。

-t tos 指定服务类型(TOS)字段的值。

-w max_wt 指定发出探查包后,等待响应的更大时间。

-q nqueries 指定发出的探测包数量。

-z pausemsecs 指定发送探测包之间的间隔时间。

二、traceroute v命令的使用方法

下面,我们将从以下三个方面介绍traceroute v命令的使用方法:

1. 使用traceroute v命令查看目标主机的路由路径

我们来看一下如何使用traceroute v命令查看目标主机的路由路径。在终端中输入以下命令:

traceroute -n www.bdu.com

其中,-n参数表示不进行IP地址解析,直接输出IP地址;www.bdu.com是实际的域名或者IP地址。

执行完以上命令后,系统会自动开始运行traceroute v命令,显示出到目标主机(百度服务器)的路由路径和相关信息。如图所示:

图1. traceroute v命令查看目标主机的路由路径

从图1可以看出,traceroute v命令输出了到目标主机(百度服务器)的路由路径。该路由路径中,经过了13个节点(hops),最终到达了目标主机。每个节点的信息包括节点的IP地址,TTL值(TTL=1表示到达该节点需要经过一个路由器),以及该节点的反应时间(RTT)/延迟(delay)。

2. traceroute v命令的部分参数

接下来,我们来看一下traceroute v命令常用的一些参数。

(1) 使用-f参数设置初始TTL值

在默认情况下,traceroute v命令的初始TTL值是1,也就是说,数据包发出后只能到达相邻的路由设备,在后面的路由设备上就会被丢弃。如果我们想要探测更远的路由路径,就需要使用-f参数来设置初始TTL值。在终端中输入以下命令:

traceroute -n -f 10 www.bdu.com

该命令的含义为:设置traceroute v命令的初始TTL值为10,然后探测到目标主机(百度服务器)的路由路径。运行此命令后,我们可以得到如下结果:

图2. traceroute v命令使用-f参数设置初始TTL值

如图2所示,我们可以看到,在设置了-f参数之后,traceroute v命令探测到了12个节点,其中大部分节点需要越过多条网络链路才能到达。

(2) 使用-m参数设置更大TTL值

除了-f参数外,还有一个常用的参数是-m参数。它用于设置traceroute v命令探测的更大跳数。在终端中输入以下命令:

traceroute -n -m 20 www.bdu.com

该命令的含义为:设置traceroute v命令的更大跳数为20,然后探测到目标主机(百度服务器)的路由路径。运行此命令后,我们可以得到如下结果:

图3. traceroute v命令使用-m参数设置更大TTL值

如图3所示,我们可以看到,在设置了-m参数之后,traceroute v命令探测到了21个节点,其中有些节点的TTL值高达20,说明这些节点距离目标主机有20个路由器的距离。

3. traceroute v命令的高级使用

除了上述基本用法和参数外,traceroute v命令还支持更多高级用法,如以下几个示例所示:

(1) 使用-c参数指定发送探测包的数量

在默认情况下,traceroute v命令会发送3个探测包,可以通过使用-c参数来设置要发送的探测包数量。在终端中输入以下命令:

traceroute -n -c 5 www.bdu.com

该命令的含义为:设置traceroute v命令发送5个探测包,然后探测到目标主机(百度服务器)的路由路径。运行此命令后,我们可以得到如下结果:

图4. traceroute v命令使用-c参数指定发送探测包的数量

如图4所示,我们可以看到,在设置了-c参数之后,traceroute v命令发送了5个探测包,每个节点的响应时间都有所变化。

(2) 使用-p参数定义UDP端口号

在默认情况下,traceroute v命令使用的是不受限制的UDP端口号,但我们也可以使用-p参数指定UDP端口号。在终端中输入以下命令:

traceroute -n -p 80 www.bdu.com

该命令的含义为:使用traceroute v命令以HTTP的方式运行,然后探测到目标主机(百度服务器)的路由路径。运行此命令后,我们可以得到如下结果:

图5. traceroute v命令使用-p参数定义UDP端口号

如图5所示,我们可以看到,在使用-p参数后,traceroute v命令发送的探测包的端口号为80。

(3) 使用-t参数设置服务类型(TOS)

traceroute v命令还支持使用-t参数来设置服务类型(TOS)字段的值。在终端中输入以下命令:

traceroute -n -t 80 www.bdu.com

该命令的含义为:使用traceroute v命令将探测包标记为比一般UDP/TCP数据包优先级更高的服务类型,然后探测到目标主机(百度服务器)的路由路径。运行此命令后,我们可以得到如下结果:

图6. traceroute v命令使用-t参数设置服务类型(TOS)

如图6所示,我们可以看到,在使用-t参数后,traceroute v命令探测包的服务类型字段设置为80。

(4) 使用-r参数进行路由跟踪

在默认情况下,traceroute v命令只会显示不同的TTL值所到达的路由设备,但不会给出路由设备的重复性和环路信息。当使用-r参数时,traceroute v命令将输出到目标主机的完整路由信息。在终端中输入以下命令:

traceroute -n -r www.bdu.com

该命令的含义为:使用traceroute v命令进行路由跟踪,并尝试找出到目标主机的所有可能距离最短的路径。运行此命令后,我们可以得到如下结果:

图7. traceroute v命令使用-r参数进行路由跟踪

如图7所示,我们可以看到,traceroute v命令的输出结果中,每一行都有路由设备的IP地址和反应时间(RTT)/延迟(delay),中间用星号*隔开。当路径存在重复路由器时,中间会插入重复的IP地址。

三、

Linux的traceroute v命令是一种非常实用的网络诊断工具,可以用来跟踪网络数据包在网络中的路由路径,识别网络故障以及寻找网络路径的变化。在实际使用过程中,我们可以根据需要设置相关参数,如设置初始TTL值、更大TTL值、探测包数量、UDP端口号等,以及进行路由跟踪操作。希望本文介绍的traceroute v命令的使用方法能够对读者在实际的网络诊断中有所帮助。

相关问题拓展阅读:

linux为了确定网络层经过的路由器数目应用什么命令

用traceroute IP地址 这个命令才对。tracert是windows上用的。

Tracert为路由跟踪程序,用于确定本地主机到目标主机经过哪些路由结点。在Linux操作系统中,对应的命令为Traceroute,tracert为windows系统下的命令。Tracert是利用ICMP和TTL进行工作的。首先tracert会发出TTL值为1的ICMP数据报(包含40个字节,包括源地址、目标地址和发出的时间标签,一般会连续发3个包)。当到达路径上的之一个路由器时,路由器会将TTL值减1,此时TTL值变成0,该路由器会将此数据报丢弃,并返回一个超时回应数据报(包括数据报的源地址、内容和路由器的IP地址)。当

tracert收到该数据报时,它便获得了这个路径上的之一个路由器的地址。接着,tracert再发送另一个TTL为2的数据报,之一个路由器会将此数据报转发给第二个路由器,而第二个路由器收到数据报时,TTL为0。第二个路由器便会返回一个超时回应数据报,从而tracert便获得了第二个路由器的地址。Tracert每次发出数据报时便会将TTL加1(一般每次都是发3个数据报),来发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。当数据报到达目的地后,目标主机并不返回超时回应数据报。Tracert在发送数据报时,会选择一个一般应用程序不会使用的号码(30000以上)来作为接收端口号,所以当到达目的地后,目标主机会返回一个ICMP port unreachable(端口不可达)的消息。当tracert收到这个消息后,就知道目的地已经到达了。

Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析(用-d参数表示不解析主机名,解析主机名会耽误一些时间),然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。Tracert有一个固定的等待响应时间,如果这个时间过了,tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。

通过tracert命令,我们便知道源地址到目的地址所经过的路径。虽然数据报传输时,经过的路径并不是每次都一样,但是大部分时间是一样的。在目标主机响应时,tracert会显示完整的经过的理由以及到每个路由所花费的时间。如果目标主机没有响应,tracert仍会尝试寻找所经过的路径。

B.Tracert结果的实际意义

网络不稳定时,可以看出具体哪些结点不稳定,以及不稳定的结点的上一个结点和下一个结点分别是在什么位置,由此即可大致判断出不稳定的网络结点在什么位

置。我们可以通过查询IP地址的网站如

(查国外IP比较准)或者ip138.com(查国内IP比

较准)查询下相应结点的位置。

tracert命令参数说明

重点掌握-d参数即可,它表示不解析IP对应的主机名。

-d 指定不将IP解析到主机名,运行更快

-h maximum_hop 指定更大跃点数

tracert

tracert是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

traceroute

www.baidu.com

不明白的可以man traceroute

traceroute

比如

traceroute

www.sin.cn

linux查询网关的命令是什么

你盯迅汪觉得命令不可靠,那就直接看配置文件得了凯仔。昌橡 rhel : /etc/sysconfig/network

1.cat /etc/resolv.conf (看DNS)

2.netstat –r

3.cat /etc/sysconfig/network(Ubuntu10.04不行)咐孙

4.cat /etc/sysconfig/network-scripts/ifcfg-eth0(衡敏链Ubuntu10.04不行)

5.traceroute 之一行就是自己的网关拿腊

6.ip route show

7.route -n

以上几个是比较常用的查询网关的命令

traceroute -v linux的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于traceroute -v linux,Linux的traceroute v命令使用教程,linux为了确定网络层经过的路由器数目应用什么命令,linux查询网关的命令是什么的信息别忘了在本站进行查找喔。


数据运维技术 » Linux的traceroute v命令使用教程 (traceroute -v linux)