8月21日笔记

news2024/11/26 0:56:21

Frp

Frp(Fast e Reverse ) Proxy) 是一款简单,好用,稳定的隧道工具。Frp 使用 Go语言开发,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。它是一款高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务。Frp 支持 TCP、UDP、KCP、HTTP、HTTPS 等协议类型,并且支持 Web服务根据域名进行路由转发。在进行内网渗透中,FRP 是常用的一款隧道工具。
下载地址:https://github.com/fatedier/frp/releases
Frp 的优势?

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

Frp 的代理类型

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

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

Frp 的配置文件

服务端配置(基础配置)
参数说明默认值备注
[common]是不可或缺的部分
bind_addr服务端监听地址0.0.0.0
bind_port服务端监听端口7000接手frpc的连接
bind_udp_port服务端监听UDP端口0用于辅助创建P2P连接
kcp_bind_port服务端监听KCP协议端口0用于接收采用KCP连接的
proxy_bind_addr代理监听地址同bind_addr可以使代理监听在不同的网卡地址
log_file日志文件地址./frps.log如果设置为console,会将日志打印在标准输出中
log_level日志等级info可选值:trace,debug,info,warn,error

权限验证

参数说明默认值备注
authentication_method鉴权方式token可选值:token,oidc
autnenticate_neartbeats开启心跳消息鉴权false
authenticate_new_work_conns开启建立工作连接的鉴权false
token鉴权使用的 token 值客户端需要设置一样的值才能鉴权通过
oidc_issuer
oidc_audience
oidc_skip_expiry_check
bool
oidc_skip issuer_checkbool

Dashboard(仪表板),监控

参数说明默认值备注
dashboard addr启用 Dashboard 监听的本地地址0.0.0.0
dashboard port启用 Dashboard 监听的本地端口0
dashboard userHTTP BasicAuth 用户名
dashboard pwdHTTP BasicAuth密码
enable_prometheus是否提供Prometheus 监控接口false需要同时启用了 Dashboard 才会生效
asserts dir静态资源目录
Dashboard 使用的资源默认打包在二进制文件中,通过指定此参数使用自定义的静态资源
客户端公共配置(基础配置)
参数说明默认值备注
[common]
必须
serverAddr连接服务端的地址0.0.0.0
serverPort连接服务端的端口7000
http_proxy连接服务端使用的代理地址格式为
{protocol}😕/user:passwd@192.168.5.138:8080
protocol目前支持http、socks5、ntlm
log_file日志文件地址./frpc.log如果设置为 console,会将日志打印在标准输出中
log_level日志等级info可选值:trace,debug, info,warn, error
pool_count连接池大小0

权限验证

参数说明默认值备注
authentication_method鉴权方式token可选值:token,oidc;需要和服务端一致
autnenticate_neartbeats开启心跳消息鉴权false需要和服务端一致
authenticate_new_work_conns开启建立工作连接的鉴权false需要和服务端一致
token鉴权使用的 token 值需要和服务端设置一样的值才能鉴权通过
oidc_client_id
oidc_client secret
oidc_audience
bool
oidc_token_endpoint_urlbool
客户端代理配置

基础配置

参数说明是否必须备注
type代理类型可选值:tcp, udp, http,https, stcp,sudp,xtcp,tcpmux
use_encryption是否启用加密功能启用后该代理和服务端之间的通信内容都会被加密传输
use_compression是否启用压缩功能启用后该代理和服务端之间的通信内容都会被压缩传输
proxy_protocol_version启用 proxyprotocol 协议的版本如果启用,则 frpc 和本地服务建立连接后会发送 proxy protocol 的协议,包含了原请求的 IP 地址和端口等内容;可选值:v1,v2

本地服务配置

参数说明是否必须备注
local_ip本地服务IP需要被代理的本地服务的IP 地址,可以为所在frpc 能访问到的任意IP 地址;默认值:127.0.0.1
local_port本地服务端口配合local_ip
plugin客户端插件名称用于扩展 frpc的能力,能够提供一些简单的本地服务,如果配置了plugin,则local_ip 和local_port无效,两者只能配置一个
plugin _params客户端插件参数(map类型)map 结构,key需要都以“plugin“开头,每一个 plugin 需要的参数也不一样,具体见客户端插件参数中的内容

负载均衡和健康检查

参数说明是否必须备注
group负载均衡分组名称用户请求会以轮询的方式发送给同一个group 中的代理
group_key负载均衡分组密钥用于对负载均衡分组进行鉴权,group_key相同的代理才会被加入到同一个分组中
health_check_type健康检查类型配置后启用健康检查功能,tcp 是连接成功则认为服务健康,http 要求接口返回 2xx的状态码则认为服务健康
可选值:tcp,http
health_check_timeout_s健康检查超时时间(秒)执行检查任务的超时时间.默认值:3
health_check_max_failed健康检查连续错误次数连续检查错误多少次认为服务不健康;默认值:1
health_check_interval_s健康检查周期(秒)每隔多长时间进行一次健康检查;默认值:10

