网络工程师用好traceroute命令,追踪主机路由我不怕!(追踪网关命令)

网络工程师用好traceroute命令,追踪主机路由我不怕!你好,这里是网络技术联盟站,我是瑞哥。
Traceroute 是一种网络诊断工具,用于跟踪数据包在网络中从源到目的地的路径。它显示数据包

您好,这是网络技术联盟网站。我叫锐哥。

Traceroute 是一种网络诊断工具,可跟踪数据包通过网络从源到目的地的路径。它显示数据包经过的每个路由器(或“跃点”)的地址和响应时间。它可以帮助网络工程师排除网络故障、分析网络性能并了解网络拓扑。

根据您的操作系统,Traceroute 可能有不同的名称。例如,Windows 通常使用tracert 命令,而Linux 和macOS 使用traceroute 命令。尽管名称和一些实现细节有所不同,但基本功能和目的是相同的。

Traceroute的工作原理

Traceroute的工作原理是基于ICMP(互联网控制消息协议)或UDP(用户数据报协议)消息并使用TTL(生存时间)值来确定数据包所经过的每一跳。

发送初始数据包:Traceroute首先向目标主机发送TTL值为1的数据包。收到ICMP超时报文:当第一个中间路由器收到该报文时,将TTL值减1,并将TTL值更改为0。路由器丢弃该数据包并将ICMP“超时”消息发送回源地址。这样Traceroute 就知道该路由器的IP 地址。增加TTL值并继续发送数据包。 Traceroute 然后发送一个TTL 值为2 的数据包。当第二个路由器收到时,TTL值再次减1,丢弃该数据包,并返回另一条ICMP超时消息。这个过程持续进行,TTL值加1,直到数据包到达目标主机或达到预设的最大TTL值。目标主机响应:当数据包到达目标主机时,目标主机会响应特定的ICMP消息(通常是“端口不可达”),以表明Traceroute已完成路径追踪。

通过记录每个返回消息的源地址和往返时间(RTT),Traceroute 可以增量映射数据包从源主机到目标主机的路径。

Traceroute命令的基本语法及参数

Linux/macOS

Traceroute [可选] 目标主机

常用参数:

-m:指定最大TTL值。默认值为30。 -q:指定每跳的检测次数。默认值为3。 -w:指定等待每个响应的超时时间(以秒为单位)。 -I:使用ICMP ECHO 请求而不是UDP 数据包。

例如:

traceroute -m 20 -q 4 www.wljslmz.cn

Windows

tracert [可选] 目标主机

常用参数:

-d:不将IP 地址解析为主机名。 -h:指定最大跳数。 -w:指定每次响应的超时时间(以毫秒为单位)。

例如:

tracest -h 20 www.wljslmz.cn

Traceroute的实战应用

Traceroute 最常见的用途之一是网络故障排除。如果您在连接网络时遇到问题,Traceroute 可以帮助您查明问题的确切位置。例如,如果您无法访问特定网站,Traceroute 可以向您显示数据包通过网络的路径,向您显示在哪些步骤发生延迟或数据包丢失。

Traceroute 允许网络工程师分析网络性能。 Traceroute 显示每一跳的往返时间(RTT)。这可以通过识别网络路径中的高延迟节点来帮助您优化网络性能。

在规划或验证网络拓扑时,Traceroute 可帮助您确定数据包实际采用的路由器和路径。这对于确保网络配置的准确性和有效性极其重要。

分析Traceroute输出结果

Traceroute 输出通常包括以下部分:

每跳数。路由器IP地址或域名。往返时间(RTT)。通常以毫秒为单位。

以下是典型Traceroute 输出的示例。

到example.com (93.184.216.34) 的跟踪路由,最大30 跳,60 字节数据包

1 192.168.1.1 (192.168.1.1) 1.123 毫秒1.098 毫秒1.076 毫秒

2 10.0.0.1 (10.0.0.1) 2.345 毫秒2.320 毫秒2.310 毫秒

3 192.168.2.1 (192.168.2.1) 5.678 毫秒5.655 毫秒5.642 毫秒

4 93.184.216.34 (93.184.216.34) 20.456 毫秒20.433 毫秒20.410 毫秒

在这个例子中:

Hop 1 是IP 地址192.168.1.1 的本地网络网关,RTT 约为1 ms。第二跳是LAN 中的路由器,IP 地址为10.0.0.1,RTT 约为2.3 ms。第3 跳是另一个LAN 路由器,IP 地址为192.168.2.1,RTT 约为5.6 毫秒。第四跳是目标主机,IP 地址为93.184.216.34,RTT 约为20.4 ms。

在分析Traceroute结果时,以下情况往往表明网络存在问题:

高延迟:特定跃点的RTT 明显高于其前后的跃点数量,这可能表明该节点或其连接存在性能问题。数据包丢失:如果您在特定跃点的输出中看到* * *,则意味着该节点没有响应。这可能是由路由器的防火墙设置或网络路径问题引起的。 RTT 不一致:RTT 值波动较大可能表明网络不稳定或拥塞。

考虑以下Traceroute 输出。

到example.com (93.184.216.34) 的跟踪路由,最大30 跳,60 字节数据包

1 192.168.1.1 (192.168.1.1) 1.123 毫秒1.098 毫秒1.076 毫秒

2 10.0.0.1 (10.0.0.1) 2.345 毫秒2.320 毫秒2.310 毫秒

3 192.168.2.1 (192.168.2.1) 50.678 毫秒50.655 毫秒50.642 毫秒

四* * *

5 93.184.216.34 (93.184.216.34) 20.456 毫秒20.433 毫秒20.410 毫秒

