Traceroute 在同一网络上返回不同的结果

Traceroute returning different results on the same network

我在我的 Ubuntu 机器上 运行 一个 mtr,并且几乎同时在 Kali 虚拟机上。我在我的家庭网络上对每个 OS 使用不同的网络适配器进行了测试;但是,我得到的结果有时甚至会大不相同。

关于 Ubuntu 设备,我唯一改变的是 DNS 服务。它使用 dnsmasq + dnscrypt-proxy 而 Kali 虚拟机使用默认配置 + google DNS。

这是 google.com 的 mtrnslookup 结果(不要介意时间戳,OS 时间不同步):

root@kali:~# mtr -rw google.com
Start: 2019-10-07T11:44:05-0400
HOST: kali           Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway        0.0%    10    3.3 592.7   2.2 1129. 442.8
  2.|-- 172.16.64.134   0.0%    10   13.6 544.2   8.4 1068. 426.7
  3.|-- 172.16.64.133  10.0%    10  1455. 693.7  61.6 1455. 460.9
  4.|-- 10.201.177.241 10.0%    10  1364. 609.2   9.8 1364. 455.5
  5.|-- 10.202.4.83    40.0%    10  666.9 477.6  39.2 966.4 409.2
  6.|-- 213.202.4.172  20.0%    10  605.5 723.2 226.2 1179. 356.6
  7.|-- 213.202.4.185  10.0%    10  925.2 654.7 104.7 1168. 375.1
  8.|-- ???            100.0    10    0.0   0.0   0.0   0.0   0.0
  9.|-- 172.253.51.130 10.0%    10  738.7 495.5  40.9 984.6 349.2
 10.|-- 216.239.51.113 10.0%    10  647.5 675.8 194.4 1164. 362.4
 11.|-- google.com     30.0%    10  1106. 665.9 105.1 1106. 370.0

root@kali:~# nslookup google.com
;; Got recursion not available from fe80::1%3, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.18.142
Name:   google.com
Address: 2a00:1450:4018:803::200e

ali@Linuxity:~$ mtr -rw google.com
Start: 2019-10-07T19:14:07+0330
HOST: Linuxity                  Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway                   0.0%    10    4.1   3.0   2.4   4.4   0.7
  2.|-- 172.16.64.134              0.0%    10    7.9  11.9   7.6  28.1   6.0
  3.|-- 172.16.64.133              0.0%    10   34.7  53.5   6.9 276.4  84.9
  4.|-- 10.201.177.241             0.0%    10    8.1  46.5   7.9 232.7  75.8
  5.|-- 10.202.4.83                0.0%    10   50.0  69.1  38.9 193.6  46.7
  6.|-- 213.202.4.172             10.0%    10   80.1  89.3  71.3 152.6  25.2
  7.|-- 213.202.4.185              0.0%    10   47.2  47.0  46.5  49.6   0.9
  8.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  9.|-- 172.253.51.132             0.0%    10   43.0  43.1  42.5  44.1   0.5
 10.|-- 108.170.240.56             0.0%    10   83.6  90.2  74.0 169.4  28.1
 11.|-- 209.85.240.12              0.0%    10   44.0  56.9  43.2 141.4  30.2
 12.|-- 172.253.51.215             0.0%    10  163.0 186.9 162.2 405.9  76.9
 13.|-- 216.239.35.209             0.0%    10  164.8 204.8 163.7 542.0 118.7
 14.|-- 172.253.70.208             0.0%    10  236.9 294.5 236.9 590.0 117.4
 15.|-- 216.239.57.136             0.0%    10  254.6 303.9 254.6 586.2 110.3
 16.|-- 209.85.143.103             0.0%    10  265.6 320.6 263.7 641.7 125.0
 17.|-- 108.170.233.245            0.0%    10  331.6 386.0 324.6 668.8 108.9
 18.|-- 108.170.236.119            0.0%    10  422.9 453.5 410.5 630.0  70.5
 19.|-- 216.239.63.163             0.0%    10  422.6 445.1 410.2 586.4  53.6
 20.|-- 209.85.244.63              0.0%    10  382.9 405.5 382.3 542.7  52.3
 21.|-- 108.170.242.161            0.0%    10  383.2 396.6 382.2 499.0  36.6
 22.|-- 74.125.251.235            30.0%    10  383.2 385.6 383.2 394.1   3.8
 23.|-- nrt20s08-in-f14.1e100.net  0.0%    10  380.6 384.0 379.9 414.4  10.7

