
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, >内网穿透从字面上来说就是将本地的服务器映射到外网可访问
设想下
如果有已知的公网服务器,那内网的本地服务就可以映射到外网了。
如果没有已知的公网服务器,那只能代理到外网的服务器访问即可。
ps: 公网服务器与可访问外网的服务器是有区别的。区别在于用户访问某宝服务,先是到公网服务器然后再转发的淘宝服务。所以可访问外网的服务器不等于公网服务器。
换句话说直接将服务器部署在与公网服务器相通的机器上不就可以了,我也是这样想的。所以就有生产环境与测试环境,其实内网穿透还是存在安全隐患的,内网穿透大部分应用于测试环境,比如常用的微信相关开发。
最后我们来聊聊FRP与NGROK
两者的原理都一样,通过解析过的域名做本地服务端口映射。
Ngrok相对比较简单,只需要能访问外网的机器即可。可参考 >运行环境:
1阿里云服务器做frp服务器
2路由器做frp客户端。
在被动方式FTP中,命令连接和数据连接都由客户端发起。FRP映射内网服务器的21端口,和至少1个数据传输端口,数据端口貌似不能太大(我用50000不可以),如25840-25842即可。
路由器设置被动端口范围。
所以需开启阿里云安全组端口25840/25842。
本地frp客户端配置文件参考:
运行frp :
现在就可以通过服务器ip:2121连接到内网ftp服务器了。
服务器端配置
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,这个token之后在客户端会用到
token =12345678
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
2可以看到服务器端启动成功,然后我们访问7500端口,输入账号密码,可以看到管理端启动成功。
客户端配置
首先我们上传frpcexe(frp客户端)以及frpcini(客户端配置文件)到内网主机电脑上,启动前需要修改配置文件,代码如下:
# 客户端配置
[common]
server_addr = 服务器ip
# 与frpsini的bind_port一致
server_port = 7000
# 与frpsini的token一致
token = 12345678
# 配置ssh服务, 也可以用来映射其他端口如3389
[ssh]
type = tcp
local_ip = 127001
local_port = 22
# 这个remote_port端口自定义,配置完成后会在公网服务器开启6000端口,来映射内网主机22端口
remote_port = 6000
#socks5代理配置 ,一般这个用途比较多
[socks5]
type=tcp
plugin=socks5
# socks代理账号密码,需要修改不要使用弱口令
plugin_user=admin
plugin_passwd=admin
#映射到共外网服务器的端口
remote_port = 8000
2然后我们配置frpcini中的服务器ip,然后运行 frpcexe -c frpcini 命令,可以看到连接成功
socks5代理配置
1当我们在客户端配置文件中使用了socks5,当我们运行命令连接服务器时,会提示"sock5 start proxy success"
2然后我们安装proxifier(由于软件付费,需要激活码的粉丝可以私信我),安装完成后代开proxifier配置socks代理,首先我们点击"Profile"中的"Proxy Servers"
2然后我们选择添加,然后输入 公网服务器的IP地址和端口,以及frpcini文件中的socks5账号和密码 。
3然后点击"ok",之后会d窗,然后点击"是"
4然后我们就完成了socks5代理配置,现在自己的电脑全部的流量都会通过内网主机代理出去,我们就可以直接访问内网主机的内网,以及配置渗透工具进行内网渗透。可以看到代理检测成功。bind_port是服务器的端口,一般默认这个端口就行,但是如果有其他进程占用这个端口请使用其他端口
6至此服务器端配置就完成了✅
表示客户端启动成功,此时可以在其他任意计算机上通过远程连接访问你的服务器ip测试是否成功连接最近由于网络问题,需要使用frp搭建内网穿透服务,在使用 /frpc -c /frpcini 启动客户端时,一直提示:
[E] [servicego:273] token in login doesn't match token from configuration
百度一圈后,只得到了以下几点解决方案:
1 去掉token
2 将token修改为简单密码
但是试过很多次之后,还是不行,继续报同样的错,睡了一觉起来后,想到了通过
ps -aux|grep frp 命令查了一下公网服务器上frp服务的相关信息:
请注意重点: 你在启动frps服务时,使用的命令是:/fprs -c /frpsini, 你以为使用的配置文件是frp安装目录底下的frpsini, 而实际上使用的配置文件是 /etc/frp/frpsini
所以: 最终修改 内网服务器中的 frpcini 的token, 与 公网服务器 /etc/frp/frpsini中token保持一致
再重启frps以及frpc, 该问题成功解决
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)