在本例中,第3跳的RTT明显高于前两跳,表明该节点存在高延迟问题。第四跳没有反应。这可能是由节点的防火墙引起的。另外,第5跳的RTT恢复正常,说明问题主要集中在第3跳。

通过分析Traceroute输出,网络工程师可以快速识别网络中的瓶颈。例如,如果特定跃点的RTT 明显高于其他跃点,则这可能表明该节点或其连接存在性能问题。这样就可以找出问题所在,并采取相应的措施进行优化。

由于路由器配置更改或网络故障,网络路径可能会发生变化。定期运行Traceroute可以让网络工程师监控网络路径变化,确保网络配置正确。

当发现超出本地网络范围的网络问题时,Traceroute 可帮助网络工程师与Internet 服务提供商(ISP) 合作,提供详细的路径信息,帮助ISP 更快地识别和解决问题。

假设您注意到在公司内部网络上访问外部网站非常慢。运行Traceroute命令时,您可以得到以下输出:

到lowwebsite.com (203.0.113.10) 的跟踪路由,最大30 跳,60 字节数据包

1 192.168.1.1 (192.168.1.1) 1.123 毫秒1.098 毫秒1.076 毫秒

2 10.0.0.1 (10.0.0.1) 2.345 毫秒2.320 毫秒2.310 毫秒

3 192.168.2.1 (192.168.2.1) 5.678 毫秒5.655 毫秒5.642 毫秒

4 203.0.113.1 (203.0.113.1) 50.456 毫秒50.433 毫秒50.410 毫秒

5 203.0.113.10 (203.0.113.10) 200.123 毫秒200.098 毫秒200.076 毫秒

结果表明,第4跳的RTT显着增加,第5跳的RTT达到200ms。这表明问题可能出在Jump 4 和Jump 5 之间,或者出在Jump 5 本身。向您的ISP 提供此信息将使他们能够进一步调查并解决问题。

高级Traceroute技术

调整探测包的类型

在不同的网络环境中,某些类型的发现数据包可能会被防火墙阻止。因此,使用不同类型的检测报文可以提高Traceroute的成功率。例如,在Linux 上,您可以使用以下选项更改探测数据包类型:

-I:使用ICMP ECHO请求(类似于ping)。 -T:使用TCP SYN数据包(适用于一些防火墙策略严格的网络)。 -U:使用UDP数据包(默认类型)。

traceroute -I www.wljslmz.cn # 使用ICMP ECHO 请求

traceroute -T www.wljslmz.cn # 使用TCP SYN 数据包

traceroute -U www.wljslmz.cn # 使用UDP数据包

调整探测次数和超时时间

默认情况下,Traceroute 向每一跳发送三个探测数据包。您可以使用-q 选项调整探测数量,并使用-w 选项调整每个响应的超时。

traceroute -q 5 -w 2 www.wljslmz.cn # 发现每一跳5 次,每次响应等待2 秒

跳过DNS解析

在某些情况下,DNS 解析可能会导致额外的延迟。可以使用-n选项跳过DNS解析,直接显示IP地址。

traceroute -n www.wljslmz.cn # 跳过DNS解析

设置最大跳数

默认情况下,Traceroute 的最大跳数为30。为了避免不必要的探测,可以使用-m 选项设置最大跳数。

traceroute -m 20 www.wljslmz.cn # 设置最大跳数为20

Traceroute案例分析

跨国网络连接问题

问题描述:公司中美网络连接速度极慢,影响两国员工工作效率。

诊断步骤:

Ping 测试:首先对美国目标主机进行ping 测试,检查是否存在高延迟问题。

ping -c 10 example.com

Traceroute分析:使用traceroute命令分析路径。

跟踪路由示例.com

输出显示:

1 192.168.1.1 (192.168.1.1) 1.123 毫秒1.098 毫秒1.076 毫秒

2 10.0.0.1 (10.0.0.1) 2.345 毫秒2.320 毫秒2.310 毫秒

3 203.0.113.1 (203.0.113.1) 50.678 毫秒50.655 毫秒50.642 毫秒

4 209.85.243.1 (209.85.243.1) 200.456 毫秒200.433 毫秒200.410 毫秒

5 72.14.235.1 (72.14.235.1) 300.123 毫秒300.098 毫秒300.076 毫秒

6 93.184.216.34 (93.184.216.34) 350.456 毫秒350.433 毫秒350.410 毫秒

结果分析:

第3跳和第4跳之间有明显的延迟(从50ms增加到200ms),表明跨境网络连接瓶颈就在这里。从第4跳到第6跳的延迟进一步增加表明问题不仅在于跨境连接,还在于国际网络服务提供商。

解决了:

请联系您的ISP 提供商,报告跨境网络连接的高延迟问题并请求路由优化。考虑使用专线或VPN 服务来提高跨境网络连接的质量。

本地网络不稳定

问题描述:企业内部网络经常不稳定,导致员工无法顺利访问内部资源。

诊断步骤:

Ping 测试:对公司内部服务器进行Ping 测试,观察网络不稳定情况。

ping -c 100 内部服务器

Traceroute分析:使用traceroute命令分析路径。

跟踪路由内部服务器

输出显示:

1 192.168.1.1 (192.168.1.1) 1.123 毫秒1.098 毫秒1.076 毫秒

2 10.0.0.2 (10.0.0.2) 2.345 毫秒2.320 毫秒2.310 毫秒

3 ** * *

4 192.168.2.1 (192.168.2.1) 50.678 毫秒50.655 毫秒50.642 毫秒

# 以上是网络工程师掌握traceroute命令的故事,但是追踪主机的路由并不一定很可怕!相关内容来源网络仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93285.html

Like (0)
CSDN的头像CSDN
Previous 2024年7月6日
Next 2024年7月6日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注