В чем разница между tracepath и traceroute или они одинаковы?

11

Я вижу две команды, которые дают схожий вывод, но понятия не имею, есть ли разница между ними или нет. Например,

[$] 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

Хотя я понимаю, что оба могли пройти разные маршруты, хотя имели одинаковое количество прыжков. Я вижу, что последний / второй traceroute дает немного больше информации о промежуточных серверах, т.е. вместо того, чтобы просто давать статические IP-номера, дать имя / URL-адрес, если кто-то хочет обратиться или определить промежуточный адрес.

Для чего это стоит, вот два пакета / команды -

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

а также

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

Я прочитал man-страницы, и, по крайней мере, для tracepath говорится, что главное - это дать MTU, и если мое предположение верно, то 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-tracepath , что трассировка имеет некоторые более продвинутые команды

К сожалению, эта веб-страница устарела, поэтому я не уверен, насколько она хороша или плоха сегодня

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

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

Было бы неплохо, если бы кто-нибудь мог сравнить их и поделиться некоторыми результатами.

Также может кто-нибудь поделиться продвинутыми командами, которые может выполнять traceroute, но не может tracepath?

С нетерпением жду, чтобы узнать.

Shirish
источник
6
См. Askubuntu.com/questions/114264/…
Валентин Байрами

Ответы:

5

tracerouteэто традиционная команда UNIX. tracepathэто более новая команда, которая добавлена ​​в поддержку обнаружения MTU. Поскольку tracerouteтеперь есть опция --mtu, и ее можно запускать как обычный пользователь, я даже не удосужился установить ее tracepathна свои машины.

Если вы хотите попробовать что-то более причудливое и полезное, чем любой из них, сделайте снимок mtr( apt install mtr-tiny). Это как комбинация трассировки и пинга. В частности, я считаю, что полосовая диаграмма при использовании --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
hackerb9
источник