我看到两个命令给出相似的输出,但不知道两者之间是否存在差异。例如
[$] 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