frp
frp
官方介绍
[!NOTE]
frp 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。此外,还可以通过 xtcp 实现 P2P 通信。
github地址:fatedier/frp
个人介绍
frp 其实就是反向代理,将内网服务暴漏到公网上
【推荐一个脚本】
我现在常用的就是直接在 VPS 上部署一个脚本,然后改一下配置文件就行了,很方便
手动安装配置
准备
1、有公网 IP 的VPS
2、一台内网主机
github项目地址:frp
在 Releases 中下载对应版本,解压后 frpc 两个文件放在内网主机上,frps 两个文件放在公网VPS上
配置
注意VPS端口开放
编写两个配置文件
# frps.toml
bindPort = 7000 # 服务端与客户端通信端口
transport.tls.force = true # 服务端将只接受 TLS链接
auth.token = "public" # 身份验证令牌,frpc要与frps一致
# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0" # 后台管理地址
webServer.port = 7500 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "admin" # 后台登录密码
# frpc.toml
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "x.x.x.x"
serverPort = 7000 # 公网服务端通信端口
auth.token = "public" # 令牌,与公网服务端保持一致
[[proxies]]
name = "test-http"
type = "tcp"
localIP = "127.0.0.1" # 需要暴露的服务的IP
localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口
remotePort = 6060 # 暴露服务的公网入口
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
然后测试
用python的 http.server 快速启动一个服务
python -m http.server 9000
(根据配置文件里要暴漏的端口为 9000)
然后访问公网 ip:6060 地址
就能访问到 http.server 服务
[!TIP]
使用 frp 工具可以在内网渗透过程中,将内网服务暴露到公网上,从而实现某些目的

浙公网安备 33010602011771号