快速排除故障命令除了 ping 还有 tracert

简介: 快速排除故障命令除了 ping 还有 tracert

Tracert简介

Tracert是测试报文从发送端到目的地所经过的路由的方法。它能够直观展现报文在转发的时候所经过的路径。

Tracert基于ICMP协议来实现的。当网络出现故障时,用户可以使用Tracert确定出现故障的网络节点。

Tracert实现微信图片_20210921235348.png过程


Tracert的实现如上图1所示,Tracert的工作流程为:

(1)源端(SwitchA)向目的端(日志主机)发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。

(2)第一跳(SwitchB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时(TimeExceeded)报文(该报文中含有第一跳的IP地址10.1.1.2),这样源端就得到了SwitchB的地址。

(3)源端收到SwitchB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。

(4)第二跳(SwitchC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了SwitchC的地址(10.1.2.2)。

(5)以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达(DestinationUnreachable)报文(该报文含有目的端的IP地址10.1.3.2)。

(6)源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.1.1.2;10.1.2.2;10.1.3.2)。

华为设备支持的Tracert命令

华为设备《命令参考》手册提供了详细的命令参数和使用方法。这里只列举了常用的参数,并对参数进行解释说明。

tracert[ -a source-ip-address | -f first-ttl | -m max-ttl | -p port | -qnqueries | -vpn-instance vpn-instance-name | -w timeout ] *host

-a:指定报文的源地址。如果不指定源地址,将采用出接口的IP地址作为Tracert报文发送的源地址。

-f:指定初始TTL。当经过的跳数小于此参数值,由于TTL字段的值大于0,经过的这几个节点不会返回ICMP超时报文给源主机。如果已经设置了max-ttl参数值,first-ttl的取值必须小于max-ttl。

-m:指定最大TTL。通常情况下,max-ttl的值被设置为经过站点的跳数。如果已经设置了first-ttl参数值,max-ttl的取值必须大于first-ttl。缺省情况下,最大TTL为30。

-p:指定目的主机的UDP端口号。如果不指定目的主机的UDP端口号,Tracert命令使用大于32768的随机的端口作为目标设备的接收报文端口。如果指定目的UDP端口号,需要避免采用对端已经开启的端口号,否则会导致Tracert失败。

-q:指定每次发送的UDP探测数据报文的个数。当网络质量不高时,可以增加发送探测数据报文的数目,保证探测报文能够到达目的节点。缺省情况下,每次发送三个UDP探测数据报文。

-w:等待响应报文的超时时间。当发送数据报文到达某网关超时,则输出“* ”。如果网络质量不高且速度很慢,建议增加发送数据报文的超时时间。缺省超时时间为5000毫秒。

host:可以是IP地址或域名,如果是域名会首先进行DNS解析,并显示解析后的IP地址。

电脑支持的Tracert命令

电脑上的Tracert功能与操作系统相关,这里以Windows操作系统为例。这里只列举了常用的参数,并对参数进行解释说明。

tracert[ -d | -h maximum_hops | -j host-list | -w timeout ] *host

-d:不解析主机名。

-h:指定最大TTL的数值。

-j:设定松散源地址路由列表。

-w:用于设置UDP报文的超时时间,单位为毫秒。

host:指定目的主机的域名或IP地址。

Tracert示例

<SwitchA>tracert 10.26.0.115
traceroute to10.26.0.115(10.26.0.115), max hops: 30 ,packet length: 40,pressCTRL_C to break
1 10.3.112.1  10 ms  10 ms  10 ms
2 10.32.216.1 19 ms  19 ms  19 ms
4 10.32.136.2319 ms  39 ms  39 ms
5 * * *
6 * * *
7 * * *
8 10.26.0.115  69 ms  79 ms  79 ms
目录
相关文章
|
2月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
47 1
|
15天前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
|
15天前
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
|
6月前
|
Python Windows
ping命令无法使用~弹出ping.py
ping命令无法使用~弹出ping.py
48 0
|
2月前
|
域名解析 网络协议 测试技术
Ping 命令是如何工作的?
【2月更文挑战第9天】
37 0
Ping 命令是如何工作的?
|
4月前
|
网络协议 网络架构
比较ping,tracert和pathping等命令之间的关系
比较ping,tracert和pathping等命令之间的关系
31 0
|
4月前
|
运维 网络协议 网络架构
百度搜索:蓝易云【比ping还好用的排障命令有哪些?】
这些命令可以提供更多详细的网络排障信息,帮助您诊断和解决网络问题。根据具体情况,您可以选择适当的命令来进行故障排查。请注意,使用这些命令可能需要适当的权限和网络访问权限。
47 0
|
5月前
|
网络协议 网络安全
百度搜索:蓝易云【你知道ping命令是如何工作的吗?】
需要注意的是,某些网络环境或目标主机的防火墙设置可能会禁止或过滤ICMP消息,导致ping命令无法正常工作或返回超时错误。
27 0
百度搜索:蓝易云【你知道ping命令是如何工作的吗?】
|
5月前
通过ping命令查询域名对应的ip信息
通过ping命令查询域名对应的ip信息
169 0
|
5月前
|
Linux Windows
linux(三)远程管理命令ping
Ping这个命令,还是比较熟悉的,每次域名访问出错的时候,或者想看域名绑定的IP具体是什么的时候,都会使用这个命令ping一下。当然,这是在windows系统上,也就是在我的本地。 Linux下的ping的命令和windows下ping的命令是有很大不同的。
83 0