如果我建立了到远程服务器的 SSH 隧道,中间人能看到该服务器的 IP 地址吗?
如果我们更进一步,如果 FBI 正在跟踪你(据我所知,我没有被跟踪),如果他们在 ISP 级别监视你,他们能否看到你的流量被传输到哪里?
我之所以问这个问题,是因为如果 FBI 真的追踪我,那么知道 SSH 隧道是否足够有用会很有用。如果他们能找到服务器,他们就可以轻松监控该服务器到互联网的未加密流量。
谢谢。
答案1
这取决于 SSH 隧道的设置方式,但一般来说,有办法跟踪。让我们讨论一下高层次的情况。
当我与服务器建立 SSH 连接时,我与该服务器的 SSH 对话内容是安全的 —— 它们是加密的,因此您必须破解 SSH 才能知道我们在说什么。 然而,承载该对话的 IP 数据包无法加密,因此如果您查看该对话中的一个 IP 数据包,您就会知道我在哪里(IP 源地址)以及 SSH 服务器在哪里(IP 目标地址)。
在 SSH 隧道中,我与服务器的对话是另一个 TCP/IP 对话到其他偏远目的地。因此,在隧道内部,第二个网络连接是加密的,但一旦到达隧道的另一端,它就是未加密的互联网流量。
现在。如果您要找到第二个清晰的对话,那么您将看到的只是对话的最终目的地(IP 目标地址)和 SSH 服务器(IP 源地址)。这些数据包中没有太多东西(仅考虑 TCP/IP 标头)可以将其与在 SSH 服务器计算机上创建的其他互联网流量区分开来;我不认为数据包中有任何具体的东西表明 SSH 与它有任何关系。
这并不意味着它不能与我建立联系——只是你不能通过检查 TCP/IP 标头来做到这一点。例如,深度数据包检测(查看数据有效负载和数据包标头)如果我使用隧道登录我的 Gmail 帐户而不使用 SSL,那么肯定可以识别我。再举一个例子,可以 root 托管我的隧道的 SSH 服务器的人可以找出隧道在哪个端口上运行,然后他们可以通过 TCP/IP 标头跟踪我。
因此,SSH 隧道本身不足以向确定的跟踪器隐藏您的电子足迹。
答案2
最初,数据包将包含通往最终目的地的路由上的下一个目的地 MAC,以及最终目的地(实际上,我们会说最终目的地,因为这样听起来更好)的 IP。数据包的构造方式无法更改。即使数据已加密,您也无法加密目的地,因为每个相应的节点都需要知道将数据包路由到何处。
正如你在wireshark中看到的那样:
目标 MAC 是下一跳(我的路由器)的 MAC,目标 IP 是 Google 的 IP。
笔记:
如果与目标 IP(例如 Google 的 IP)的连接通过 SSH 隧道,则在数据包中只能看到 SSH 隧道的 IP 地址,而看不到 Google 的 IP 地址。
答案3
如果您建议他们可以通过读取目标服务器的“未加密的互联网流量”来读取您的流量,那么您需要意识到加密是双向的。
但是,中间人确实可以看到该服务器的 IP 地址,否则您的数据包就无法路由到该服务器。如果您需要混淆两端的系统(而不仅仅是流量本身),那么您就需要中间的匿名代理服务。