使用FRP遍历内网实现远程访问

小夏 科技 更新 2024-02-01

在网络体系结构中,有时需要远程访问位于 Intranet 上的设备或服务,但由于网络拓扑或安全限制,从外部直接访问 Intranet 设备可能会受到限制。 快速反向代理(Fast Reverse Proxy,简称FRP)是一种开源的内网渗透工具,通过建立反向通道,通过公网访问内网业务。 本文介绍如何使用FRP遍历内网,远程访问内网设备。

快速反向代理(Fast Reverse Proxy,FRP)是Fatedier开发的一款高性能反向工具,用于穿透防火墙和NAT等网络屏障,将内网业务映射到互联网上。 FRP支持TCP、UDP、HTTP等多种协议,操作简单,适用于各种场景。

开源地址:

FRP架构:

两个 ubuntu 系统:

server: Client: Client: 新版 FRP 使用 toml 格式作为配置文件。

TOML(Tom's Obvious Minimal Language)是一种用于配置文件的轻量级数据格式,旨在易于读取和写入。 TOML的目标是成为一种易于理解和编写的配置文件格式,同时保持足够的表现力。

TOML特点:

易读性:TOML 文件的语法设计简洁、直观且易于阅读。 它使用明显的层次结构,并且不依赖于过于复杂的标点符号语法。 最小化:TOML遵循最小化设计原则,最大限度地减少冗余和复杂性,使配置文件更易于编写和读取。 易于集成:TOML被设计为易于机器处理,易于解析和生成不同的编程语言。 因此,许多编程语言都为 TOML 提供了解析器和生成器。 可扩展性:TOML具有一定的扩展性,允许在语法中添加一些自定义元素,以适应特定的应用场景。 TOML 的文件以 开头。toml 扩展名,包含键值对、表、数组等元素。 下面是一个简单的 TOML 示例:

[owner]name = "tom"dob = 1985-05-27t07:32:00z[database]server = "localhost"ports = [8000, 8001, 8002]connection_max = 5000enabled = true
TOML(Tom's Obvious Minimal Language)有一套简洁直观的规则来定义配置文件。 以下是TOML的主要规则:

表的定义:使用 [ package table name,例如 [owner] 表示名为 “owner” 的表。 嵌套表:可以嵌套表以形成层次结构,例如 [owner.address] 表示 “owner” 表下的 “address” 子表。键值对的定义:使用格式 key = value 定义键值对。 字符串:字符串可以用双引号引起来""或单引号''在括号中,例如 name ="tom"或者 name ='tom'。多行字符串:使用三个双引号"""或三个单引号'''以定义多行字符串。 数组的定义:对软件包使用方括号,例如 ports = [8000, 8001, 8002]。 不同类型的数组元素:数组中的元素可以是不同类型的值。 布尔:对布尔值使用 true 或 false。 整数和浮点数:TOML 支持整数和浮点数,例如 age = 30 或 pi = 314。日期及时间:TOML 支持日期和时间的表示形式,例如 dob = 1985-05-27T07:32:00Z。 笔记:用于进行单行注释,例如 this is a comment。 在 frp 配置中,该表用于常规设置,[[proxies]] 数组用于定义 **。 允许设置多个 **。

从版本中,您可以获得相应操作系统的内部版本。

*解压缩后。

此示例程序安装在:

opt/frp_0.53.0_linux_amd64/

vim /opt/frp_0.53.0_linux_amd64/frps.toml

bindport = 7000 服务器绑定端口 webserveraddr = "0.0.0.0" # 0.0.0.0. 绑定所有网卡网络服务器port = 服务器的 Web 服务端口仪表板's username and password are both optionalwebserver.user = "CIENT登录账号"webserver.password = "客户端登录密码"transport.useencryption = truetransport.usecompression = true
sudo vim /etc/systemd/system/frps.service

[unit] 服务名称,可自定义描述 = FRP serverAfter = 网络target syslog.targetwants = network.target[service]type = ** 启动命令 frps,路径应匹配 execstart = opt frp 053.0_linux_amd64/frps -c /opt/frp_0.53.0_linux_amd64/frps.toml[install]wantedby = multi-user.target1234567891011
启动 frpsystemctl 启动 frps 配置 frps 自动启动 systemctl 启用 frps
vim /opt/frp_0.53.0_linux_amd64/frpc.ini

serveraddr = "服务器地址"serverport = 7000 bindport[[代理]]name="test-tcp"type = "tcp"localip = "127.0.0.1"客户端上的 localport = 22remoteport = 6000 FRPC 端口
sudo vim /etc/systemd/system/frpc.service

[unit] 服务名称,可自定义描述 = FRP 客户端之后 = 网络target syslog.targetwants = network.target[service]type = ** 启动命令 frps,路径应匹配 execstart = opt frp 053.0_linux_amd64/frpc -c /opt/frp_0.53.0_linux_amd64/frpc.ini[install]wantedby = multi-user.target
ssh -oport=6000 客户端登录账号@server地址
bindport = 7000vhosthttpport = 8080vhosthttpsport = 8090 如果需要配置 https 代理,请进行设置
# frpc.tomlserveraddr = "x.x.x.x"serverport = 7000[[proxies]]name = "web"type = "http"localport = 80customdomains = ["www.example.com"]
www.example..com域名需要配置指向serverIP的CNAME记录。

简单 HTTP 文件服务可以直接提供静态文件访问。

# frpc.tomlserveraddr = "x.x.x.x"serverport = 7000[[proxies]]name = "test_static_file"type = "tcp"remoteport = 6000[proxies.plugin]type = "static_file"localpath = "/tmp/files"stripprefix = "static"httpuser = "abc"httppassword = "abc"
FRP还可以配置私有服务、P2P服务等,这里就不赘述了。

webserver.port = 7500# dashboard's username and password are both optionalwebserver.user = "admin"webserver.password = "admin"webserver.tls.certfile = "server.crt"webserver.tls.keyfile = "server.key"
访问网页 https: [serveraddr]:7500 查看以下控制台。

webserver.addr = "127.0.0.1"webserver.port = 7400webserver.user = "admin"webserver.password = "admin"

相似文章

    使用 Java 解析和转换 OpenSSH 和 PuTTY 私钥格式

    两种常用的 SSH 密钥格式及其转换方式。Secure Shell SSH 是一种建立在应用层和传输层之上的安全协议,由 IETF 的网络工作组开发。SSH 是当今最可靠的协议,可为 telnet 会话和其他网络服务提供安全性。SSH协议可以有效防止远程管理过程中的信息泄露。除了用户名和密码的密码认...

    使用MAXQDA进行问卷分析

    来自各个领域的研究人员经常使用问卷来收集意见 态度和行为,并确定趋势或相关性。问卷分析的最大优点是问卷提供了一种结构化且有效的方法来收集大量个人的数据。研究人员使用问卷分析方法来解释收集到的回答。它涉及从收集的数据中提取有价值的见解和模式,使研究人员或分析师能够得出结论并根据结果做出明智的决策。使用...

    使用 TestLink 进行测试管理

    管理从测试需求 测试设计到测试执行的测试过程。TestLink 是 SourceForge 的开源项目之一。作为基于WE B的测试管理系统,TestLink的主要功能包括 测试需求管理 测试用例管理 测试需求的测试用例覆盖率管理 测试计划的制定 测试用例的执行 大量测试数据的测量和统计。testli...

    我可以使用网络检查和控制来保存财产吗?

    优质作者认证招聘 依托网络巡检系统,高管只需动动手指,即可查询所有已联网的物业信息。然而,在司法实践中,使用在线查控在财产保全中面临各种挑战,包括缺乏明确的审查标准 缺乏规范的驳回申请补救渠道等,这不仅可能导致 同一案件不同处理 的局面,损害司法权威。但也容易侵犯被保护人的财产隐私,亟需完善相关规则...

    如何使用按摩板清洁痤疮?

    按摩板是一种可以有效清洁面部和预防粉刺的工具,下面介绍如何使用按摩板清洁痘痘 清洁面部。在使用按摩板之前,首先需要用温水或清洁剂清洁脸部,以去除表面的污垢和油脂。然后,用唇轻轻擦干脸部。涂抹洁面乳或润唇膏。将适量的洁面乳或润唇膏均匀涂抹在脸上,这样在使用按摩板时更容易滑动,也有助于提高清洁效果。使用...