FRP代理

FRP代理

附上官网的部分介绍:

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
  • 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

https://github.com/fatedier/frp/tree/dev

本地虚拟机环境

虚拟网卡配置

网络环境具体如下:

主机 服务类型 虚拟网卡 网卡模式 IP地址
WIN0 仿攻击机 VM0 桥接 192.168.0.108
Centos 仿VPS VM0 桥接 192.168.0.106
Win1 DMZ服务器 VM0 VM8 桥接
NAT
192.168.0.107
192.168.234.150
WIN2 内网1服务器 VM8 VM10 NAT
HOST
192.168.234.149
10.10.22.129
WIN3 内网2服务器 VM10 HOST 10.10.22.128

这样设置的原因为了仿真一个两层局域网环境,纯为了本地学习FRP代理工具使用的方法。

WIN0、Centos、win1机器可以互通。

Win1、WIN2可以互通,WIN2只有Win1、WIN3可以发访问。

WIN3只有WIN2可以访问。

一层代理

目的:通过使用win1的socks代理,可以访问win2服务器环境,达到可以在本地win0机器上访问192.168.234.xxx网段的服务。

centos vps

配置 frps.ini

[common]
bind_port = 7000 # VPS上的FRP服务端绑定的端口

启动服务端:

./frps -c frps.ini

win1 :
192.168.0.107 桥接
192.168.234.150 NAT

frpc.ini 配置:

[common]
server_addr = 192.168.0.106 # 指向FRP服务端绑定的IP地址
server_port = 7000  # 指向FRP服务端绑定的端口

[socks5]
type = tcp
remote_port = 1081 # 要转发到VPS的远程端口
plugin = socks5

启动客户端:

frpc.exe -c frpc.ini

在攻击机就可以使用代理进行访问win2服务器。

代理配置:

使用浏览器配置代理或者proxychains4、proxifier等工具配置IP和端口。

192.168.0.106:1081

然后访问234网段服务(192.168.234.149搭建了phpinfo):

二层代理

目的:通过使用win2的socks代理,可以访问win3服务器环境,达到可以在本地win0机器上访问10.10.22.xxx网段的服务。

centos vps配置frps.ini和一层代理一样:

[common]
bind_port = 7000 # VPS上的FRP服务端绑定的端口

启动服务端:

./frps -c frps.ini

win1:
192.168.0.107 桥接
192.168.234.150 NAT

配置frpc.ini:

[common]
server_addr = 192.168.0.106 # 指向FRP服务端绑定的IP地址
server_port = 7000 # 指向FRP服务端绑定的端口

[socks5_forward]
type = tcp # 所使用的协议
local_ip = 192.168.234.150 # 本地监听的IP地址
local_port = 1082 # 要转发的本地端口
remote_port = 1081  # 要转发到的远程端口

启动客户端:

frpc.exe -c frpc.ini

配置win1的frps.ini:

[common]
bind_ip = 192.168.234.150 # 在win1的FRP服务端绑定的IP地址
bind_port = 7000 # 在win1的FRP服务端绑定的端口

启动服务端:

./frps -c frps.ini

win2:

[common]
server_addr = 192.168.234.150  # 指向win1 FRP服务端绑定的IP地址
server_port = 7000 # 指向win1 FRP服务端绑定的的端口

[socks5]
type = tcp
remote_port = 1082 #代理所使用的端口,会被转发到服务端
plugin = socks5 # 代理的类型

启动客户端:

frpc.exe -c frpc.ini

代理配置:

使用浏览器配置代理或者proxychains4、proxifier等工具配置IP和端口。

192.168.0.106:1081

然后访问22网段服务(10.10.22.128搭建了phpinfo):

posted @ 2023-10-09 22:07  admax11  阅读(125)  评论(0编辑  收藏  举报