ali@Linuxity:~$ nslookup google.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.31.142
Name:   google.com
Address: 2404:6800:4004:808::200e


大多数网站都是这样,但有些网站更糟。
我的 ISP 阻止了特定的网站,所以我希望在对它们执行 traceroute 时看不到任何输出,但这些是 facebook.com(被阻止的网站)的 traceroute 结果:

root@kali:~# traceroute facebook.com
traceroute to facebook.com (10.10.34.35), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  16.924 ms  16.837 ms  16.796 ms
 2  172.16.64.134 (172.16.64.134)  17.321 ms  19.512 ms  21.178 ms
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
ali@Linuxity:~$ traceroute facebook.com
traceroute to facebook.com (31.13.64.35), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  2.931 ms  3.275 ms  3.660 ms
 2  172.16.64.134 (172.16.64.134)  16.868 ms  17.432 ms  18.203 ms
 3  172.16.64.133 (172.16.64.133)  19.231 ms  20.119 ms  22.204 ms
 4  78.38.119.182 (78.38.119.182)  22.480 ms 10.201.177.241 (10.201.177.241)  24.190 ms 78.38.119.182 (78.38.119.182)  24.440 ms
 5  10.202.4.83 (10.202.4.83)  77.326 ms 10.202.4.81 (10.202.4.81)  31.733 ms 10.202.4.83 (10.202.4.83)  77.072 ms
 6  10.21.0.11 (10.21.0.11)  35.136 ms ae9.pr01.fra4.tfbnw.net (103.4.96.16)  106.308 ms  105.593 ms
 7  ae9.pr01.fra4.tfbnw.net (103.4.96.16)  105.976 ms * *
 8  ae122.ar02.fra2.tfbnw.net (157.240.32.104)  96.944 ms ae112.ar01.fra2.tfbnw.net (31.13.26.14)  94.836 ms *
 9  ae4.bb02.fra5.tfbnw.net (31.13.26.8)  96.613 ms ae122.ar01.fra2.tfbnw.net (173.252.64.158)  139.115 ms ae122.ar02.fra2.tfbnw.net (157.240.32.104)  108.266 ms
10  ae17.bb01.fra2.tfbnw.net (157.240.47.106)  136.744 ms ae3.bb02.fra2.tfbnw.net (31.13.27.202)  98.110 ms  98.214 ms
11  ae0.ar01.ams2.tfbnw.net (157.240.35.39)  157.430 ms ae2.bb02.ams2.tfbnw.net (74.119.78.92)  156.951 ms ae8.bb02.ams3.tfbnw.net (31.13.27.65)  159.645 ms
12  po211.asw02.ams2.tfbnw.net (157.240.34.203)  197.090 ms ae2.bb02.ams2.tfbnw.net (74.119.78.92)  157.658 ms ae0.ar01.ams2.tfbnw.net (157.240.35.39)  160.155 ms
13  po211.asw02.ams2.tfbnw.net (157.240.34.203)  197.532 ms ae5.bb01.ams3.tfbnw.net (31.13.27.45)  166.561 ms ae1.ar01.ams3.tfbnw.net (157.240.34.173)  189.756 ms
14  po225.psw02.ams2.tfbnw.net (157.240.47.45)  151.310 ms po211.psw04.ams2.tfbnw.net (74.119.78.13)  190.452 ms po241.psw01.ams2.tfbnw.net (157.240.35.179)  150.859 ms
15  173.252.67.157 (173.252.67.157)  150.854 ms 173.252.67.167 (173.252.67.167)  177.751 ms po241.asw02.ams3.tfbnw.net (157.240.34.225)  153.693 ms
16  edge-star-mini-shv-01-amt2.facebook.com (31.13.64.35)  154.070 ms  154.706 ms 157.240.38.253 (157.240.38.253)  146.896 ms

