《web渗透》Frp内网穿透

目录

一、简介

二、FRP的基本组成

三、常见用途

四、工作原理

五、部署

5.1准备

5.2 目录介绍

5.3 配置客户端和服务端

5.3.1 ssh转发

服务端修改配置

客户端修改配置 

5.3.2 http转发

通过编辑vim frps.ini服务端配置。

客户端frpc.ini修改配置

5.3.3 Token配置

服务端frps.ini 进行添加配置

 客户端frpc.ini配置

六、启动


      声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

一、简介

     FRP(Fast Reverse Proxy)是一种高性能的反向代理应用,主要用于内网穿透。它允许用户在无法直接访问的内网环境中,将内网服务安全地暴露到公网上,方便远程访问。

    一种内网穿透工具, 使位于内网的服务器或设备可以通过互联网被访问, 支持 TCP、UDP、HTTP、HTTPS 等多种协议 另外一种方式是通过 花生壳, 申请一个IP 然后安装花生壳的frp客户端, 配置对应的参数。

    本文介绍了FRP(Fast Reverse Proxy)配置的详细关键步骤,包括SSH和HTTP转发设置以及Token配置。SSH转发方面,用户需分别在服务端和客户端的配置文件中设置相应的端口,以便实现安全的远程访问。HTTP转发则涉及在服务端frps.ini中配置本地HTTP服务的转发规则,同时在客户端frpc.ini中指明服务端地址和端口。为确保连接的安全性,建议使用Token配置,只有携带正确Token的连接才能通过FRP服务。这些配置能够有效提升内网服务的远程访问能力和系统安全性。

二、FRP的基本组成

FRP主要包括两个部分:

  1. FRP服务器(frps):部署在公共网络的服务器上,负责转发连接请求。
  2. FRP客户端(frpc):部署在内网中的机器上,连接到FRP服务器,并将内网服务的流量转发到服务器。

三、常见用途

  • 远程访问内网服务:如通过公网访问内网中的Web应用、SSH、FTP等服务。
  • IoT设备管理:远程管理家中的智能设备。
  • 调试和开发:开发者可以通过FRP轻松地进行端口映射,方便外部团队测试和调试。

四、工作原理

  1. 客户端连接服务器:FRP客户端启动后,会主动连接到FRP服务器。
  2. 建立隧道:客户端向服务器注册本地服务端口,并建立一个持久的TCP连接。
  3. 转发流量:当外部用户访问FRP服务器的指定端口时,服务器会将流量转发到相应的客户端,从而让外部用户能够访问内网服务。

五、部署

5.1准备

frpc frp客户端

frps frp服务端

1. 部署frp服务端(需要是拥有公网IP的服务器)

2. 部署frp客户端(个人PC, 内网主机等...)

3. 双方建立通信连接

文档 | frp     frp文档

Releases · fatedier/frp   frp的下载

根据自己的架构进行选择

上传
rz  
#或者各种方式,将下载的frp工具进行上传


tar zxvf frp_0.61.0_linux_amd64.tar.gz  #解压

cd frp_0.61.0_linux_amd64              #进入到frp目录下

 

5.2 目录介绍

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

5.3 配置客户端和服务端

5.3.1 ssh转发

     ssh转发的作用是将客户端本地运行的 SSH 服务(监听在本地的 22 端口)通过 FRP 进行外部暴露,用户可以通过连接到服务端的 6000 端口来访问这个 SSH 服务。

服务端修改配置

通过编辑vim frps.ini服务器配置。

bindPort = 7000    # FRP 服务端正在 7000 端口上监听连接请求
客户端修改配置 
serverAddr = "x.x.x.x"     #x.x.x.x 应替换为实际的服务端 IP 地址或域名
serverPort = 7000        #这是客户端连接到 FRP 服务端使用的端口,需与服务端的 bindPort 配置一致
  
[[proxies]]
name = "ssh"                #这是代理的名称,通常是用来标识或描述此代理的功能
type = "tcp"                #表示此代理是基于 TCP 的连接
localIP = "127.0.0.1"       #这个配置项指定了本地服务的 IP 地址。在这个例子中,127.0.0.1 表示该服务是在客户端本地计算机上运行的。
localPort = 22              #这是本地服务实际监听的端口,意味着客户端本地的 SSH 服务在这个端口上接收连接。
remotePort = 6000 
#这是 FRP 服务端在外网暴露给用户的端口。通过这个配置,当外部用户连接到 FRP 服务端的 6000 端口时,FRP 会将连接转发到客户端的 127.0.0.1:22(即本地的 SSH 服务)。

注:配置时将注释去掉。

ssh -o Port=6000 test@x.x.x.x     #配置完成后,使用命令进行ssh连接,6000为frp的ssh映射端口。

5.3.2 http转发

    http转发可以让 FRP 客户端将两个不同的本地服务 (运行在不同端口上) 通过指定的域名向外界暴露。这样,从 Internet 上的用户可以通过访问 www.yumig1.com 来访问本地的 80 端口服务,通过 www.yuming2.com 来访问本地的 8080 端口服务。

通过编辑vim frps.ini服务端配置。
bindPort = 7000         #这个参数指定了 FRP 服务端监听的端口,意味着 FRP 服务端在 7000 端口上等待客户端的连接。
vhostHTTPPort = 8080

#这个参数用于指定虚拟主机的 HTTP 端口。当你配置了 Web 代理时,这个端口将用于接收 HTTP 请求。在这个例子中,vhostHTTPPort = 8080 表示 FRP 服务端会在 8080 端口上监听 HTTP 请求。
客户端frpc.ini修改配置
serverAddr = "x.x.x.x"    #这个参数设置了 FRP 服务端的地址,你需要将 "x.x.x.x" 替换为实际的 FRP 服务端的 IP 地址(或域名),客户端将通过这个地址连接到 FRP 服务端。
serverPort = 7000        #这个参数指定了 FRP 服务端监听的端口,这个端口与服务端配置中的 bindPort 相对应。客户端会通过这个端口与服务端建立连接。

[[proxies]]
name = "web"         #这个参数定义了代理的名称,web 是这个代理的标识,用于在 FRP 服务端和客户端之间区分不同的代理。

type = "http"        #指定了代理的类型,在此例中为 HTTP 代理
localPort = 80       #这个参数指的是本地服务运行的端口。在这个例子中,FRP 客户端会将请求转发到本地的 80 端口(通常是网站的默认 HTTP 端口)

customDomains = ["www.yuming1.com"]   #这个参数定义了与该代理关联的自定义域名。当通过这个域名访问时,FRP 将会把请求转发到指定的本地服务。

[[proxies]]
name = "web2"
type = "http"
localPort = 8080
customDomains = ["www.yuming2.com"]

5.3.3 Token配置

服务端frps.ini 进行添加配置
bindPort = 7000          #这行表示服务将在端口7000上监听传入的连接
auth.token = "ok"      #设置了一个认证令牌(token),值为“ok”。这个令牌通常用于验证客户端的身份,以确保只有持有正确令牌的客户端能够访问服务.
auth.method = "token"    #指明了使用“token”作为认证的方式
 客户端frpc.ini配置
auth.token = "ok"    客户端将使用一个值为“ok”的认证令牌来进行身份验证

六、启动

./frps -c ./frps.ini   #启动服务端

./frpc -c ./frpc.ini   #启动客户端

注:frp应先启动服务端(frps),再启动客户端(frpc),这是因为客户端需要连接到已经在运行的服务端,以便进行隧道配置和建立连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值