内网穿透FRP详细教程

2023-11-17

简介

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网
IP 节点的中转暴露到公网。

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。 服务端和客户端 UI 页面。

frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。

安装

https://github.com/fatedier/frp/releases

解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。

编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini
启动客户端。如果需要在后台长期运行,建议结合其他工具使用,例如 systemd 和 supervisor。

如果是 Windows 用户,需要在 cmd 终端中执行命令。

frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。

内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。

用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。

代理类型

frp 支持多种代理类型来适配不同的使用场景。

tcp :单纯的 TCP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
udp :单纯的 UDP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
http :针对 HTTP 应用定制了一些额外的功能,例如修改 Host Header,增加鉴权。
https :针对 HTTPS 应用定制了一些额外的功能。
stcp :安全的 TCP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
sudp :安全的 UDP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
xtcp :点对点内网穿透代理,功能同 stcp,但是流量不需要经过服务器中转。
tcpmux :支持服务端 TCP 端口的多路复用,通过同一个端口访问不同的内网服务。

使用教程

实验环境是
攻击机IP:192.168.51.209
vps:x.x.x.x
目标主机:192.168.48.181

在vps上传linux版本的frp
首先先下载对应的安装包,上边有下载地址。打开后点击要下载的包,复制链接如下:
https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
image使用curl安装(vps上边已经安装好,这里使用kali演示下)

curl -# -LJOhttps://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

没有curl也可以使用wget安装

wgethttps://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

使用tar指令解压tar.gz文件

tar -zxvf frp_0.36.2_linux_amd64.tar.gz

image

image在服务端使用frps,查看frps的配置,默认如下:
image在这里添加一个控制台,如果没有vim安装如下

sudo apt-get -f install #是修复损坏的软件包,尝试卸载出错的包,重新安装正确版本的

sudo apt install vim #安装vim

image

[common]
bind_port = 7000 #绑定的端口

dashboard_user = admin #控制台用户名
dashboard_pwd = password #控制台密码
dashboard_port = 7500 #控制台的端口

保存退出
image启动服务端,7500端口已经启用
./frps -c ./frps.ini
image打开浏览器,输入公网IP+7500端口(自己设置的控制台端口),这样服务端已经配置完成。
image在客户端下载win的frp(环境是win),接下来配置frpc.ini如下
imagecmd运行方法:frpc
-c frpc.ini
imagepowershell运行方法:.\frpc.exe
-c frpc.ini
image使用远程连接进行连接,IP使用公网IP,端口使用remote_port映射到公网IP的端口
imageimage输入目标主机的用户名和密码进行远程登录
image

让进程后台运行方法

Linux:
nohup ./frps -c ./frps.ini&

使用Ctrl+C退出后后台依然运行
image使用ps aux查看当前进程
image结束进程方法
使用kill -9 PID
image

win:

