如何使用Traceroute排除网络故障

495 阅读7分钟

使用Traceroute排除网络故障

互联网是一个革命性的技术奇迹,它允许人们之间更快地传输数据。通过互联网,世界已经变成了一个地球村,使企业在提供服务的过程中得以蓬勃发展。互联网构成了一系列相互连接的路由器,将数据从一台计算机传输到另一台。

简介

由于互联网的重要性,任何网络专业人员都必须首先具备基本的网络故障排除技能,以便能够诊断和修复网络问题。

定义

Traceroute是一个命令行工具,用于实时网络故障排除,以找到数据包穿越互联网到达其目标地址时的路线。

Traceroute的其他用途

  • 该工具可以显示数据包在通过中间路由器时的估计时间。
  • Traceroute用于确定所选目标路径中的路由器和设备名称及身份。

该工具背后的功能

注意:了解什么是数据包,可以让我们更好地理解traceroute工具的功能。

数据包

数据包是沿着给定网络路径(站点)旅行的通信单位。在互联网上发送的任何数据包都包含位于其标题中的生存时间(TTL)字段。

TTL字段在数据包中是至关重要的,因为它可以防止数据包在寻找其目的地的过程中在无尽的路线中永远旅行。

Traceroute使用TTL字段来测量源和目的地之间的距离,并找到路径之间的设备/路由器。在转发数据包时,路由器编辑数据包的TTL字段,每当数据包到达路径上的一个设备时,将数据包的TTL值减少一个。

当数据包的TTL值为零时,路由器会丢弃该数据包,并向源头发送一个 "TTL超限消息"。

TTL超限消息是traceroute工具寻找的,因为它包含以下信息。

  • 到达一个跳的时间,称为往返时间(RTT)。
  • 回复的设备/服务器/路由器的身份,由名称或IP地址给出。

举例说明

假设你在运行traceroute练习时指出最大限制为20跳。追踪路由工具首先向目标设备发送最大TTL值为1的数据包。

在通过网络时,第一个路由器自动将数据包的TTL值减少1,因此它的值变为0。这个动作的结果是,第一个路由器在丢弃数据包后向源头发回一个 "TTL超过信息"。

在收到第一个路由器的TTL信息后,来源方以发送TTL值为2的数据包作为回应。当数据包通过第一个路由器时,它们的TTL值再次减少1。由于这些数据包的TTL是1,数据包继续到第二个路由器,该路由器将TTL值减少到0。

因此,第二个路由器向源头发送一个TTL超过的消息。traceroute工具重复上述过程,直到发送的数据包到达指定的目的地,或者达到开始时指定的最大跳数总数(即20)。

First image

使用traceroute

大多数操作系统都捆绑安装了traceroute工具程序。下面是在Windows、Linux和Mac操作系统上运行traceroute的一些基本程序。

1.对于Windows

要访问traceroute工具,必须首先。

i.通过任务栏上的 "开始 "打开命令提示符。

First image

ii.在搜索框中,输入cmd,然后按搜索。

iii.打开名为命令提示符的桌面应用程序。

iv.在命令提示符中,输入关键词tracert,然后是目标IP地址或主机名,如下所示。

N/B:关键词tracert ,只适用于基于Windows的系统。

v.按回车键开始进行故障排除测试,并等待该过程完成。

N/B:请注意,该测试可能需要一分钟或更长时间才能完成,这取决于数据包目的地之间的路由器数量以及互联网的带宽和速度。

vi.在测试完成信息后,分析生成的列表中的数据。

2.对于MacOS

在Mac系统上运行traceroute与Windows有些不同。有两种运行该工具的方法。使用网络实用程序或通过终端。

下面是你应该用来运行traceroute的步骤。

A) 通过网络工具

i.启动苹果聚光灯,搜索网络工具,然后运行该应用程序。

Picture three

ii.在该应用程序中,点击traceroute。

iii.在提供的文本字段中,键入目标IP地址或主机名。

iv.点击追踪按钮,开始测试。

v.等待测试完成。

vi.分析你的数据。

B) 通过网络工具

i.导航到GO,然后选择实用工具。

picture four

ii.在实用程序中,找到终端并打开它。

iii.在终端中,键入关键词:traceroute,然后是主机名或IP地址。

iv.等待测试结束,然后分析数据。

3.对于Linux

在Linux系统上运行traceroute与在MacOS上运行该工具几乎相同。

在Linux中,应该:i.通过搜索栏搜索应用程序或按组合键Ctrl+ Alt+ T打开终端。

ii.在终端中,输入关键词traceroute,然后输入主机名或IP地址。

picture five

N/b:确保你在你的Linux发行版上安装了traceroute。要安装traceroute,可以运行以下命令:Sudo apt-get install traceroute 对于那些使用Ubuntu的人。

iii.运行命令并等待测试的结果。

iv.分析你的数据。

从生成的列表中理解数据

既然我们知道了在所有三个主要操作系统上运行traceroute的基本功能和不同程序,让我们来看看如何解释该工具的输出。

N/b.本例中解释的数据来自Windows系统。

picture six

在traceroute工具中显示的数据被分为五列。

第一列是跳数。

第二、第三和第四列显示数据包到达网关和返回所需的往返时间(RTT)。

最后一列是网络路径中网关的身份。

该工具结果的常见错误

1.一个 "请求超时 "的消息

这个消息可能是由于以下几个原因而发生的。

  • 你正在ping的主机可能已经停机。
  • 该命令可能对该网关被禁用。
  • 防火墙可能阻止了我们的工具所发出的请求。
  • 在目标系统的返回路径中可能有问题。
  • 一个连接问题可能导致错误。

2.在RTT字段中有一个星号。

这通常意味着数据包没有返回。

这可能发生在以下情况。

  • 有数据包丢失。
  • 路由器可能故意丢弃ping命令。

3.RTT的异常间隔

picture seven

在上面的例子中,与表中的其他RTT值相比,第七行的第二列包含一个异常的RTT值。

RTT值之间的显著差异主要是由网络中的延迟造成的,特别是由于处理我们请求的路由器可能将其视为低优先级功能。

用IPv6地址使用Traceroute

Traceroute默认设置为测试一个IPv4地址的路径。尽管这一事实,人们仍然可以使用该工具来测试一个IPv6地址,无论是在Windows、MacOS还是Linux系统上。

在测试IPv6地址与IPv4地址时,唯一的区别是改变traceroute和tracert的关键字。

  • 在Windows中,在输入你的IPv6地址之前,先加一个连字符,然后再加一个6。
tracert -6 your-ipv6-address
  • 在MacOS和Linux中,先写traceroute关键字,然后加一个6。
traceroute6 your-ipv6-address

总结

在这篇文章中,我们学习了traceroute背后的基本功能,如何使用该程序,最后是如何解释该程序产生的数据。