Frp的使用(0.51.3)

服务端配置

[common]
bind_addr = 0.0.0.0
bind_port = 7000
dashboard_addr = 0.0.0.0
dashboard_port = 7001
dashboard_user = root
dashboard_pwd = 123456
token = wx65b3e977e62f120b

客户端配置

[common]
server_addr = 125.217.52.215
server_port = 7000
token = wx65b3e977e62f120b
pool_count = 5
health_check_type = tcp
health_check_interval_s = 100
[test]
remote_port = 12345
plugin = socks5
use_encryption = true
use_compression = true
plugin_user = admin
plugin_passwd = 123456

在使用之前可以执行以下命令来查看配置文件中的语法是否正确

frpc.exe verify -c frpc.ini #客户端
frps.exe verify -c frps.ini	#服务端

QQ_1724247840588.png

使用frp建立隧道(反向sock5代理)

现在有这么一个场景,我们获得了一个位于内网的通过 NAT 方式对外提供服务的主机的权限,现在我们需要对其所在的内网继续进行渗透。于是,我们就需要通过FRP 建立一个隧道,让我们的主机可以通过隧道访问其内网。QQ_1724244453172.png

frps.exe -c frps.ini

开启服务端。
QQ_1724248167545.png
QQ_1724244660856.png
客户端执行

frpc.exe -c frpc.ini

QQ_1724248117479.png
查看 dashboard,访问http://125.217.52.215:7001,账号:root 密码:123456
QQ_1724248221802.png
连接成功。
我们本机设置代理: socks5 ip:125.217.52.215 端口:12345 账号:admin 密码:123456
QQ_1724248376820.png
QQ_1724249420118.png
tcp隧道搭建成功。

使用 Frp 映射 Web 服务

现在有这么一个场景,位于内网的主机需要对外提供 Web 服务,于是将内网主机的 80 端口映射到公网主机的 80 端口上。
客户端配置

[common]
server_addr = 125.217.52.215
server_port = 7000
token = wx65b3e977e62f120b
[http]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 80
custom_domains= www.test.com

执行命令:frpc.exe -c frpc.ini
QQ_1724251517735.png
QQ_1724251481221.png
现在我们在内网服务器web服务看到的页面是下面这样的
QQ_1724251401430.png
来实验一下内网服务器的80端口是否有映射到我们的服务器上。
QQ_1724251650117.png
成功映射到我们的服务器上。

使用 Frp 映射 RDP 服务

现在有这么一个场景,我们获得了位于内网的一台主机的权限,并且知道了他的登录用户名和密码。他的 3389 端口只对内网开放,现在我们需要将该主机的3389 端口映射到公网我们的 VPS 的 3389 端口,那样,我们连接我们 VPS 的3389 端口就相当于连接内网主机的 3389 端口了。
客户端配置

[common]
server_addr = 125.217.52.215
server_port = 7000
token = wx65b3e977e62f120b
[RDP]
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

执行命令运行
QQ_1724251847199.png
连接成功。

使用 Frp 映射 SSH 服务

现在有这么一个场景,我们获得了位于内网的一台主机的权限,并且知道了他的登录用户名和密码。他的 22 SSH 端口只对内网开放,现在我们需要将该主机的22 端口映射到公网我们的 VPS 的 2222 端口,那样,我们连接我们 VPS 的 2222端口就相当于连接内网主机的 22 端口了。
客户端配置

[common]
server_addr = 125.217.52.215
server_port = 7000
token = wx65b3e977e62f120b
[SSH]
local_ip = 127.0.0.1
local_port = 22
remote_port = 2222

执行客户端连接命令
QQ_1724253893772.png
QQ_1724253839761.png
连接成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2061240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器人蓝牙通信绕坑

为机器人添加手机和语音控制是很有必要的,其中蓝牙通信有很多的坑。 一个是蓝牙模块版本,流行的2.0,4.0,5.0一旦买错,会十分麻烦,如果不懂编程,无法和板子通信,又连不上电脑和手机&…

用户画像中挖掘类标签的生产过程

背景 在用户画像中,除了用户的性别年龄等基础标签,我们还可以使用机器学习算法挖掘一些标签,比如用户购买意向等标签 技术方案 挖掘类标签的生产一般有以下的流程图,主要包括特征选择,也就是选择用户的哪些行为作为…

GATK AlleleList接口介绍

在 GATK(Genome Analysis Toolkit)中,AlleleList 接口是一个用来表示等位基因(alleles)列表的接口。Allele 是遗传学中用于表示某一特定基因座的不同形式的一个基本单位。AlleleList 接口定义了一些操作,使…

跨境电商系统架构分析

跨境电商系统是一个复杂而庞大的系统工程,涵盖了订单管理、支付管理、物流管理、报关管理、产品管理、跨境营销和数据分析等多个功能模块。这些模块相互协作,共同支撑起跨境电商的全球化运营。 订单管理:负责处理用户的订单信息,…

