- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
下面提供FRP工具的下载和官方使用文档:
FRP官方文档:https://gofrp.org/docs
FRP下载地址:https://github.com/fatedier/frp/releases
FRP配置文件(Windows&Linux):
实战环境
IP地址:192.168.92.11
[common]
bind_port = 7000 #表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
dashboard_port = 7500 #是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
token = 815093110 #是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
dashboard_user = bmzgaq
dashboard_pwd = bmzgaq.com #此两项表示打开仪表板页面登录的用户名和密码,自行设置即可。
vhost_http_port = 1080
vhost_https_port = 10443 #此两项用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄
配置好frps.ini文件后就可以在命令行运行frps了,在windows环境下命令行输入以下命令:
frps.exe -c frps.ini
如果是linux环境的话则执行如下命令:
./frps -c frps.ini
如果看到屏幕输出内容如上,即表示运行正常,如果出现错误提示,请检查上面的步骤。没有问题的话,我们就可以访问使用浏览器访问42.1X2.204.XX:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面。
server_addr = 42.1X2.204.XX #VPS服务器的IP
server_port = 7000 #服务端服务器设置frps.ini中的端口
token = 815093110 #服务端服务器设置frps.ini中的密码
[RDP] #服务器名(可以填写web、ssh、ftp等)
type = tcp #连接协议类型
local_ip = 127.0.0.1 #访问的ip可以是内网任何一个ip!
local_port = 3389 #本地端口(根据协议修改)
remote_port = 7333 #远程服务器的ip端口
配置好以上内容呢,我们就可以运行frpc客户端程序了。
将如上工作配置好以后我们就可以直接在本地对靶机内网进行渗透了!例如我们直接远程登录到靶机,打开mstsc,输入frps的公网地址:映射的内网端口。