为什么我在 openvpn 中使用 traceroute 时会得到此输出?

为什么我在 openvpn 中使用 traceroute 时会得到此输出?

openvpn我使用从 vpnbook.com 下载的证书包命令设置了 VPN 。然后当我这样做时traceroute www.google.com,我得到了全明星输出。我想知道为什么我得到了那个输出。

root@kali:~# traceroute www.google.com
traceroute to www.google.com (173.194.120.145), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 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  * * *

答案1

通常,当你得到这些输出时,这是因为路由追踪没有回复ICMP Time ExceededICMP Echo Reply消息(或者您可能在它们到达您之前就阻止了它们)。 Traceroute 需要系统发送这些消息才能工作。

VPN 旨在将 LAN 扩展到远程位置,并以屏蔽中间系统的内部数据包的方式进行扩展,因此就像您抽象出中间的所有网络并跟踪路由到您所在同一房间的系统(可能只有 1 个跳数)。

在这种情况下,您将流量发送到SSL 隧道,在两个端点之间创建。端点之间的中介系统 (IS) 可以与隧道外部(带有 SSL 加密负载的数据包)交互,但不能与隧道内的数据包/段交互(这才是您首先进行隧道传输的全部原因;否则将允许中间人攻击)。这些 IS 没有密钥。因此,您发送的 UDP 数据包不会被处理,并且它们的 TTL 不会在每次跳跃时减少,因为 IS 根本不处理数据包。无论外部数据包在端点之间经过多少次跳跃,隧道内的数据包都会经历一次跳跃。

星号表示超时。Traceroute 会不断尝试,每次都会增加 TTL,因为它预计某些系统不会用 ICMP 回复,因此它会一直运行,直到达到其 MAX_HOPS (30)。我怀疑,如果远程端点系统配置为响应 UDP TTL 过期数据包,那么无论隧道使用多少个 IS 到达目的地,您都只会看到从您的端点到远程端点的一跳。

相关内容