零基础学习Python(六)

1. 元类的应用 使用元类给对象添加一个固有属性author: 对类名进行限定,要求类名必须是大写字母开头: class MetaC(type):def __init__(cls, name, bases, attrs):if not name.istitle():raise TypeError("类名必须是大写字母开头~")return …

想提升网站排名?试试轮换IP

在竞争激烈的互联网环境中,提高网站排名是每个中小型网站主的共同目标。其中,轮换IP是一种不容忽视的优化工具。虽然听起来可能有些陌生,但轮换IP却能在提升网站排名方面发挥关键作用。本文将深入探讨轮换IP如何帮助中小型网站提升搜索引擎排…

南大-ICS2021 PA1~PA2.2 学习笔记记录

文章目录 代码github网址ICS2021其他博客基础设施: 简易调试器表达式求值词法分析递归求值如何测试自己的代码 监视点的实现扩展表达式求值的功能实现监视点 阅读源码 2译码执行用RTL表示指令行为实现常用的库函数实现常用的库函数 代码github网址 https://github.com/xiao-ta…

一主一从读写分离

目录 介绍 一主一从 原理 准备 配置主从复制 验证主从复制 一主一从读写分离 安装MyCat schema.xml配置 server.xml配置 测试 介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作&am…

Springboot中多线程数据库操作下的事务一致性问题的解决方案

文章目录 1 代码实现1.1 正常情况1.2 异常情况总结 1 代码实现 1.1 正常情况 我们采用手动开启事务的方式 public void add(CountDownLatch countDownLatch) {executor.submit(() -> {TransactionStatus transaction dataSourceTransactionManager.getTransaction(transa…

【HTML】HTML学习之引入CSS样式表

1、CSS样式规则 选择器{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}2、HTML引入CSS样式表 2.1、行内式 行内式也称为内联样式&#xff0c;是通过标签的style属性来设置元素的样式&#xff0c;其基本语法格式如下: <标签名 style"属性1:属性值1; 属性2:属性值2;…

Proxy/Skeleton

设计模式之&#xff08;十二&#xff09;代理模式_skeleton proxy 模式-CSDN博客 在RMI中&#xff0c;客户端可以通过一个桩&#xff08;Stub&#xff09;对象与远程主机上的业务对象进行通信&#xff0c;由于桩对象和远程业务对象接口的一致&#xff0c;因此对于客户端而言&am…

Maven的一些相关知识【重修】《包括私服搭建!》

mvnrepository.com Maven 下载jar包的位置&#xff01; 【该部分有教程】 这是什么nb代码投稿视频-这是什么nb代码视频分享-哔哩哔哩视频

python之matplotlib (6 等高线和热力图)

等高线 import numpy as np import matplotlib.pyplot as pltdef f(x,y):return (1-x/2x**5y**3)*np.exp(-x**2-y**2) n256 xnp.linspace(-3,3,n) yx X,Ynp.meshgrid(x,y) plt.contourf(X,Y,f(X,Y),8,alpha0.75,cmapviridis) plt.colorbar() Cplt.contour(X,Y,f(X,Y),8,colors…

第64期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

免费图形化nginx管理工具nginxWebUI

nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载, 完…

Linux基础软件-软件安装

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的&#xff0c;但是Linux作为一个…

mklink 命令详解

mklink 命令详解 在命令提示符中输入 mklink 可以查看相关的运行命令。 创建符号链接。MKLINK [[/D] | [/H] | [/J]] Link Target/D 创建目录符号链接。默认为文件符号链接。/H 创建硬链接而非符号链接。/J 创建目录联接。Link 指定新的符号链接名称。Targ…

前端3d动画-----平移 transform: translate3d()

必须加这个属性&#xff1a;transform-style: preserve-3d; perspective: 900px; 设置了景深才能感到近大远小的感觉 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible&q…

CTF中的换表类Crypto题目

目录 [安洵杯 2019]JustBase[SWPUCTF 2021 新生赛]traditional字符替换解密 [BJDCTF 2020]base??字符替换 --》 base64解密 [安洵杯 2019]JustBase VGhlIGdlbxvZ#kgbYgdGhlIEVhcnRoJ#Mgc#VyZmFjZSBpcyBkb!pbmF)ZWQgYnkgdGhlIHBhcnRpY#VsYXIgcHJvcGVydGllcyBvZiB#YXRlci$gUHJ…

图神经网络教程3——循环图神经网络-2

目录 计算下游输出 序列图数据的扩展 图长短期记忆网络 循环转换在RGNN应用于图分类时的作用 数据集 算法 结果和讨论 门控循环单元 优缺点 前文索引 本篇是GRNN的第二篇文章&#xff0c;点击此处可到达第一篇文章的位置。 计算下游输出 一旦我们以图中的每个顶点为…