frp ---- golang编写的内网穿透工具简介
官网: https://gofrp.org/
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
由于采用 Golang 编写,所以系统需求和最新的 Golang 对系统和平台的要求一致
下载
https://github.com/fatedier/frp/releases
目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
mac 一般下载列表中第一个
Linux 一般下载列表中第一个
Windows一般下载列表中第一个
部署
解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。
编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端。如果需要在后台长期运行,建议结合其他工具使用,例如 systemd 和 supervisor。
原理
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
代理
在 frp 中一个代理对应一个需要暴露的内网服务。一个客户端支持同时配置多个代理。
frp 支持多种代理类型来适配不同的使用场景。
示例
通过 SSH 访问内网机器
这个示例通过简单配置 TCP 类型的代理让用户访问到内网的服务器。
- 在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:
[common]
bind_port = 7000
- 在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
server_addr = x.x.x.x
server_port = 7000[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
分别启动 frps 和 frpc。
通过 SSH 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口。
通过自定义域名访问内网的 Web 服务
这个示例通过简单配置 HTTP 类型的代理让用户访问到内网的 Web 服务。
HTTP 类型的代理相比于 TCP 类型,不仅在服务端只需要监听一个额外的端口 vhost_http_port 用于接收 HTTP 请求,还额外提供了基于 HTTP 协议的诸多功能。
- 修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:
[common]
bind_port = 7000
vhost_http_port = 8080
- 修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domains。
常见报错:
zsh: exec format error:
你可能需要更换别的安装包进行尝试
bad cpu xxxx
你可能需要更换别的安装包进行尝试
start error: port unavailable
可能是公网ip服务器端的端口被占用
frp ---- golang编写的内网穿透工具简介相关推荐
- frp 后台地址_内网穿透工具frp搭建与使用详细教程
简介:FRP(Fast Reverse Proxy) 是一款简单,好用,稳定的隧道工具.FRP 使用 Go 语言开发,它是一款高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务.FRP 支持 ...
- 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明
内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...
- 中秋征文 | 【云原生之Docker】使用docker部署内网穿透工具FRP
中秋征文 | [云原生之Docker]使用docker部署内网穿透工具FRP 一.卷首语 二.FRP介绍 1.frp简介 2.frp支持的系统 3.本次frp部署目的 三.检查本地docker状态 1 ...
- frp内网穿透工具实现内网穿透
frp实现内网穿透 前言 frp简介 frp是什么 frp 的作用 frp的架构 准备工作 frp下载地址 frp的文件结构 frp配置与使用 linux公网服务器的配置(windows配置同理,这里 ...
- 一款很好用的内网穿透工具--FRP
前言 对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy.FRP 是一 ...
- 推荐 4 款超好用的内网穿透工具,总有一款适合你
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 1前言 本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 0x01 nps- ...
- 推荐几款实用的内网穿透工具
点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 作者:V0W' 来源:v0w.top/2020/08/11/IntranetProxy ...
- 安排几款实用的内网穿透工具(加教程)
点击关注公众号,利用碎片时间学习 0x00 前言 本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 0x01 nps-npc 1.1 简介 nps是一款轻量级.高 ...
- 几款实用的内网穿透工具
本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法. 01 nps-npc 1.1 简介 nps是一款轻量级.高性能.功能强大的内网穿透代理服务器.目前支持tcp.u ...
最新文章
- Google发布新的图像压缩技术,最高可节省75%带宽
- Python--day7--面向对象编程进阶
- 《Effective Java》—— 对于所有对象都通用的方法
- localdatetime 获取天_LocalDateTime的一些用法
- cv2.cornerHarris()详解 python+OpenCV 中的 Harris 角点检测
- 亚马逊分类目录_新版亚马逊分类目录v2.4程序源码官方分享下载
- 商业智能BI和报表的区别?
- Sql Update Alter Rename
- webpack环境的配置
- 如何修改ns服务器,Godaddy如何修改NS信息
- Python——飞机大战源码(含飞机爆炸效果动图)
- Unity-遮挡剔除
- 无法删除IE图标(被劫持)
- 基于STM32设计的云端健康管理系统(采用阿里云物联网平台)
- 成为设计师必看的40本书
- 全球开发者各出奇招:我们想这样适配iPhone X
- 讲明白——K8S各核心架构组件
- 关于百度题库题目答案遮挡的问题的解决方法
- 爬取猫眼电影top100
- 卸载win10自带的OneNote
热门文章
- 【电子书分享】决战大数据-驾驭未来商业的利器.pdf(附下载链接)
- 知乎高赞:遇到问题,有哪些有效的分析方法?
- 通俗易懂!视觉slam第十一部分——线性系统和卡尔曼滤波
- leetcode力扣105. 从前序与中序遍历序列构造二叉树
- 海外仓ERP系统功能怎么样?
- iphone通知和android,手机App 通知数量太多,让你备感压力吗?教你如何消除令人心烦的信息通知(iPhone、Android)...
- 一些意想不到的bug
- 四月份面试题汇总(一)
- Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)
- 计算机网络设备配置遇到的问题,网络设备使用与维护