Traceroute命令学习理解
- 格式:doc
- 大小:31.00 KB
- 文档页数:3
linux学习笔记31--命令route和routetraceLinux系统的route命令⽤于显⽰和操作IP路由表(show / manipulate the IP routing table)。
要实现两个不同的⼦⽹之间的通信,需要⼀台连接两个⽹络的路由器,或者同时位于两个⽹络的⽹关来实现。
在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在⼀个局域⽹中,局域⽹中有⼀个⽹关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
要注意的是,直接在命令⾏下执⾏route命令来添加路由,不会永久保存,当⽹卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
1.命令格式:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]2.命令功能:Route命令是⽤于操作基于内核ip路由表,它的主要作⽤是创建⼀个静态路由让指定⼀个主机或者⼀个⽹络通过⼀个⽹络接⼝,如eth0。
当使⽤"add"或者"del"参数时,路由表被修改,如果没有参数,则显⽰路由表当前的内容。
3.命令参数:-c 显⽰更多信息-n 不解析名字-v 显⽰详细的处理信息-F 显⽰发送信息-C 显⽰路由缓存-f 清除所有⽹关⼊⼝的路由表。
-p 与 add 命令⼀起使⽤时使路由具有永久性。
add:添加⼀条新路由。
del:删除⼀条路由。
-net:⽬标地址是⼀个⽹络。
-host:⽬标地址是⼀个主机。
netmask:当添加⼀个⽹络路由时,需要使⽤⽹络掩码。
gw:路由数据包通过⽹关。
注意,你指定的⽹关必须能够达到。
metric:设置路由跳数。
Command 指定您想运⾏的命令 (Add/Change/Delete/Print)。
tracerout 命令返回值详解Traceroute是一种网络诊断工具,用于确定在从源设备到目标设备之间的路径上的服务器之间的转发路径。
使用此命令时,用户将发送一些带有不同IP TTL(生存时间)值的数据包,并观察每个数据包从源主机到目标主机的路由。
通过逐步增加TTL来确定哪些路由器在路径上,traceroute可以帮助分析网络性能问题并检测Internet流量背后的问题。
在本文中,我们将详细介绍traceroute命令的返回值。
第一行:显示目标IP地址以及执行traceroute命令的源IP地址。
此行显示的两个IP地址分别为目标IP地址和执行traceroute命令的源IP地址。
以:“traceroute to [目标IP地址] ([目标IP地址]),从 [执行traceroute命令的源IP地址] [源IP地址] 开始”第二行:显示任何遇到的第一个路由器。
此行显示的内容是第一个路由器的IP地址和域名(如果可用)。
它以“第一个路由器 [IP地址] [域名]”的形式显示。
第三行到第n行:显示路径过程中其他的所有路由器IP地址和RTT(Round-Trip Time)。
此行显示了路径中经过的所有路由器的IP地址和RTT。
RTT是每一个路由器的响应时间,用毫秒(ms)衡量。
每一行以“第[m]个路由器 [路由器IP地址] ([路由器域名]) [RTT]ms”形式显示。
第n+1行:显示到达目标的响应时间,并结束traceroute。
此行显示到达目标的RTT时间,以及完成traceroute。
它显示“到达目标([目标IP地址])[RTT]ms”从traceroute的返回值中,我们可以了解到每个路由器的IP地址和域名,以及它的RTT时间。
在网络故障排除过程中,这些信息非常重要。
通过查看traceroute命令输出的返回值,用户可以确定网络中存在的瓶颈,并确定路由器或服务器故障。
在确定阻塞点或故障点后,网络管理员可以立即采取适当的措施来解决问题。
Traceroute命令原理1、前⾔在⽇常⽹络维护⼯作中,Traceroute命令是⼀个强⼤⽽⽅便的⽹络测试⼯具;了解Traceroute命令的原理能够更好的使⽤这个⼯具,本⽂详细介绍了Traceroute命令的基本原理和功能。
2、Traceroute命令基本功能该命令⽤于测试两个TCP/IP系统之间的⽹络层连通性和显⽰传输路径中每⼀跳地址,⼜称为路径跟踪,如果Traceroute命令测试成功,我们能够观察到从源主机到⽬的主机之间的⼀条完整的通信路径,能够明确的观察到路径的每⼀跳信息;该命令还能准确输出测试包到每⼀跳的通信延迟时间。
如果测试失败,也能够明确定位是哪⼀跳设备不能正常转发,该⼯具还能够测试路由是否选择最佳路径,是否存在⾮对称路径等问题,在复杂拓扑下具有更强⼤的测试能⼒。
3、Traceroute命令基本原理当路由器收到⼀份I P数据报,如果其T T L字段是0或1,则路由器不转发该数据报(接收到这种数据报的⽬的主机可以将它交给应⽤程序,这是因为不需要转发该数据报。
但是在通常情况下,系统不应该接收T T L字段为0的数据报)。
相反,路由器将该数据报丢弃,并给信源机发⼀份I C M P“超时”信息。
Traceroute的操作过程:它发送⼀份T T L字段为1的I P数据报给⽬的主机。
处理这份数据报的第⼀个路由器将T T L值减1,丢弃该数据报,并发回⼀份超时I C M P报⽂。
这样就得到了该路径中的第⼀个路由器的地址。
然后Traceroute程序发送⼀份T T L值为2的数据报,这样我们就可以得到第⼆个路由器的地址。
继续这个过程直⾄该数据报到达⽬的主机。
但是⽬的主机哪怕接收到T T L值为1的I P数据报,也不会丢弃该数据报并产⽣⼀份超时I C M P报⽂,这是因为数据报已经到达其最终⽬的地。
Traceroute程序发送⼀份U D P数据报给⽬的主机,但它选择⼀个不可能的值作为U D P端⼝号(⼤于30 000),使⽬的主机的任何⼀个应⽤程序都不可能使⽤该端⼝。
windows traceroute用法Windows Traceroute用法详解什么是Traceroute?Traceroute是一个用于诊断网络问题的命令行工具。
它可以测量数据包在互联网上的传输路径,并显示出每个节点的延迟情况。
在Windows系统中,Traceroute命令被称为“tracert”。
如何使用Traceroute?以下是一些常见的Windows Traceroute用法的详细讲解:1.基本用法Traceroute命令的基本使用语法如下:tracert [目标地址]例如,要跟踪到“tracertTraceroute将显示出到达目标地址所经过的节点的完整路径。
每个节点都有一个IP地址和延迟时间。
2.设置最大跳数所有节点。
如果您只想跟踪有限跳数的路径,可以使用“-h”参数设置最大跳数。
tracert -h [最大跳数] [目标地址]例如,要设置最大跳数为30,可以运行以下命令:tracert -h 30这将限制Traceroute到达目标地址的路径跳数不超过30个节点。
3.使用时间戳Traceroute命令还可以用时间戳显示每个节点的延迟时间。
通过使用“-d”参数,您可以显示每个节点的时间戳。
tracert -d [目标地址]例如,要显示延迟时间的时间戳,可以运行以下命令:tracert -d这将在输出中显示每个节点的IP地址和以毫秒为单位的延迟。
4.查找特定端口每个节点的延迟时间。
如果您希望仅检查到达目标地址上特定端口的延迟,可以使用“-p”参数。
tracert -p [端口号] [目标地址]例如,要跟踪到达目标地址上的端口80的路径,可以运行以下命令:tracert -p 80这将只检查通过端口80到达目标地址的节点的延迟。
5.保存输出结果默认情况下,Traceroute命令的输出将直接在命令提示符窗口中显示。
如果您希望将输出结果保存到文件中进行进一步分析,可以使用重定向操作符“>”。
traceroute命令的作用和原理概述:在网络中,数据包的传输是通过一系列的路由器进行转发的。
traceroute命令是一种网络诊断工具,用于追踪数据包从源主机到目标主机的路径。
它通过发送一系列的探测数据包,利用数据包的TTL(Time to Live)字段和ICMP(Internet Control Message Protocol)回显报文来测量每个中间路由器的往返时间,从而获得整个数据传输路径。
作用:traceroute命令的主要作用是帮助网络管理员或用户诊断网络连接问题,了解数据包在传输过程中经过的路由器,以及每个路由器的响应时间。
通过分析traceroute的输出结果,可以判断网络连接是否畅通,找到网络故障的根源,并采取相应的措施来解决问题。
原理:当执行traceroute命令时,源主机会发送一系列的UDP数据包,每个数据包的TTL值依次递增。
TTL是IP协议中的一个字段,用于限制数据包在网络中的生存时间,避免数据包无限循环。
每经过一个路由器,TTL值就会减1。
当TTL值为0时,路由器会将数据包丢弃,并向源主机发送ICMP超时报文。
源主机通过接收到的ICMP超时报文,就可以确定该路由器的IP地址。
traceroute命令通过反复发送TTL值递增的数据包,并根据每个数据包的回复来确定数据包的路径。
在输出结果中,traceroute会显示每个中间路由器的IP地址和响应时间。
通常,每个TTL值对应一行输出,最终输出结果包括了源主机到目标主机的完整路径。
使用traceroute命令时,可以通过一些选项来控制其行为。
例如,可以指定每个TTL值发送的数据包数量、数据包的TTL初始值、数据包的目标端口等。
这些选项可以根据具体的需求进行调整,以便更好地诊断网络问题。
总结:traceroute命令是一种非常有用的网络诊断工具,通过测量数据包的路径和响应时间,可以帮助我们了解网络连接的质量和稳定性。
它的原理是利用数据包的TTL字段和ICMP回显报文来追踪数据包的传输路径。
traceroute用法 linuxTraceroute是一种用于跟踪网络数据包传输路径的命令行工具,它可以帮助用户了解数据包在传输过程中所经过的路由器和网络节点。
在Linux系统中,traceroute命令属于网络工具的一部分,通常在终端中使用。
一、基本用法1. 命令格式:traceroute [目标地址或域名]2. 注意事项:在执行traceroute命令之前,请确保您具有足够的权限,以便能够查看其他计算机的路由信息。
3. 输出说明:traceroute命令会输出一系列的IP地址和延迟(以毫秒为单位),这些信息显示了数据包从本地计算机到目标计算机的传输路径。
二、高级用法1. 使用traceroute ping:您可以使用traceroute命令来模拟ping操作,以检查目标计算机是否在线并响应。
只需将traceroute的输出与ping命令的输出进行比较即可。
2. 使用traceroute追踪防火墙:当您需要了解防火墙或路由器如何处理网络流量时,可以使用traceroute来追踪数据包的传输路径。
通过观察延迟和跳数的变化,您可以了解哪些网络设备正在阻止或过滤流量。
3. 使用traceroute分析网络拥塞:通过比较不同时间段内traceroute的输出,您可以了解网络中是否存在拥塞或延迟增加的情况。
这有助于您更好地了解您的网络环境和性能。
4. 使用traceroute限制数据包大小:您可以使用traceroute命令来测试目标计算机上各种数据包大小的性能。
通过观察丢包率和延迟,您可以了解目标计算机在不同数据包大小下的表现。
三、进阶技巧1. 使用traceroute追踪IPv6地址:traceroute命令也支持IPv6地址。
如果您需要追踪IPv6流量,请使用带有IPv6地址的目标参数。
2. 使用其他工具配合traceroute:除了单独使用traceroute 外,您还可以与其他网络工具配合使用,如mtr、tracepath和ping 等,以获得更全面的网络性能信息。
traceroute命令的功能和用法-回复traceroute(或称为tracert)命令是一个网络诊断工具,用于追踪分析数据包在互联网中的传输路径。
通过使用ICMP(Internet Control Message Protocol)或UDP(User Datagram Protocol)数据包,traceroute命令可以测量数据包从源主机到目标主机的传输延迟和路径。
在本文中,我们将深入探讨traceroute命令的功能和用法。
首先,traceroute命令的基本功能是通过发送一系列的数据包,探测到达目标主机所经过的网络路由器。
这些数据包在目标主机返回时,会回传源主机的路径信息。
通过分析回传的路径信息,我们可以得知数据包在互联网中的传输路径和延迟。
traceroute命令主要用途包括以下几个方面:1. 排查网络连接问题:当我们无法连接到目标主机或网络服务时,使用traceroute命令可以帮助我们确定连接中的问题所在。
例如,如果traceroute命令显示在某个路由器上失败,那么可能是由于该路由器出现故障或配置错误导致的。
2. 评估网络延迟:通过traceroute命令,我们可以获得数据包在互联网中传输所经过的每个路由器的延迟时间。
这对于评估网络性能和诊断网络瓶颈非常有帮助。
通过比较不同路径上的延迟时间,我们可以确定网络中的延迟来源,并采取相应的优化措施。
3. 发现网络环路:网络环路是指数据包在互联网中无限循环传输的情况,它会导致网络通信的中断或严重的延迟。
使用traceroute命令可以检测到这些环路,并帮助网络管理员解决这些问题。
接下来,让我们详细介绍traceroute命令的用法:traceroute命令通常在命令行终端中使用,可以在各种操作系统中运行,如Windows、Linux和Mac。
它的基本语法如下:traceroute [选项] 目标主机名或IP地址其中,目标主机名或IP地址是我们要测试的目标主机的标识符。
linux traceroute用法使用Traceroute 命令可以帮助我们查看数据包从本地计算机到目标服务器的路径,并显示每个节点的延迟。
对于Linux 系统用户来说,Traceroute 是一个非常强大且常用的网络诊断工具。
本文将详细介绍Linux Traceroute 命令的用法,并逐步解释其每个步骤。
Traceroute 的基本语法如下:traceroute [选项] 目标IP 或域名在这个命令中,我们需要提供目标IP 地址或域名作为参数。
Traceroute 命令通过发送ICMP 数据包(Internet Control Message Protocol)到目标地址,并显示每个数据包经过的网络节点。
下面将对Traceroute 的用法进行逐步解释:第一步:打开终端在Linux 系统中,我们首先需要打开终端来执行Traceroute 命令。
终端是Linux 系统中一个重要的命令行界面,通过它可以执行各种系统命令和工具。
第二步:输入Traceroute 命令输入`traceroute` 命令后,我们需要提供一个目标IP 地址或域名。
例如,我们可以使用以下命令来跟踪到目标服务器`example`:traceroute example第三步:解析目标地址在执行Traceroute 命令后,系统首先会尝试解析目标地址。
如果目标地址是一个域名而不是IP 地址,系统会使用DNS 解析器将其转换为对应的IP 地址。
第四步:发送数据包一旦目标地址被解析成功,Traceroute 开始发送ICMP 数据包到目标地址。
每个数据包都会带有一定的TTL(Time To Live)值,该值代表数据包在网络中可以传输的最大跳数。
起初,TTL 设置为1。
第五步:数据包经过第一个节点当第一个数据包被发送到网络后,它首先会遇到的是距离最近的网络节点。
这个节点可能是你的本地路由器或者网络服务提供商的路由器。
第六步:数据包经过下一个节点随着数据包的传输,TTL 值递增,数据包会继续通过其他节点。
tracerout 命令返回值详解(一)Traceroute是一个用于诊断网络问题的工具,它可以测量数据包在网络路径中经过的运行时间、跳数和丢包情况,从而帮助用户确定网络连接是否出现故障。
当我们在命令行中执行traceroute命令时,会返回一系列有用的信息,包括:•目标主机的IP地址•数据包从本地主机到目标主机的路径•每个路由器的IP地址•每个路由器响应数据包所需的时间•数据包是否到达目标主机下面是traceroute命令返回值的详细解释:目标主机的IP地址traceroute命令首先会返回目标主机的IP地址,这通常是用户输入命令时填写的主机名或IP地址。
如果返回的IP地址是不可达的,那么就说明目标主机无法访问。
数据包从本地主机到目标主机的路径traceroute命令使用数据包来模拟从本地主机到目标主机的路径,并显示每个路由器的IP地址。
路径通常由多个路由器组成,并且每个路由器都有一个唯一的IP地址。
traceroute命令会在数据包到达目标主机之前,多次发送数据包并记录下每次数据包经过的路由器的IP地址。
每个路由器的IP地址当traceroute命令发送数据包时,每个路由器都会响应数据包并返回一个数据包,其中包含其IP地址。
traceroute命令记录下了每个路由器的IP地址,并将其显示在返回的结果中。
每个路由器响应数据包所需的时间在traceroute命令发送每个数据包时,它会记录下时间戳并等待从路由器返回数据包的时间。
traceroute命令会记录下每个路由器响应数据包所需的时间,并将其显示在返回的结果中。
这可以帮助用户了解到每个路由器的响应速度。
数据包是否到达目标主机最后,traceroute命令会检查数据包是否成功到达目标主机。
如果数据包到达了目标主机并返回响应,那么traceroute命令会显示“reply”(响应)和所需时间。
如果数据包无法到达目标主机,那么traceroute命令会显示“Request timed out”(请求超时)。
linux traceroute命令的作用和原理traceroute命令是一种网络工具,用于确定数据包从本地主机到目标主机的路径。
它通过发送一系列的UDP数据包或ICMP回声请求到目标主机,并在每一跳上记录数据包的时间和发送路径的IP地址。
traceroute通过这些信息构建路径,并显示出数据包从本地到目标主机所经过的每一跳的延迟。
traceroute命令的原理是使用TTL(Time-to-Live)字段来限制数据包在网络中的生存时间。
每次数据包通过一个路由器时,TTL字段的值会减少,直到达到0为止。
在这种情况下,路由器将丢弃该数据包并发送一个ICMP回显超时消息。
traceroute利用这个原理发送具有不同TTL值(递增)的数据包,从而确定到目标主机的路径。
当我们在终端中执行traceroute命令时,它将按照以下步骤执行:1. traceroute发送UDP数据包或ICMP回声请求到目标主机的第一个路由器,TTL初始值为1。
由于TTL字段为1,第一个路由器在将数据包转发给下一个路由器之前将其丢弃。
然后路由器向源主机发送ICMP回显超时消息,traceroute将此信息显示给用户。
2. traceroute递增TTL字段的值为2,然后再次发送数据包。
此时,第一个路由器将数据包转发给第二个路由器,第二个路由器将其转发给第三个路由器,以此类推。
当达到TTL值时,第二个路由器将数据包丢弃并发送ICMP回显超时消息,traceroute将此信息显示给用户。
3.这个过程会持续重复,每次递增TTL值,直到数据包到达目标主机。
一旦数据包到达目标主机,它将发送ICMP回显回复消息,traceroute将这个信息显示给用户,并终止测试。
通过这些步骤,traceroute能够确定数据包从源主机到目标主机经过的每一跳,并计算每一跳的延迟。
traceroute将这些信息显示给用户,以便用户可以了解到目标主机的网络路径以及网络中可能存在的延迟问题。
Tarcerout程序
作用
可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。
而且它还可以让我们使用IP源路由选项
为什么不是使用IP首部中的IP记录路由选项而另外开发一个应用程序
1.并不是所有的路由器都支持记录路由选项,因此该选项在某些路径上不能使用而Traceroute程序不需要中间路由器具备任何特殊的或不可选的功能。
2.记录路由一般是单向的选项,如果发送端设置了该选项,那么接收端不得不从收到的IP首部中提取所有的信息,然后全部返回给客户端。
而Traceroute程序只需要目的端运行一个UDP模块——其他不需要任何特殊的服务器应用程序。
3.最重要的原因是,IP首部中留给选项的空间有限,不能存放当前大多数的路径。
Traceroute程序使用ICMP报文中IP首部中的TTL字段。
TTL 字段是由发送端初始设置一个8bit的字段。
发送ICMP回显应答时经常把TTL设为最大值255。
TTL的概念及作用
1.它是指数据报的生存时间,每个处理数据报的路由器都需要把TTL 的值减去数据报在路由器中停留的秒数,由于大多数的路由器转发数
据报的时延都小于1秒,所以现在大多数厂商在设置路由器的时候都
把经过的数据报的TTL值减1——————————成为一个跳站的
计数器。
2.TTL字段的目的是防止数据报在选路时无休止地在网络中流动————既防止路由环路
3.当TTL字段是0或1的时候,则路由器不转发该数据报,而是将该包丢弃,并给信源机发一份ICMP“超时”信息。
Traceroute就是利用
了包含这份ICMP信息的IP报文,因为里面有发送该信息的路由器
的IP地址。
4.接收到这种数据报的目的主机可以将它交给应用程序,这是因为不需要转发该数据报。
但是在通常情况下,系统不应该接收TTL字段为0
的数据报。
Traceroute的工作原理
1.Traceroute程序发送一份UDP数据报给目的主机,但它选择了一个不可能的值作为UDP端口号(大于30000),该UDP数据报中的TTL字段为1。
2.处理这份数据报的第一个路由器将TTL值减1,丢弃该数据报,并发回一份超时ICMP报文。
这样就得到了该路径第一个路由器的地址。
3.然后,Tarceroute程序发送一份TTL值为2的数据报,这样就得到了该路径第二个路由器的地址。
4.继续该过程直到数据报到达目的主机。
5.目的主机接收到该数据报后,将使它的UDP模块产生一份“端口不可达”
错误的ICMP报文。
Traceroute程序所要做的就是区分接收到的ICMP报文是超时还是端口不可达,以判断什么时候结束。
运行机制
1.当使用Traceroute程序时,会发出40字节的UDP数据报,它包括20字节IP首部,8字节的UDP首部和12字节的用户数据(用户数据
包含每发送一个数据报就加1的序列号,送出TTL的副本以及发送数
据报的时间)。
2.T raceroute程序会对每一个TTL值发送3个数据报,每接收一份ICMP 报文,就计算并打印出往返时间,如果5秒内仍未收到3份数据报的
任意一份响应,则打印一个星号。
3.对于返回来的ICMP回显报文,Traceroute程序要判断它是传送超时报文还是端口不可达报文,以判定有没有到达目的地。
IP源站路由选项
是IP首部选项(operating)中的其中之一,源站选项的思想就是由发送者指定路由。
可以采用以下两种形式。
宽松的源站选项
发送端指明一个数据报经过的IP地址清单,但是数据报在清单上指明的任意两个地址之间可以通过其他的路由器。
严格的的源路由选项
发送端指明IP数据报所必须采用的正确路径,如果一个路由器发现源路由所指定的下一个路由器不在其直接连接的网络上,那么它就返回一个“源站路由
失败”的ICMP 错误保文。
ICMP 超时报文
0 7 8
15 16
31
传送超时报文是在ICMP 的TTL 值等于0时产生的,其code 字段为0。
另外还有一种与本节无关的超时报文,它是主机在组装分片时发生超时产生的,这时,它将发送一份“组装报文超时”的ICMP 数据报,这种差错报文将code 字段置1
Traceroute 程序的注意事项
1.
不能保证现在的路由也是将来所要采用的路由,甚至两份连续的IP 数据报都可能采用不同的路由。
2. 不能保证ICMP 报文的路由与traceroute 程序发送的UDP 数据报采用
同一路由。
这表明所打印出来的往返时间可能并不能真正体现数据报
发出和返回的时间差(如果UDP 数据报从信源到路由器的时间是一
秒,而ICMP 报文用另一条路由返回信源用了3秒钟,则打印出来的
往返时间是4秒)
3. 返回的ICMP 报文中的信源IP 地址是UDP 数据报到达路由器接口的
IP 地址。
而IP 路由选项记录的IP 地址是接口的IP 地址。
类型(11 ) 代码(0~1)
检验和
未用(必须为0)
IP 首部(包括选项)+原始IP 数据中数据的前8字节。