这是什么原因造成的?我到处搜索都无济于事。任何帮助将不胜感激!

编辑:在我的 phone 在 Termux 上对移动数据以及我们的家庭 wifi 进行测试后,结果与 Kali 虚拟机结果相同。这意味着造成这种情况的原因是 OS 本身。


编辑

抱歉回复晚了,我学业忙
正如建议的那样,我改为在 IP 上使用 traceroute,这里是 facebook.com 的结果,IP 取自 nslookup。 Ubuntu 返回 157.240.201.35 和 Kali 10.10.34.35。在这里,我从每台设备对这两个 IP 进行了跟踪路由:

ali@Linuxity:~$ mtr -rw 157.240.201.35
Start: 2019-10-17T13:55:24+0330
HOST: Linuxity                                Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway                                 0.0%    10    2.6   2.8   2.5   4.2   0.5
  2.|-- 172.16.64.134                            0.0%    10   11.8   8.8   7.8  11.8   1.3
  3.|-- 172.16.64.133                            0.0%    10    7.7   8.1   7.4   9.3   0.6
  4.|-- 78.38.119.182                            0.0%    10    8.6   8.0   7.5   8.6   0.4
  5.|-- 10.202.4.81                              0.0%    10   10.3  10.2   9.2  11.8   0.9
  6.|-- 10.21.0.11                               0.0%    10   10.1   9.6   8.4  10.8   0.8
  7.|-- ae9.pr01.fra4.tfbnw.net                  0.0%    10   91.5  85.6  82.8  91.5   3.2
  8.|-- ???                                     100.0    10    0.0   0.0   0.0   0.0   0.0
  9.|-- ae112.ar02.fra2.tfbnw.net                0.0%    10   84.6  86.7  83.2  98.5   4.8
 10.|-- ae33.bb01.fra2.tfbnw.net                 0.0%    10  113.0  91.4  85.1 113.0  10.2
 11.|-- ae12.bb02.ams2.tfbnw.net                 0.0%    10   91.7  92.7  91.5  95.1   1.4
 12.|-- ae1.ar01.ams2.tfbnw.net                  0.0%    10   94.1  98.5  92.2 118.6   8.6
 13.|-- po211.asw02.ams2.tfbnw.net               0.0%    10   91.6  92.5  91.6  94.3   0.9
 14.|-- po224.psw03.ams4.tfbnw.net               0.0%    10   90.2  90.7  89.9  92.5   0.7
 15.|-- 173.252.67.107                           0.0%    10   92.3  95.1  91.6 121.5   9.3
 16.|-- edge-star-mini-shv-01-ams4.facebook.com  0.0%    10   89.3  90.3  88.9  93.6   1.5
ali@Linuxity:~$ mtr -rw 10.10.34.35
Start: 2019-10-17T14:00:50+0330
HOST: Linuxity      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway       0.0%    10    2.5   8.1   2.4  58.6  17.7
  2.|-- 172.16.64.134  0.0%    10    7.9   9.4   7.7  14.6   2.4
  3.|-- ???           100.0    10    0.0   0.0   0.0   0.0   0.0
root@kali:~# mtr -rw 157.240.201.35
Start: 2019-10-17T06:31:46-0400
HOST: kali                                    Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway                                 0.0%    10    2.2   2.8   2.2   3.9   0.5
  2.|-- 172.16.64.134                            0.0%    10    8.1  17.5   8.1  28.8   7.2
  3.|-- 172.16.64.133                            0.0%    10    7.1   8.1   7.1   9.6   0.8
  4.|-- 78.38.119.182                            0.0%    10    8.4   8.1   6.9   8.9   0.6
  5.|-- 10.202.4.81                              0.0%    10    9.9  10.4   8.4  13.4   1.5
  6.|-- 10.21.0.11                               0.0%    10   11.4  10.3   8.7  12.1   1.1
  7.|-- ae9.pr01.fra4.tfbnw.net                  0.0%    10   91.4  85.5  83.3  91.4   2.3
  8.|-- ???                                     100.0    10    0.0   0.0   0.0   0.0   0.0
  9.|-- ae112.ar02.fra2.tfbnw.net                0.0%    10   86.5  90.5  83.3 109.5   8.7
 10.|-- ae33.bb01.fra2.tfbnw.net                 0.0%    10   87.8  86.8  85.0  89.6   1.4
 11.|-- ae12.bb02.ams2.tfbnw.net                 0.0%    10   97.0  92.7  90.3  97.0   2.0
 12.|-- ae1.ar01.ams2.tfbnw.net                  0.0%    10   93.9  95.2  92.4 102.7   3.6
 13.|-- po211.asw02.ams2.tfbnw.net               0.0%    10   92.5  92.1  91.1  92.6   0.5
 14.|-- po224.psw03.ams4.tfbnw.net               0.0%    10   90.2  90.3  89.0  91.6   0.7
 15.|-- 173.252.67.107                           0.0%    10   92.4  92.1  90.4  94.4   1.1
 16.|-- edge-star-mini-shv-01-ams4.facebook.com  0.0%    10   89.7  90.1  88.8  91.5   0.8
