代理服務器流量的兩種方式


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM