内网学习笔记 | 11、frp 的使用

  • A+
所属分类:安全文章

1、介绍

相较于前一篇文章介绍的 ew 的年代久远,frp 就好的多了,基本上隔几天就会发布新的版本,最新的一版更新还就在几天前。

在实战中,大家较多使用的也是 frp,frp 项目地址:https://github.com/fatedier/frp

至于下载安装直接在项目的 releases 里下载自己对应的系统版本就行。

2、使用

官方使用文档:https://gofrp.org/docs/

frp 分成服务端和客户端,分别叫 frps 和 frpc,配置文件分别对应 frps.ini 和 frpc.ini

以下环境均为本地环境,VPS IP 为 172.16.214.52,目标主机 IP 为 192.168.7.110

a、内网端口穿透

场景:内网主机可出网,想从公网访问内网主机的 3389 端口

在 VPS 上开启服务端,这里以 kali 为例,首先修改配置文件 frps.ini

[common]bind_port = 4444

然后启动服务端

frps -c frps.ini
> ./frps -c frps.ini2021/06/09 03:45:03 [I] [root.go:200] frps uses config file: frps.ini2021/06/09 03:45:03 [I] [service.go:192] frps tcp listen on 0.0.0.0:44442021/06/09 03:45:03 [I] [root.go:209] frps started successfully

配置客户端配置文件

[common]# 服务端 IPserver_addr = vps_ip# 服务端端口server_port = 4444
[rdp]type = tcplocal_ip = 127.0.0.1local_port = 3389# 连接 vps 的端口remote_port = 3389
> .frpc.exe -c frpc.ini2021/06/09 15:50:29 [I] [service.go:304] [72904e8037a7fdf8] login to server success, get run id [72904e8037a7fdf8], server udp port [0]2021/06/09 15:50:29 [I] [proxy_manager.go:144] [72904e8037a7fdf8] proxy added: [rdp]2021/06/09 15:50:29 [I] [control.go:180] [72904e8037a7fdf8] [rdp] start proxy success

此时,在 vps 上访问本地的 3389 端口就会访问到内网主机的 3389 端口了。

b、建立 socks 代理

场景:内网主机可出网,想把内网主机作为跳板机使用

上面的场景只是利用 frp 访问了内网指定机器的指定端口,我们还可以利用 frp 将内网主机作为跳板机使用。

这次我们用上 frp 的 web 控制面板以及访问密码等功能,让我们建立的连接更加安全、方便。

在 VPS 上开启服务端,服务端配置文件如下:

[common]bind_port = 4444
# 客户端认证 tokentoken = 123456
# 设置 frps 仪表盘端口、账号和密码,实战中用处貌似不大,但如果设置一定要设置强密码dashboard_port = 8000dashboard_user = admindashboard_pwd = password

实战中,为了更好的隐藏自己,最好还是要设置通过域名访问

配置好文件后,启动服务端

frps -c frps.ini
./frps -c frps.ini2021/06/09 04:06:34 [I] [root.go:200] frps uses config file: frps.ini2021/06/09 04:06:35 [I] [service.go:192] frps tcp listen on 0.0.0.0:44442021/06/09 04:06:35 [I] [service.go:294] Dashboard listen on 0.0.0.0:80002021/06/09 04:06:35 [I] [root.go:209] frps started successfully

配置客户端文件

[common]server_addr = vps_ipserver_port = 4444
# 客户端认证 token,需要和服务端 token 保持一致token = 123456
# 启用加密,防止流量被拦截use_encryption = true# 启用压缩,提升流量转发速度use_compression = true
[socks5]type = tcp# 连接 vps 的端口remote_port = 1080plugin = socks5

开启客户端

frpc -c frpc.ini
> .frpc.exe -c frpc.ini2021/06/09 16:11:21 [I] [service.go:304] [ee7ad330ab4e6036] login to server success, get run id [ee7ad330ab4e6036], server udp port [0]2021/06/09 16:11:21 [I] [proxy_manager.go:144] [ee7ad330ab4e6036] proxy added: [socks5]2021/06/09 16:11:21 [I] [control.go:180] [ee7ad330ab4e6036] [socks5] start proxy success

测试 VPS IP 的 1080 的 socks5 代理,发现已经连通了。

打开 frps 仪表盘,登录后,可以看到当前连接数据的相关信息

frp 的参数远不止文章中提到的这些,更多功能可以参考下面的参考文章。

原文链接:https://teamssix.com/year/210611-171526.html

参考文章:

https://www.jianshu.com/p/331aa59fff5d

https://www.anquanke.com/post/id/184855


往期推荐

内网学习笔记 | 10、ew 的使用

内网学习笔记 | 9、iodine 使用

内网学习笔记 | 8、powercat 的使用

本文始发于微信公众号(TeamsSix):内网学习笔记 | 11、frp 的使用

发表评论