ssh 动态端口转发和 tcpdump 显示明文

ssh 动态端口转发和 tcpdump 显示明文

我正在尝试使用 SSH 动态端口转发来加密我的网络流量,以防我碰巧在网吧、酒店等没有实际意义的地方。

在我的笔记本电脑上,我安装了 SSH 服务器并执行:

ssh -C -D 1080 myuser@localost

然后我将浏览器配置为在 localhost:1080 上使用袜子代理

我尝试浏览一些网站以查看发送的内容,但我想我显然做错了什么,因为tcpdump

sudo tcpdump -A -i eth0 dst www.example.com

我以明文形式看到所有内容,甚至包括我在表单上尝试过的一些假密码。

我以为我正在建立加密隧道,无法窥探。

我究竟做错了什么?

谢谢你的时间。

答案1

您正在创建 SOCKS 代理,并使用从本地计算机到localhost.但从 到localhost目标服务器(example.com),数据不再加密。图表:

[browser] ==SOCKS== [localhost:1080] ==SSH== [localhost] ==HTTP== [example.com]

(其中仅 SSH 部分(即 SSH 隧道)被加密)

您只能点对点(从客户端到 ssh 服务器)对此 SOCKS 代理进行加密,而不能进一步加密。 HTTP 服务器期望正常的 HTTP 请求而不是 SOCKS 消息。

如果您想在酒店或其他地方免受窥探,您需要在计算机以外的其他位置(例如 VPS、家里)拥有 SSH 服务器。但它并不能保护您免于窥探另一台计算机的“周围”。

相关内容