返回

内网穿透工具FRP使用

FRP是什么

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

总而言之,frp就是一个类似跳板机的东西,使得原本在内网的服务可以被公网访问。

安装

因为我的新服务器安了一个 1panel 面板,所以安装步骤直接变得很简洁,直接到面板的应用商店中选择 frp服务端 安装。

然后打开配置文件 frps.toml,进行基本配置

bindAddr: 监听的服务端IP地址
bindPort: 监听的服务端端口号
vhostHTTPPort: 虚拟主机端口 #这个和想的不一样
auth.method: 身份验证方式
auth.token: 身份验证口令
webServer.addr: Web管理面板监听地址
webServer.port: Web管理面板监听端口
webServer.user: Web管理面板用户名
webServer.password: Web管理面板密码

这就是一份 frp 服务端的基本配置,为什么说 vhostHTTPPort 和想象的不一样呢,因为这个东西指的不是 IP:Port 这种访问方式的端口,而是虚拟域名的访问端口,例如当我们在这里设置为 4444 后,我们在客户端访问时就需要在我们的自定义域名后加上这个端口号,这个是一个坑点。 然后我们配置客户端,访问 FRP项目主页,在 release 中选择最新版本,以及自己的平台下载,比如我这里选择的是frp_0.58.1_windows_amd64,下载之后解压,删掉 frps. exe,frps. toml,只留下 frpc 相关的文件,然后打开 frpc.toml,编辑配置如下

serverAddr = "服务器地址"
serverPort = 7000

[auth]
additionalScopes = ['HeartBeats', 'NewWorkConns']
method = 'token'
token = '内容'

[[proxies]]
name = "web-tcp-4444"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["ddnsgo.moe"]

这样一个 http 中转代理的配置就写好了,为什么说有坑点呢,frpc 配置文件中的这个 customDomains 可以是不存在的域名,只需要在 host 文件中做好与服务器 IP 的对应即可,一开始我这里卡了很久,然后发现 http 类型的代理不需要远程端口这一项,但是必须写自定义域名,这样我们需要访问的地址就是 ddnsgo.moe:4444,非常反直觉,然后 frp 会将我们的流量转发到本地的 80 端口,达到访问内网的目的。

连接

在服务端直接在面板上点击启动即可启动 frps

而客户端则需要在 shell 中执行 frpc.exe -c frpc.toml。 此时访问刚才的域名+端口即可。

但我怎么也没找到如何使用 tcp 类型,然后直接 IP:Port 方式访问网站,应该是作者不想支持吧。

总结

通过 frp,实现了对内网服务的访问,方便以后用于反弹 shell 或者拿下服务器后文件传输,命令执行等操作。

Licensed By 猫南北
最后更新于 2025 年 10 月 22 日 22:44