代理服务器流量的两种方式

 

0x00 使用场景

 

最近遇到个项目需要走公网服务器的流量进行测试,不然waf会拦死,于是用别人的服务器搞了一上午,发现都没法代理出来,按照大哥的说法是,如果别人做的事情只要1天,那你就花3天的时间去做,不可能做不好的,确实管用。走某个网络的流量,只需要自己给自己开个代理即可,下面使用两种代理方式做演示:

 

0x01 方法一

(1)设置好配置文件:下载后查看一下这两个配置文件,修改配置文件的内容:

 

 frps.ini

[common]
bind_port = xxxxA

 

frpc.ini

[common]
server_addr = xx.xx.xx.xx
server_port = xxxxA

[plugin_socks5]
type = tcp
remote_port = xxxxB
plugin = socks5
plugin_user = test
plugin_passwd = test123

 

看好frps.ini的xxxxA是需要与frpc.ini中的xxxxA对应起来的,即:都需要是同一端口。你可以想象为,流量要通的话,需要从一个门进入,然后这条过道,得是另一个端口,也就是xxxxB。

而为了让我们都使用这一条过道,配置代理后我们需要通过这条过道进行连接,所以remote_port就是我们连接的端口。server_addr就设置为自己的这台公网服务器的IP即可。

 

(2)同时在服务器运行:

./frps -c frps.ini
./frpc -c frpc.ini

 

(3)开启代理后,我们在本机测试一下是否成功:

 

这些基础的配置流程就不详细讲解了,然后我们使用火狐浏览器查看一下IP地址的话,就能发现自己本机已经开始走自己公网服务器的流量了:

 

0x02 方法二

使用ssh开启代理:

ssh命令除了登陆以外还有三种常用的代理功能:

正向代理(-L):相当于iptable的port forwarding

反向代理(-R):相当于frp或者ngrok

socks5代理(-D):相当于ss/ssr指定本地动态应用程序级端口转发。这通过分配一个套接字来侦听本地端的端口(可选地绑定到指定的bind_address)来实现。每当与此端口建立连接时,该连接都会通过安全通道转发,然后使用应用协议确定从远程计算机连接到的位置。当前支持SOCKS4SOCKS5协议,而ssh将充当SOCKS服务器。只有root可以转发特权端口。动态端口转发也可以在配置文件中指定。

 

建立隧道命令格式:ssh <参数> <代理模式> <侦听端口>:<目标IP>:<目标端口> user@<sshserver> -p <ssh server port>

-C:压缩传输,提高传输速度

-f:将ssh传输转入后台执行,不占用当前的shell

-N:静默连接,连接后看不到具体会话

-g:允许远程主机连接本地用于转发的端口

-L:本地端口转发

-R:远程端口转发

-D:动态转发(SOCKS 代理)

-p:指定ssh端口

 

前提条件,在上文中,假如我们的公网服务器只开放了22端口,我们就没法再使用frp进行代理了。

 

 (1)使用远程端口转发(反向代理),将公网服务器的22端口转发出来:

ssh -gD 端口Port 用户名@公网服务器IP

 

(2)proxifer设置一下代理服务器

 

 

 

 (3)火狐访问一下:

 

(4)使用完成记得reboot一下服务器,方便快捷,这样就不会再有这个代理了:

以上就完成了两种方式做代理,走自己公网服务器的流量,ssh的其他功能等我使用到的时候再记录下来。

 

0x03 参考文章

参考链接:https://www.freebuf.com/articles/network/284921.html

posted @ 2022-04-05 20:30  铺哩  阅读(413)  评论(0编辑  收藏  举报