root@kali:~# mtr -rw 10.10.34.35
Start: 2019-10-17T06:32:21-0400
HOST: kali          Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway       0.0%    10    2.4   2.7   2.2   3.0   0.3
  2.|-- 172.16.64.134  0.0%    10    8.2  14.2   8.0  53.1  13.8
  3.|-- ???           100.0    10    0.0   0.0   0.0   0.0   0.0

很明显,结果是相同的。我在其他网站上尝试过,但即便如此,前几个结果似乎更有意义。

我在启用 VPN 服务的情况下尝试了相同的输入。追踪 'private' 10.10.34.35 地址只是在 _gateway 中造成无限循环,这实际上证实了你的建议,并且对 facebook.com 这样做现在也没有显示这些私人地址的迹象。

此处的默认方法是 UDP,但使用 TCP 得到的结果非常相似。

发生的另一件有趣的事情是,在对之前的 IP 31.13.64.35 进行另一个 traceroute 之后,结果现在不同了,表明它可能是一个较新的地址,并且最近被我的 ISP 阻止了。


这一切都告诉我,对于任何未加密的 DNS 请求,您对您的 ISP 的信任度是多么低,以及它们是如何被轻易操纵的……
无论如何,谢谢大家的投入!我希望我能给你所有的赏金,但我只会把它给 antichris 因为他的回答给出了一个非常好的总结和对该主题的理解。

路由

您看到的是您的跟踪在您的 ISP 基础设施中的前几跳(172.16.0.0/1210.0.0.0/8 是私有网络地址块):

...
  2.|-- 172.16.64.134
  3.|-- 172.16.64.133
  4.|-- 10.201.177.241
  5.|-- 10.202.4.83
...

之后,在目标基础设施中(Google 和 Facebook 都运行着庞大的多主机网络):

  • 172.253.0.0/16 是 Google LLC,
  • 103.4.96.0/22 是 Facebook Singapore Pte Ltd.

此外,请注意两者之间惊人的相似之处 私人 10.202.4.83213.202.0.0/20 网络中的两个 OmanMobile Telecommunication 公司地址紧随其后:

...
  5.|-- 10.202.4.83
  6.|-- 213.202.4.172
  7.|-- 213.202.4.185
...

我相信它们不仅相关,而且直接映射。

离开 ISP 网络后跳转的不同主机 dynamic routing 在工作。

DNS 欺骗

至于为什么 traceroute 到 facebook.com 在 172.16.64.134 之后失败——很简单:您的 ISP 拦截了您在 Google 上查找 DNS 的尝试' s 8.8.8.8 服务和欺骗回复 facebook.com 以解析为 10.10.34.35,这是您 ISP 基础设施中的私有地址(甚至可能不是实际连接的主机)。当您通过 DNSCrypt 请求相同域名的 IP 地址时,您的 ISP 无法监听和欺骗响应,您会得到有效响应:31.13.64.35(Facebook Ireland Ltd,31.13.64.0/18)。

总而言之,这一切都为使用 DNS over TLS、DNS over HTTPS 和 DNSCrypt 等工具提供了令人信服的理由——这些都可以防止恶意行为者拦截您的流量并将其重定向到他们的基础设施。

记住:whois 是你的朋友!