精华内容
下载资源
问答
  • 2021-04-07 16:06:45

     

    # traceroute命令格式如下: 
    traceroute [-adeFISdNnrvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface]
                    [-M first_ttl] [-m max_ttl] [-P proto] [-p port] [-q nqueries]
                    [-s src_addr] [-t tos] [-w waittime] [-z pausemsecs] host [packetsize]

     

     traceroute的命令主要参数:

    -i  使用指定的网络接口发送数据包;

    -s 设置发送数据包的源IP地址;

    -v 详细显示指令的执行过程;

    -w 设置等待远端主机回报的时间;

    [root@10-208-15-69 ]# traceroute 10.208.15.62
    traceroute to 10.208.15.62 (10.208.15.62), 30 hops max, 60 byte packets
     1  10.208.15.65 (10.208.15.65)  1.020 ms  1.654 ms  2.266 ms
     2  10.208.13.2 (10.208.13.2)  0.576 ms 10.208.13.1 (10.208.13.1)  0.692 ms  1.112 ms
     3  10.208.13.14 (10.208.13.14)  0.858 ms  1.503 ms  2.156 ms
     4  10.208.15.62 (10.208.15.62)  0.118 ms  0.117 ms  0.105 ms
    [root@10-208-15-69 ]# traceroute 10.208.15.71
    traceroute to 10.208.15.71 (10.208.15.71), 30 hops max, 60 byte packets
     1  10.208.15.71 (10.208.15.71)  0.069 ms  0.055 ms  0.040 ms

     

    ZBMAC-f89447c9f:SSH $ traceroute zhulin.work
    traceroute to zhulin.work (67.218.154.252), 64 hops max, 52 byte packets
     1  * * *
     2  * * *
     3  10.2.0.77 (10.2.0.77)  81.659 ms  41.816 ms  32.983 ms
     4  10.2.0.83 (10.2.0.83)  15.514 ms  26.031 ms  31.590 ms
     5  10.102.104.30 (10.102.104.30)  46.949 ms  34.218 ms  39.083 ms
     6  172.24.2.133 (172.24.2.133)  92.424 ms
        172.24.2.12 (172.24.2.12)  87.421 ms
        172.16.2.14 (172.16.2.14)  116.862 ms
     7  100.80.0.1 (100.80.0.1)  123.543 ms  212.803 ms *
     8  9.62.249.30 (9.62.249.30)  61.338 ms * *
     9  10.229.11.245 (10.229.11.245)  1563.498 ms * *
    10  * 10.196.90.89 (10.196.90.89)  101.337 ms
        10.196.90.73 (10.196.90.73)  73.443 ms
    11  * 10.196.95.230 (10.196.95.230)  66.752 ms *
    12  global.hgc.com.hk (218.189.23.193)  82.852 ms  82.494 ms *
    13  * 218.189.5.10 (218.189.5.10)  86.673 ms
        218.189.5.42 (218.189.5.42)  60.051 ms
    14  d1-2-224-143-118-on-nets.com (118.143.224.2)  234.728 ms
        d1-30-224-143-118-on-nets.com (118.143.224.30)  258.414 ms
        d1-34-224-143-118-on-nets.com (118.143.224.34)  288.142 ms
    15  218.189.5.129 (218.189.5.129)  222.723 ms  255.918 ms
        172.16.12.70 (172.16.12.70)  143.354 ms
    16  * * *
    17  be3-1.cr3.lax.multacom.com (208.64.231.5)  266.074 ms  234.096 ms
        172.16.12.50 (172.16.12.50)  126.492 ms
    18  203.131.240.193 (203.131.240.193)  188.035 ms * *
    19  ae-14.r26.tkokhk01.hk.bb.gin.ntt.net (129.250.2.237)  129.498 ms
        localhost.localdomain (67.218.154.252)  226.508 ms  267.924 ms

     

    参考:man traceroute 文档

    补充:

    tracepath功能类似于traceroute,不同点在于tracepath命令执行不需要root权限,也没有任何高级选项;

    # tracepath命令格式如下:
    tracepath [-n] [-b] [-l pktlen] [-m max_hops] [-p port] destination

    参考:man tracepath 文档

     

    更多相关内容
  • Linux traceroute命令 Linux traceroute命令用于显示数据包到主机间的路径。 traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。 语法traceroute [-dFlnrvx][-f][-g...][-i][-...
  • 主要介绍了Linux traceroute命令使用方法实例详解的相关资料,希望通过本文能帮助到大家,让大家理解应用这部分内容,需要的朋友可以参考下
  • traceroute命令

    千次阅读 2021-03-31 13:03:13
    traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。...
    traceroute命令
     
        traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
     
     
    原理:
        
        程序利用增加存活时间(TTL)来实现其功能。每当数据包(3个数据包包括源地址,目的地址和包发出的时间标签)经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP(Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。) TTL数据包给原数据包的发出者。
     
     
    traceroute程序完整过程:
        
        首先它发送一份TTL字段为1的IP数据包给目的主机,处理这个数据包的第一个路由器将TTL值减1,然后丢弃该数据报,并给源主机发送一个ICMP报文(“超时”信息,这个报文包含了路由器的IP地址,这样就得到了第一个路由器的地址),然后traceroute发送一个TTL为2的数据报来得到第二个路由器的IP地址,继续这个过程,直至这个数据报到达目的主机。
     
     
    1.命令格式:
     
         traceroute [参数] [主机]
     
     
    2.命令功能:
     
         traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
        
        具体参数格式:
            
            traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
     
     
    3.命令参数:
     
        -d 使用Socket层级的排错功能。
        -f 设置第一个检测数据包的存活数值TTL的大小。
        -F 设置勿离断位。
        -g 设置来源路由网关,最多可设置8个。
        -i 使用指定的网络界面送出数据包。
        -I 使用ICMP回应取代UDP资料信息。
        -m 设置检测数据包的最大存活数值TTL的大小。
        -n 直接使用IP地址而非主机名称。
        -p 设置UDP传输协议的通信端口。
        -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
        -s 设置本地主机送出数据包的IP地址。
        -t 设置检测数据包的TOS数值。
        -v 详细显示指令的执行过程。
        -w 设置等待远端主机回报的时间。
        -x 开启或关闭数据包的正确性检验。
     
     
    4 . 案例01:
     
        traceroute www.badiu.com
     
            
     
         说明:
            
            记录按序列号从1开始,每个序号表示一跳,每一条代表一个网关,我们看到每行有三个时间,单位是 ms 即数据包到达此跳路由或主机再返回你的主机所需要的时间。
    traceroute默认每次发送3个数据包,所以显示三个往返时间。
            
            这里的 * 号代表 路由器禁止了ICMP数据包返回或者是防火墙的过滤。 traceroute程序本身就被用来发现网络故障,如果从某跳开始所有的时间都成了星号,即超时,则网络故障很有可能就出现在了这一跳
            
            这里使用 -q 参数指定每次发送次数 traceroute -q 4 www.baidu.com  表示向每个网关发送4个数据包。
            
            见下图:
            
     
     
             有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,
        也会有延时长的现象;可以加-n 参数来避免DNS解析,以IP格式输出数据。
            
            
     
            如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,
        我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,
        IDC服务商也不可能帮助我们解决。
     
     
    5 . 案例02:
     
        参数: -m  设置检测数据包的最大存活数值TTL的大小。
     
        traceroute -m 6 www.baidu.com
        
        
        
        通过结果可以看到存货数值=6,当跳到序号6时第6个路由取消数据包。
        当存活值=0时,路由便取消数据包。
     
    6 . 案例03:

         参数: -w  设置等待远端主机回报的时间
       
      traceroute -w 3 www.baidu.com
     
        
     
     
     
    7 .扩展内容:
     
        目的主机在接收到TTL值为1的IP数据报是不会丢失的,这样也不会产生一个超时的ICMP数据报文,那么程序如何判断是否已经到达目的主机了呢?
        
       在Linux下,traceroute程序发送一个UDP数据报给目的主机,但它选择一个不存在的端口作为UDP端口号(大于30000),使目的主机的任何一个应用程序都不可能使用该端口,因此,当该数据报达到目的主机的时候,目的主机会产生一个“端口不可达”错误的ICMP报文,这样,traceroute程序要做的就是区分接收到的ICMP报文是超时还是端口不可达,从而来区分是路由器还是目的主机。
        
     
    8 .本文参考内容:
     
        
    展开全文
  • 围绕本机traceroute命令的简单包装。 每个跃点包含该跃点中的主机以及每个主机的相应往返时间。 安装 $ npm install traceroute 用法 trace方法将始终返回流,并在完成后将调用可选的回调。 溪流 const Traceroute =...
  • 关于linux traceroute 命令的相关知识介绍如下所示: 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地...
  • 我们可以使用 traceroute 命令知道网络数据从主机A到主机B走的是什么路径。 正文 我们知道,多个网络数据包由某一同样的出发点(A)到达某一同样的目的地(B)所走的路径可能是不一样的,但是,大多数情况下,这些...

    前言

    排查网络问题时,我们往往需要用到一些好用的网络工具。我们一般最常用的网络用具命令就是 ping 啦,哈哈。那么除了 ping 命令外,还有哪些实用的工具命令呢?那就是 traceroute 命令。我们可以使用 traceroute 命令知道网络数据从主机A到主机B走的是什么路径。

    正文

    我们知道,多个网络数据包由某一同样的出发点(A)到达某一同样的目的地(B)所走的路径可能是不一样的,但是,大多数情况下,这些数据包所走的路由是相同的。linux系统中,traceroute 命令工具就是来追踪数据包的跳转路径的,在 windows 系统中是 tracert。

    命令格式

    traceroute 命令使用方式也非常简单,具体的命令格式可以参考如下:

    traceroute [参数] [主机]

    参数含义

    traceroute 命令格式已经了解了,那么其中的参数都支持哪些设置呢?接下来具体看一下。

    -d 使用Socket层级的排错功能。

    -f 设置第一个检测数据包的存活数值TTL的大小。

    -F 设置勿离断位。

    -g 设置来源路由网关,最多可设置8个。

    -i 使用指定的网络界面送出数据包。

    -I 使用ICMP回应取代UDP资料信息。

    -m 设置检测数据包的最大存活数值TTL的大小。

    -n 直接使用IP地址而非主机名称。

    -p 设置UDP传输协议的通信端口。

    -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

    -s 设置本地主机送出数据包的IP地址。

    -t 设置检测数据包的TOS数值。

    -v 详细显示指令的执行过程。

    -w 设置等待远端主机回报的时间。

    -x 开启或关闭数据包的正确性检验。

    实例演示

    接下来,我们通过一个实际案例来演示一下 traceroute 命令的使用过程。我们来看一下自己的机器发送数据包到 baidu.com 服务器需要如何跳转。

    liuzhen007:~ lz$ traceroute baidu.com
    traceroute: Warning: baidu.com has multiple addresses; using 220.181.38.148
    traceroute to baidu.com (220.181.38.148), 64 hops max, 52 byte packets
     1  192.168.3.1 (192.168.3.1)  2.098 ms  2.176 ms  0.945 ms
     2  bogon (192.168.1.1)  1.981 ms  3.183 ms  1.589 ms
     3  bogon (10.70.0.1)  4.424 ms  4.727 ms  4.866 ms
     4  221.222.95.237 (221.222.95.237)  5.770 ms  6.276 ms  4.684 ms
     5  61.149.203.205 (61.149.203.205)  6.681 ms *
        202.96.12.21 (202.96.12.21)  9.203 ms
     6  219.158.13.78 (219.158.13.78)  12.043 ms
        219.158.3.2 (219.158.3.2)  13.938 ms *
     7  219.158.44.134 (219.158.44.134)  6.917 ms  5.796 ms  6.032 ms
     8  202.97.17.113 (202.97.17.113)  7.020 ms
        202.97.17.125 (202.97.17.125)  7.977 ms
        202.97.17.109 (202.97.17.109)  8.728 ms
     9  36.110.245.186 (36.110.245.186)  9.220 ms
        36.110.246.126 (36.110.246.126)  11.174 ms
        36.110.246.142 (36.110.246.142)  10.250 ms
    10  36.110.245.77 (36.110.245.77)  9.879 ms
        36.110.249.58 (36.110.249.58)  36.326 ms
        218.30.104.177 (218.30.104.177)  9.027 ms
    11  * * *
    。。。省略。。。
    63  * * *
    64  * * *
    
    

    上面日志的意思是说数据包从本机到服务器最大需要经过64跳到达,使用了52字节数据包。

    结尾

    在排查日常网络问题时,我们可以通过 traceroute 命令工具来排查问题所在,确定是主机的问题还是网关的问题。好了,今天关于网络命令 traceroute 的介绍就到这里吧,晚安!我是 liuzhen007,欢迎大家关注我,分享更多网络知识。

    展开全文
  • Linux之traceroute命令

    2021-08-10 23:06:59
    显示数据包到主机间的路径,traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然...

    显示数据包到主机间的路径,traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

    traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

    Traceroute 的实现一共有三种方法,分别是:

    • TCP traceroute(使用 tracetcp 程序可以实现)
    • UDP traceroute(Cisco 和 Linux 默认情况下使用)
    • ICMP traceroute ( MS Windows 默认情况下使用)

    命令格式

    traceroute(选项)(参数)

    命令选项

    • -d:使用Socket层级的排错功能;
    • -f<存活数值>:设置第一个检测数据包的存活数值TTL的大小;
    • -F:设置勿离断位;
    • -g<网关>:设置来源路由网关,最多可设置8个;
    • -i<网络界面>:使用指定的网络界面送出数据包;
    • -I:使用ICMP回应取代UDP资料信息;
    • -m<存活数值>:设置检测数据包的最大存活数值TTL的大小;
    • -n:直接使用IP地址而非主机名称;
    • -p<通信端口>:设置UDP传输协议的通信端口;
    • -r:忽略普通的Routing Table,直接将数据包送到远端主机上。
    • -s<来源地址>:设置本地主机送出数据包的IP地址;
    • -t<服务类型>:设置检测数据包的TOS数值;
    • -v:详细显示指令的执行过程;
    • -w<超时秒数>:设置等待远端主机回报的时间;
    • -x:开启或关闭数据包的正确性检验。

    命令参数

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

    简单用法

    > traceroute rumenz.com
    traceroute to rumenz.com (203.195.152.245), 64 hops max, 52 byte packets
     1  192.168.0.1 (192.168.0.1)  1.242 ms  0.949 ms  2.494 ms
     2  192.168.1.1 (192.168.1.1)  1.337 ms  1.101 ms  0.953 ms
     3  100.64.0.1 (100.64.0.1)  4.663 ms  28.187 ms  3.346 ms
     4  111.175.227.145 (111.175.227.145)  7.321 ms  12.203 ms  10.503 ms
     5  111.175.210.221 (111.175.210.221)  4.810 ms  7.400 ms  3.673 ms
     6  202.97.17.5 (202.97.17.5)  20.276 ms
        202.97.98.25 (202.97.98.25)  38.174 ms
        202.97.17.1 (202.97.17.1)  28.942 ms
     7  * 113.96.5.158 (113.96.5.158)  26.277 ms *
     8  * * *
     9  14.18.199.106 (14.18.199.106)  22.518 ms  20.543 ms  22.583 ms
    10  * * 14.18.199.74 (14.18.199.74)  22.378 ms
    11  * * *
    12  * * *
    13  * * *
    14  203.195.152.245 (203.195.152.245)  25.766 ms  21.599 ms *
    

    记录按序列号从1开始,每个记录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用traceroute -q 4 rumenz.com,表示向每个网关发送4个数据包。

    有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

    有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n参数来避免DNS解析,以IP格式输出数据。

    如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

    设置跳数

    > traceroute -m 10 rumenz.com
    traceroute to rumenz.com (203.195.152.245), 10 hops max, 52 byte packets
     1  192.168.0.1 (192.168.0.1)  1.829 ms  0.746 ms  1.684 ms
     2  192.168.1.1 (192.168.1.1)  2.326 ms  3.365 ms  1.203 ms
     3  100.64.0.1 (100.64.0.1)  4.659 ms  5.613 ms  4.055 ms
     4  111.175.227.145 (111.175.227.145)  12.399 ms  7.991 ms  8.013 ms
     5  111.175.210.221 (111.175.210.221)  6.997 ms  10.958 ms  4.180 ms
     6  202.97.98.29 (202.97.98.29)  21.216 ms
        202.97.98.25 (202.97.98.25)  21.428 ms *
     7  * * *
     8  * * *
     9  * 14.18.199.106 (14.18.199.106)  22.443 ms  20.399 ms
    10  * * *
    
    

    显示IP地址,不查主机名

    > traceroute -n rumenz.com
    traceroute to rumenz.com (203.195.152.245), 64 hops max, 52 byte packets
     1  192.168.0.1  2.484 ms  1.271 ms  0.813 ms
     2  192.168.1.1  1.320 ms  1.103 ms  1.075 ms
     3  100.64.0.1  2.914 ms  4.107 ms  4.372 ms
     4  111.175.227.145  7.279 ms  7.915 ms  9.007 ms
     5  111.175.210.221  3.729 ms  4.100 ms  4.160 ms
     6  202.97.29.49  25.172 ms
        202.97.34.66  23.798 ms
        202.97.29.53  18.034 ms
     7  * * *
     8  * * *
     9  * * *
    10  * * *
    11  * * *
    12  * * *
    13  * * *
    14  * 203.195.152.245  21.635 ms  22.201 ms
    

    把探测包的个数设置为值4

    > traceroute -q 4 rumenz.com
    traceroute to rumenz.com (203.195.152.245), 64 hops max, 52 byte packets
     1  192.168.0.1 (192.168.0.1)  2.265 ms  2.010 ms  0.669 ms  1.103 ms
     2  192.168.1.1 (192.168.1.1)  1.159 ms  1.207 ms  1.082 ms  1.181 ms
     3  100.64.0.1 (100.64.0.1)  6.105 ms  4.068 ms  2.737 ms  3.858 ms
     4  111.175.227.145 (111.175.227.145)  12.785 ms  11.772 ms  11.710 ms  7.463 ms
     5  111.175.210.221 (111.175.210.221)  11.646 ms  5.033 ms  4.373 ms  5.631 ms
     6  * 202.97.29.57 (202.97.29.57)  21.332 ms *
        202.97.17.5 (202.97.17.5)  26.080 ms
     7  * * * *
     8  * * * *
     9  14.18.199.106 (14.18.199.106)  26.460 ms  20.790 ms  25.815 ms *
    10  * * 14.18.199.74 (14.18.199.74)  22.642 ms *
    11  * * * *
    12  * * * *
    13  * * * *
    14  203.195.152.245 (203.195.152.245)  22.046 ms  22.201 ms  20.328 ms  24.846 ms
    

    绕过正常的路由表,直接发送到网络相连的主机

    > traceroute -r rumenz.com
    traceroute to rumenz.com (203.195.152.245), 64 hops max, 52 byte packets
    traceroute: sendto: Network is unreachable
     1 traceroute: wrote rumenz.com 52 chars, ret=-1
     *traceroute: sendto: Network is unreachable
    traceroute: wrote rumenz.com 52 chars, ret=-1
     *traceroute: sendto: Network is unreachable
    traceroute: wrote rumenz.com 52 chars, ret=-1
    

    探测包的等待响应时间设置为3秒

    > traceroute -w 3 rumenz.com
    traceroute to rumenz.com (203.195.152.245), 64 hops max, 52 byte packets
     1  192.168.0.1 (192.168.0.1)  2.835 ms  0.894 ms  0.967 ms
     2  192.168.1.1 (192.168.1.1)  1.289 ms  1.174 ms  1.091 ms
     3  100.64.0.1 (100.64.0.1)  3.327 ms  2.985 ms  4.280 ms
     4  111.175.227.145 (111.175.227.145)  13.337 ms  12.301 ms  9.081 ms
     5  111.175.210.221 (111.175.210.221)  3.484 ms  5.052 ms  4.033 ms
     6  202.97.98.25 (202.97.98.25)  19.580 ms
        202.97.17.1 (202.97.17.1)  21.139 ms
        202.97.34.66 (202.97.34.66)  21.232 ms
     7  * * 113.96.5.82 (113.96.5.82)  26.111 ms
     8  * * *
     9  * 14.18.199.106 (14.18.199.106)  22.279 ms *
    10  * * *
    11  * * *
    12  * * *
    13  * * *
    14  * 203.195.152.245 (203.195.152.245)  22.335 ms  21.387 ms
    

    Traceroute的工作原理

    UDP 和 ICMP Traceroute

    Traceroute 的基本原理是向外发送带有逐次递增 TTL 的数据包从而获取的路径中每一跳的信息。

    img

    Host A 向 Host B 做 traceroute,Host A 第一次会发出一个 TTL=1 的数据包,当该数据包到达 R1 时,TTL 会变为 0 (网络上每经过一跳 TTL 会减去 1),R1 会将 TTL=0 的数据包丢弃并返回一个 ICMP Time Exceeded 给 Host A。Host A 发出第二个数据包并将 TTL 增加1 (TTL=2),该数据包到达 R2 后 TTL=0,R2 向 Host A 返回 ICMP Time Exceeded。依此类推,直到 TTL 增加到一个合适的值让数据包顺利到达 Host B,Host B 会返回一个 Final Replay 给 Host A。

    UDP 和 ICMP traceroute 的区别就在于向外发送的数据包(上图中红色标明的 packet)和最后的 final reply。

    • UDP 向外发送的是一个 UDP 数据包,final reply 是 ICMP Destination Unreachable
    • ICMP 向外发送的是一个 ICMP Echo Request,final reply 是 ICMP Echo Reply

    TCP Traceroute

    TCP traceroute 同样利用了 TTL 来探测网络路径但是它向外发送的是 TCP SYN 数据包,这样做最大的好处就是穿透防火墙的几率更大因为 TCP SYN 看起来是试图建立一个正常的 TCP 连接。

    关于 Cisco 的 traceroute 更详细的资料可以参考 Cisco Using the traceroute Command on Operating Systems (Document ID:22826).

    原文链接:https://rumenz.com/rumenbiji/linux-traceroute.html
    微信公众号:入门小站

    展开全文
  • Linux traceroute命令

    千次阅读 2021-05-09 02:14:38
    作为开发人员针对网络的路由追踪是经常使用的,Linux系统的traceroute命令、windows系统的tracert命令,接下来吾爱编程就为大家详细的介绍一下linux系统traceroute命令安装和路由跟踪指令详解,有需要的小伙伴可以...
  • traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点...
  • traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的...
  • 如何在Linux上使用traceroute命令

    千次阅读 2020-09-19 18:53:14
    Fatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / Shutterstock You can use the Linux traceroute command to spot the slow leg of a network packet’s journey and troubleshoot sluggish ...
  • 使用操作系统的 traceroute 命令

    千次阅读 2021-07-28 00:36:23
    使用 traceroute 命令可以返回数据包所经过的跃点序列,从而确定数据包从给定源到达目的地所通过的路径。您的主机操作系统(例如 Linux 或 Microsoft (MS) Windows)以及 Cisco IOS® 软件都附带此实用程序。本文读者...
  • 关于traceroute命令 (About traceroute Command) Networking is a stand-alone profession done by its professionals. But some simple tools need to know by system administrators. Traceroute mainly uses ...
  • traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小...
  • traceroute 命令

    2019-09-29 17:11:32
    1:traceroute命令原理发送一份UDP数据报,将目的端口号设置为不可达端口号,第一次发送UDP数据报将TTL设置为一,当到达一个路由器的时候TTL减1,接受到此数据报的路由器丢弃该数据报,并且将回传一份ICMP报文,并且...
  • Linux下traceroute命令的使用方法

    千次阅读 2021-05-08 22:29:32
    在Linux系统中,traceroute命令可用于显示数据包经过的路由器的ip地址,了解行走路径,在Linux系统和windows系统中的名称有些不同,不熟悉Linux系统的朋友可能一时没认出来,下面小编就给大家详细介绍下traceroute...
  • linux: traceroute命令

    2021-05-28 11:10:07
    ### linux: traceroute命令 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不...
  • Linux系统中traceroute命令可以追踪到网络数据包的路由途径。下面由学习啦小编为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助!Linux系统中traceroute命令使用详解1.命令格式:traceroute[参数] ...
  • traceroute 命令 Linux中traceroute 命令用于显示数据包到目的主机的路径 Windows中路由追踪命令是tracert。 traceroute 指令可以追踪你发送的数据包在网络中传输的路由途径,主要显示走了什么路,到了什么站。 其...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,721
精华内容 8,288
关键字:

traceroute命令

友情链接: ybzdj.rar