每当我从不安全的位置(例如公共wifi)使用Internet时,我都喜欢使用ssh隧道(ssh -D port host
)以确保不会监听我的流量。不幸的是,似乎有许多应用程序没有提供指定代理的方法(Flash是一个主要示例)。
感觉应该有某种方法可以对我的计算机中的所有网络流量使用隧道,但是我完全不知道如何执行此操作。任何帮助将不胜感激。
要执行您想要的操作,我建议使用sshuttle。
您可以这样使用它:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
它将自动为您隧穿所有TCP通信。您可以添加--dns
参数以使其也传输隧道DNS流量。远程服务器只需要安装Python。
如果您只想隧道传输特定程序,则建议使用proxychains。
安装完成后,按以下方式启动ssh socks代理:
ssh -fNTD 127.0.0.1:<local port> username@sshserver
这将启动在<本地端口>上侦听的“ SOCKS”代理。
然后编辑/etc/proxychains.conf以指向与<本地端口>相同的端口:
socks5 127.0.0.1 <localport>
最后,启动要代理的程序,如下所示:
proxychains <program name>
它应该工作。但是,一些程序在使用代理链时会遇到麻烦。还请记住,使用Firefox,您必须在about:config下更改其他项,以强制它通过代理进行DNS查找,而不是绕过它。
作为附加说明,在Web浏览器上。如果它们支持袜子代理,则无需执行任何其他操作即可使它们使用上述的ssh隧道,只需为SOCKS代理服务器输入127.0.0.1,为代理端口输入<local port>。
编辑16/3/29
由于该帖子仍然有一些赞誉,我想我将对其进行更新。Proxychains仍然存在于大多数Linux仓库中,并且仍可在Linux上使用。但是,该项目实际上已被放弃,无法在OSX上运行。对于Linux或OSX,我强烈建议升级到仍然维护的fork:proxychains-ng:https : //github.com/rofl0r/proxychains-ng
除了可以在Linux和OSX上运行之外,它还易于编译,并且对DNS隧道提供了更好的支持。
我还应该提到另一种选择,即红袜子。它的工作原理与proxychains(-ng)类似,也可能在您的dist回购中:https : //github.com/darkk/redsocks
编辑19/27/19如果您使用proxychains路线,请使用proxychains-ng。在旧版本上有一些严重的错误修复,例如:https : //github.com/rofl0r/proxychains-ng/issues/292
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句