端口转发与反向隧道

引言

最近了解到一个叫做反向隧道的东西,发现这个可以用来很多黑科技的事情,于是就尝试了一下

准备材料

  • 一台云服务器
  • 一台带有ssh client的计算机

ssh动态端口转发

ssh有三种转发模式,本地端口转发 远程端口转发 动态端口转发,对应的参数分别是 -L -R -D
如果仅仅作为正向代理服务器的话,我们只要使用动态端口转发就可以了(这里只介绍动态端口转发进行科学上网,ssh更详细的用法还是查看手册比较好)

ssh -D  localhost:1991 root@server_ip

这样就在本地的1991端口开启了一个socks代理,接着是配置火狐浏览器的代理功能首选项->设置->手动设置代理

socks主机: localhost
端口: 1991

这样当前计算机就能通过1991端口,转向到云服务器从而获取网络资源了 ,不过这样只能给本机使用,如果希望当前局域网内的所有计算机使用的话,只要稍微改一下地址就可以了,假设本地计算机的ip地址是192.168.10.10,那么使用命令如下

ssh -D 192.168.10.10:1991 root@server_ip

这样在火狐浏览器中的配置就是

sockes主机: 192.168.10.10
端口: 1991

配置到局域网的ip之后,本地局域网内的所有计算机都可以通过这个ip进行代理,但是本机不能使用127.0.0.1的地址进行代理,如果你希望本地使用127.0.0.1 的方式并且局域网的其他计算机也可以访问的话,那么还是上一条命令稍稍做一下修改就可以了

ssh -D 0.0.0.0:1991 root@server_ip

这样本地使用127.0.0.1 或者局域网其他计算机使用192.168.10.10 就都可以使用代理服务器了

0.0.0.0其实不算是一个ip地址,它代表 的是你计算机上所有的ip地址

尾声

工具能够帮助你更好的完成一些复杂的任务,但是基础知识能够让你更加灵活的运用工具。

发表评论