Tracepath 和 Traceroute 之间有什么区别或者相同?

Tracepath 和 Traceroute 之间有什么区别或者相同?

我看到两个命令给出相似的输出,但不知道两者之间是否存在差异。例如

[$] tracepath debian.org                                                                                                           
 1?: [LOCALHOST]                      pmtu 1500
 1:  _gateway                                              0.819ms 
 1:  _gateway                                              0.780ms 
 2:  _gateway                                              0.751ms pmtu 1400
 2:  ???                                                  43.462ms 
 3:  ???                                                  43.907ms asymm  4 
 4:  ???                                                  48.361ms 
 5:  ???                                                  46.492ms 
 6:  ???                                                  48.009ms asymm 10 
 7:  ???                                                  74.740ms asymm  9 
 8:  ix-ae-4-2.tcore1.CXR-Chennai.as6453.net              69.183ms asymm 10 
 9:  if-ae-13-2.tcore1.SVW-Singapore.as6453.net          285.982ms asymm 17 
10:  if-et-23-2.hcore2.KV8-Chiba.as6453.net              204.874ms 
11:  10ge4-5.core1.pao1.he.net                           298.418ms asymm 15 
12:  isc.gige-g4-17.core1.pao1.he.net                    299.967ms asymm 14 
13:  debian.org                                          307.865ms reached
     Resume: pmtu 1400 hops 13 back 14 

[$] traceroute debian.org                                                                                                          
    traceroute to debian.org (149.20.4.15), 30 hops max, 60 byte packets
     1  _gateway (192.168.1.1)  0.538 ms  1.083 ms  1.474 ms
     2  117.195.64.1 (117.195.64.1)  26.240 ms  28.890 ms  31.076 ms
     3  218.248.164.82 (218.248.164.82)  34.412 ms  37.050 ms  39.784 ms
     4  218.248.235.197 (218.248.235.197)  45.841 ms  47.977 ms  50.955 ms
     5  218.248.235.198 (218.248.235.198)  52.842 ms  56.184 ms  57.904 ms
     6  61.246.195.185 (61.246.195.185)  61.216 ms  62.437 ms 115.113.165.93.static-mumbai.vsnl.net.in (115.113.165.93)  64.571 ms
     7  172.17.169.202 (172.17.169.202)  94.358 ms 125.62.187.214 (125.62.187.214)  145.327 ms *
     8  ix (180.87.36.9)  48.755 ms  54.609 ms  56.072 ms
     9  if (180.87.36.83)  274.598 ms 100ge4-1.core1.nyc4.he.net (72.52.92.166)  309.468 ms  310.433 ms
    10  100ge14-1.core1.sjc2.he.net (184.105.81.213)  295.462 ms  295.832 ms if (180.87.67.33)  198.356 ms
    11  10ge4 (72.52.92.69)  299.283 ms  304.763 ms  297.574 ms
    12  isc.gige (72.52.94.70)  310.593 ms  313.728 ms  286.095 ms
    13  debian.org (149.20.4.15)  274.097 ms if-ae-7-2.tcore1.PDI-Palo-Alto.as6453.net (209.58.86.74)  259.125 ms debian.org (149.20.4.15)  279.229 ms

虽然我知道两者可能采取不同的路线,尽管跳数相同。我确实看到后/第二个跟踪路由提供了有关中间服务器的更多信息,即,如果有人想要寻址或找出中间地址,则不只是提供静态 IP 号码,而是提供名称/URL。

以下是两个包/命令 -

[$] dpkg -L iputils-tracepath | grep /usr/bin/tracepath                                                                            
/usr/bin/tracepath

[$] traceroute: /usr/bin/traceroute.db

我已经阅读了联机帮助页,至少对于跟踪路径,它说主要的是给出最大传输单元如果我的猜测是正确的,那么 MTU 可能是我的 ISP 的网关,它共享为 PMTU(我不确定 P 代表什么)

 _gateway                                              0.751ms pmtu 1400

所有其他连接都是不对称的,这意味着它们很容易发生变化。

更新 - 评论者共享的链接似乎有一些过时的信息。

据我所知,这两个命令都不再需要 root 了 -

[$] which traceroute                                                                                                               
/usr/bin/traceroute

[$] which tracepath                                                                                                                
/usr/bin/tracepath

它一直暗示在 askubuntu.com 论坛上共享的链接之一https://www.techwalla.com/articles/differences- Between-traceroute-tracepathTraceroute 有一些更高级的命令

不幸的是,该网页已过时,所以我不确定它今天的效果如何

[$] aptitude show traceroute | grep Version                                                                                        
Version: 1:2.1.0-2

[$] aptitude show iputils-tracepath | grep Version                                                                                 
Version: 3:20161105-1

如果有人可以比较两者并分享一些发现,那就太好了。

另外,有人可以分享一下traceroute 可以执行但tracepath 不能执行的高级命令吗?

期待知道。

答案1

traceroute是传统的 UNIX 命令。tracepath是一个较新的命令,添加了对检测 MTU 的支持。由于traceroute现在有一个 --mtu 选项并且可以作为普通用户运行,我什至不需要tracepath在我的机器上安装。

如果您想尝试比这两者更奇特、更有用的东西,请尝试一下mtr( )。apt install mtr-tiny它就像traceroute 和ping 的组合。特别是,我发现使用时的条形图--displaymode 1对于准确诊断网络问题发生的位置非常有用。

                             My traceroute  [v0.87]
            example.lan                           Sun Mar 25 00:07:50 2017

                                       Packets                Pings
Hostname                            %Loss  Rcv  Snt  Last Best  Avg  Worst
 1. example.lan                        0%   11   11     1    1    1      2
 2. ae-31-51.ebr1.Chicago1.Level3.n   19%    9   11     3    1    7     14
 3. ae-1.ebr2.Chicago1.Level3.net      0%   11   11     7    1    7     14
 4. ae-2.ebr2.Washington1.Level3.ne   19%    9   11    19   18   23     31
 5. ae-1.ebr1.Washington1.Level3.ne   28%    8   11    22   18   24     30
 6. ge-3-0-0-53.gar1.Washington1.Le    0%   11   11    18   18   20     36
 7. 63.210.29.230                      0%   10   10    19   19   19     19
 8. t-3-1.bas1.re2.yahoo.com           0%   10   10    19   18   32    106
 9. p25.www.re2.yahoo.com              0%   10   10    19   18   19     19

相关内容