`start /b frpc.exe -c frpc.ini

使用tasklist查看
image结束进程方法
taskkill /pid PID号 -f
image

问题解决

当服务端运行时有以下报错,启动程序端口被占
image使用netstat
-nap查看端口状态及PID
kill -9 PID(被占用的端口PID)就可以重新运行了

参考链接

https://www.runoob.com/linux/linux-comm-nohup.html
https://gofrp.org/docs/
https://www.jianshu.com/p/e0581ee84323

)就可以重新运行了

参考链接

https://www.runoob.com/linux/linux-comm-nohup.html
https://gofrp.org/docs/
https://www.jianshu.com/p/e0581ee84323

网络安全学习路线

这是一份网络安全从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DNkj0UCC-1690336496581)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

阶段一:基础入门

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ilAoHsyg-1690336496582)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

网络安全导论

渗透测试基础

网络基础

操作系统基础

Web安全基础

数据库基础

编程基础

CTF基础

该阶段学完即可年薪15w+

阶段二:技术进阶(到了这一步你才算入门)

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeNSgbhu-1690336496583)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

弱口令与口令爆破

XSS漏洞

CSRF漏洞

SSRF漏洞

XXE漏洞

SQL注入

任意文件操作漏洞

业务逻辑漏洞

该阶段学完年薪25w+

阶段三:高阶提升

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xwFowWNI-1690336496584)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

反序列化漏洞

RCE

综合靶场实操项目

内网渗透

流量分析

日志分析

恶意代码分析

应急响应

实战训练

该阶段学完即可年薪30w+

阶段四:蓝队课程

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4WnpSl5-1690336496587)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

蓝队基础

蓝队进阶

该部分主攻蓝队的防御,即更容易被大家理解的网络安全工程师。

攻防兼备,年薪收入可以达到40w+

阶段五:面试指南&阶段六:升级内容

img

需要上述路线图对应的网络安全配套视频、源码以及更多网络安全相关书籍&面试题等内容

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内网穿透FRP详细教程 的相关文章

  • 常见端口入侵

    20 FTP服务的数据传输端口 21 FTP服务的连接端口 可能存在 匿名登陆 弱口令暴力破解 匿名登陆 1 用nc链接21号端口 2 直接使用USER anonymous PASS xxxx 22 SSH服务端口 可能存在 弱口令暴力破解
  • 【基础教程】Appium自动化测试,太详细了!

    Appium简介 Appium是一款开源的Appium自动化工具 基于Webdriver协议 主要有以下3个特点 全能 支持iOS Andorid H5 混合App WinApp 通用 支持Win Linux Mac 支持Java Pyth
  • Java设计模式—装饰模式

    装饰模式是一种比较常见的模式 定义为 动态的给一个对象添加一些额外的职责 就增加功能来说 装饰模式比生成子类更加灵活 装饰模式的通用类图如下 装饰模式的构成 1 抽象构件 Component 是一个接口或者是抽象类 就是定义我们最核心的对象
  • CDZSC_2022寒假个人训练赛21级(2)

    A 题解 输出n 1 2 3 4 即可 include
  • 记一次关于宝塔面板无法登陆的运维事故

    事故的出现 2023年4月22日 晚 我修改好客户的前端资源 打开宝塔面板准备上传 输入用户名和密码 点击登录 浏览器没有反应 而且上面的宝塔logo没有出现 我怀疑服务器遭到了攻击和篡改 但打开客户的网站 一切正常 问题排查 由于我前一天
  • 列导航

  • fastjson 转下划线_fastjson 变量驼峰形式与下划线互转

    FastJson 支持配置的PropertyNamingStrategy四种策略 属性名策略说明 CamelCase策略 Java对象属性 personId 序列化后属性 persionId PascalCase策略 Java对象属性 pe

随机推荐

  • apache impala 启动提示 java/lang/NoClassDefFoundError: java/lang/Object

    测试基于apache impala 4 1 0 版本 如果出现该错误 Error occurred during initialization of VM java lang NoClassDefFoundError java lang O
  • python将三张图片横向拼接为一张图片

    import numpy as np from PIL import Image 此处为路径 将三张图像的路径对应自己的改一下 paths 1 1 1 png 2 2 1 png 3 3 1 png img array img for i
  • HashMap在Java里是怎么工作的

    本文翻译自 Coding Geek 原文地址 绝大多数Java开发者都在使用Map类 尤其是HashMap HashMap是一种简单易用且强大的存取数据的方法 但是 有多少人知道HashMap内部是如何工作的 几天前 为了对这个基本的数据结
  • Kubernetes 功能简述

    1 功能 1 1 主要功能 Kubernetes 是一个开源的容器编排平台 它提供了一系列功能来管理和部署容器化应用程序 以下是 Kubernetes 的一些主要功能 容器编排 Kubernetes 可以自动管理容器的部署 扩展和收缩 以满
  • 私有云不是真正的云计算!

    大数据产业创新服务媒体 聚焦数据 改变商业 中国云计算遇到困境 IaaS层面 阿里云 腾讯云等增长乏力 SaaS没有发展起来 反观美国 整个云计算蓬勃发展 AWS 微软云 谷歌云体量更大 增速却不低 SaaS已经高度发达 有不少市值几百亿美
  • 外包三年半,人废了一半

    如果不是女朋友和我提分手 我估计现在还没醒悟 大专生 18年通过校招进入湖南某软件公司 干了3年多的CRUD 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的CRUD 已经让我变得不
  • C/C++ 课题解答(1)

    随机产生100个字符 a z 数组arrayOfChar 输入字符c 计算字符c在数组中出现的次数和位置 include
  • n的阶乘的两种方式

    n的阶乘的两种方式 递归与非递归 n 1 2 3 n 在n的阶乘中加入运行的时间 可以判断递归与非递归的运行效率 include
  • [vue-router] uncaught error during route navigation

    vue路由在加载组件之前会执行一些逻辑 尤其是生命周期的钩子函数 如果你在以上的钩子函数中 写了自己的逻辑 并报错了 就会触发 vue router uncaught error during route navigation这个错误 原因
  • 基于upload-labs的文件上传漏洞总结

    普通的前端绕过 1 抓包 2 上传jpg等格式的木马文件 3 bp上改回php后缀即可 普通绕过 1 抓包 2 上传jpg等格式的木马文件 3 bp上改后缀名为将后缀改为 php3 php4 php5 phtml等等 大小写绕过 即后缀名改
  • minikube命令

    Basic Commands 0minikube version查看版本 1minikube start启动一个集群 minikube start vm driver none image repository registry cn ha
  • ei计算机投稿 知乎,知乎热议:科研有很水的idea应该发表出来吗?

    原标题 知乎热议 科研有很水的idea应该发表出来吗 科研有很水的idea应该发表出来吗 来源 https www zhihu com question 372648294 小伙伴们 对于只能发EI 水会 OA SCI期刊那种 自己看到都觉
  • k8s基本命令

    k8s命令 https kubernetes io zh docs tutorials kubernetes basics 官网地址 基本命令 查看节点服务器 kubectl get nodes 查看命名空间 kubectl get ns
  • kettle(一)kettle介绍

    kettle介绍及组成 一 kettle 是什么 kettle 是一个ETL工具 ETL Extract Transform Load 数据抽取 转换 装载 kettle 是java编写 绿色无需安装 抽取高效稳定 kettle 主要用来对
  • 【零知ESP8266教程】快速入门5-使用按键来控制你的灯

    上节课 我们已经学习了如何制作一个简易交通灯 那么如何去控制一个LED的亮或者灭呢 此次试验采用按键来控制我们的LED 实现LED的简单控制 一 工具原料 电脑 windows系统 ESP8266开发板 micro usb线 LED灯一个
  • (模板)多项式乘法对任意数取模

    多项式乘法 系数对MOD 1000000007取模 常数巨大 慎用 只要选的K个素数乘积大于MOD MOD N 理论上MOD可以任取 define MOD 1000000007 define K 3 const int m K 100453
  • ajax怎么渲染数据,ajax数据请求渲染

    JQuery引入 html JS function var url https api douban com v2 movie search q E4 B8 89 E4 BD 93 count 1 ajax method get url d
  • 数据结构——第五章树(详细知识点总结)

    知识框架 5 1 树的基本概念 5 1 1 树的定义 树是n n gt 0 个节点的有限集 当n 0时 称为空树 在任意一棵非空树中应满足 有且仅有一个特定的称为根 Root 的结点 当n gt 1时 其余结点可分为m m gt 0 个互不
  • ArcGIS Maritime Server 开发教程(八)ArcGIS Bathymetry 扩展模块

    ArcGIS Maritime Server 开发教程 八 ArcGIS Bathymetry 扩展模块 本章导读 ArcGIS Bathymetry 扩展是 ArcGIS Maritime 解决方案中用于管理水深的重要模块 与传统的离散点
  • 内网穿透FRP详细教程

    简介 frp 是一个专注于内网穿透的高性能的反向代理应用 支持 TCP UDP HTTP HTTPS 等多种协议 可以将内网服务以安全 便捷的方式通过具有公网 IP 节点的中转暴露到公网 通过在具有公网 IP 的节点上部署 frp 服务端
Powered by Hwhale