frp

frp

​ 官方介绍

[!NOTE]

​ frp 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。此外,还可以通过 xtcp 实现 P2P 通信。

github地址:fatedier/frp

​ 个人介绍

​ frp 其实就是反向代理,将内网服务暴漏到公网上

【推荐一个脚本】

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 工具可以在内网渗透过程中,将内网服务暴露到公网上,从而实现某些目的

posted @ 2024-11-28 15:22  酷比灯  阅读(58)  评论(0)    收藏  举报