![如何验证使用 SOCKS5 代理(通过 SSH -D)浏览是否是 TCP over TCP?](https://linux22.com/image/94842/%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%E4%BD%BF%E7%94%A8%20SOCKS5%20%E4%BB%A3%E7%90%86%EF%BC%88%E9%80%9A%E8%BF%87%20SSH%20-D%EF%BC%89%E6%B5%8F%E8%A7%88%E6%98%AF%E5%90%A6%E6%98%AF%20TCP%20over%20TCP%EF%BC%9F.png)
这关联 当通过 SSH 在 SOCKS 上使用 http 时,讨论 TCP over TCP。
在通过本地主机设置 SOCKS5 代理选项后,我尝试从 Firefox(在 Ubuntu 14.04 上)进行浏览。我使用 SSH(使用 SSH -D 创建)创建了一个到另一台主机的 SOCKS5 连接(然后该主机获取数据包并将其路由出去)。
这关联说 SSH 可以在无加密模式下工作,但是在将建议的小补丁应用到 OpenSSH 的 cipher.c 后,我在wireshark中看到了加密的数据包,尽管它说 (加密:无 mac:[电子邮件受保护]压缩:无)
SSH Protocol
SSH Version 2 (encryption:none mac:[email protected] compression:none)
Packet Length: 48
Encrypted Packet: 0932000000076d696e696e65740000000e7373682d636f6e...
MAC: 1a7bf2cfa15def0f
我想验证这是否实际上是 TCP over TCP 连接。
编辑:启动 SSH -D (ssh user@host2 -D 8080) 时提示输入密码是否重要?不知何故,我无法让主机2不提示我输入密码(即使我将主机1的密钥添加到主机2中)。
答案1
我不确定 ssh 补丁有什么问题。但为什么要观察 ssh 连接的流量呢?您可以嗅探 Web 浏览器和 lo 设备上的转发套接字之间的流量:
tcpdump -i lo port 10080
或者在wireshark中类似。