我一直在 Linux 桌面上使用 sshuttle 来规避越南 ISP 的限制。但是我想知道是否有类似且易于使用的 Windows 软件?是否有可以通过 ssh 隧道重定向所有/选定流量的软件?
答案1
我相信原作者想要一种隧道传输所有流量的方法,而不仅仅是那些允许你设置代理设置的流量。问题是有些程序不让你指定代理设置,这就是 sshuttle 发挥作用的地方。sshuttle 允许任何程序通过你的隧道,而不仅仅是那些你指定代理服务器的程序。
答案2
更好的办法是 - 使用 PuTTY 并通过它进行设置。您不需要任何像 ProxyCap 这样的工具,只需将浏览器的 SOCKS 代理设置指向您为 -D 指定的任何端口上的本地主机即可。
关于这一点,有一点需要注意。“问题解决”并不完全正确。虽然您的正常浏览器流量 http/s 将通过 SSH 隧道,但仍存在一些问题,其中一个问题可以通过此方法解决,另一个问题则无法解决。
sshuttle 的优点在于它不会将 TCP 置于 TCP 之上。这样做是错误的,这就是他们不这样做的原因。他们在本地混合所有流量,然后通过 SSH(TCP)隧道发送,并在另一端(ssh 服务器端)重新组装。这很可能就是 OP 提出这个问题的原因。当我找到这篇文章时,我正在寻找具有此功能的东西......
要注意的第二件事是,除非您通过隧道重定向来自浏览器的所有 DNS 流量,否则您将通过网络“泄露”您的 DNS 查询,这将在很大程度上否定您的 SSH 隧道的用途。
例如,使用 Firefox,在 URL 字段中输入“about:config”(不带“”),接受“我会小心”,然后过滤“socks_remote_dns”,然后双击该条目将其更改为“True”。就是这样,您的浏览器 DNS 现在也将通过指定的代理端口。但仍然无法解决 TCP over TCP 问题,因此您将无法获得良好的会话体验。
关于 tcp over tcp 的更多阅读材料可以在这里找到:https://github.com/apenwarr/sshuttle
答案3
对于 Windows,使用赛格威然后 ssh 到你的目的地:
ssh -D 8000 -N [email protected]
立即下载代理卡对于 Windows 并在端口 8000 上设置 socks5 代理到本地主机。问题解决了,一切都通过 ssh 隧道进行。
答案4
您可以在虚拟机上运行 sshuttle,并将流量重定向到该虚拟机。请查看以下内容: