FRP的使用

一,简介

        FRP(Fast Reverse Proxy)是一款使用Go语言开发的高性能的反向代理工具,主要用于内网穿透,使得外部网络可以访问内网中的服务。FRP 支持 TCP、UDP 协议,适用于多种应用场景,如远程桌面、Web 服务、游戏服务器等。

二,下载安装

在GitHub上下载即可;

支持Linux和Windows等多种版本;

下载完成之后在本地解压;

FRP 包含两个主要组件:frps(服务端)和 frpc(客户端)

包括两个可执行文件和两个配置文件;

对于S端的配置文件;

[common]
bind_port = 7000

#bind_port表示服务端要监听的端口

对于C端的配置文件;

[common]
serverAddr = "127.0.0.1"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

#server_addr表示服务端的公网 IP 地址
#server_port:服务端的监听端口

#[[proxies]]表示一个代理的服务
#type表示服务类型,这里为 tcp
#local_ip:本地服务的 IP 地址
#local_port:本地服务的端口
#remote_port:远程服务的端口

三,实验

首先来看拓扑结构;

VPS是一台具有公网IP的云服务器;

在这里充当Server端,修改其配置文件;

[common]
bind_port = 7000

运行命令;

./frps -c frps.ini 

在本地开始监听7000端口;

由一台内网机器来充当客户端,修改其配置文件;

[common]
serverAddr = "127.0.0.1"
#这里的IP地址填写VPS的IP地址,也就是公网的IP
serverPort = 7000
#端口和服务端配置文件的保持一致

[[proxies]]
name = "22端口的转发"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
#本地的IP地址及端口
remotePort = 6000
#转发到服务器的端口

这个配置文件的目的是将本地22端口的流量通过服务端的7000端口,抓发给6000端口;

运行命令;

./frpc -c frpc.ini 

至此配置完成;

现在使用渗透测试人员的电脑,访问VPS的6000端口就相当于访问内网机器的22端口;

上述方式仅仅是实现了某个端口的转发;

通过修改Client端的配置文件,也可以实现全局的代理;修改如下:

[common]
serverAddr = "127.0.0.1"
#这里的IP地址填写VPS的IP地址,也就是公网的IP
serverPort = 7000
#端口和服务端配置文件的保持一致

[[proxies]]
type = tcp
plugin = socks5
#这里还可以使用http协议
remotePort = 6000
#转发到服务器的端口

### 如何在 AutoDL 中配置和使用 FRP 实现内网穿透或端口转发 #### 安装 FRP 要在 AutoDL 环境下安装并配置 FRP,首先需要下载适合操作系统的版本。对于 Linux 用户来说,可以通过命令行工具 wget 或 curl 下载最新版的 frp 压缩包。 ```bash wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz tar -zxvf frp_0.47.0_linux_amd64.tar.gz cd frp_0.47.0_linux_amd64 ``` #### 配置服务器端 (VPS/云服务器) 创建 `frps.ini` 文件用于定义服务端参数: ```ini [common] bind_port = 7000 ; 绑定到此端口监听来自客户端连接请求 vhost_http_port = 80; 如果计划做 HTTP(S)代理,则设置该选项指定HTTP(S)流量进入哪个本地端口 token = your_token ; 设置 token 来验证客户端身份合法性 dashboard_port = 7500; 可选, 开启管理面板功能,默认关闭 ``` 启动 FRP 服务端程序: ```bash ./frps -c ./frps.ini & ``` #### 配置客户端 (AutoDL 计算节点) 编辑 `frpc.ini` 文件来描述如何映射远程机器上的资源到本机上: ```ini [common] server_addr = x.x.x.x ; 这里填写上面提到的服务端 IP 地址 server_port = 7000 ; 和 bind_port 对应一致 token = your_token ; 同样填入之前设定好的 token 字符串 [tcp_service_name] type = tcp ; 显式声明这是一个 TCP 类型隧道 local_ip = 127.0.0.1 ; 表明实际提供服务所在位置(即localhost) local_port = 9000 ; 此处为本地应用正在运行所占用的真实端口号 remote_port = 6001 ; 设定好外部世界访问这个内部服务时使用的虚拟端口编号 ``` 启动 FRP 客户端实例: ```bash nohup ./frpc -c ./frpc.ini &>/dev/null & ``` 此时,在 VPS 上通过 `<your_vps_ip>:6001` 就可以成功访问位于 AutoDL 内部网络中的应用程序了[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕舟舟.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值