常用隧道穿透技术-FRP

admin 2026-03-11 02:23:06 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了内网穿透技术概念及常用隧道类型,重点讲解了开源工具FRP的原理与实战应用。文章详细演示了在Windows环境下配置FRP服务端与客户端,建立HTTP及HTTPS隧道以穿透内网防火墙的具体步骤。通过公网节点中转,实现了对内网服务的隐蔽访问,为红队渗透测试提供了可操作的技术参考。 综合评分: 82 文章分类: 内网渗透,红队,安全工具,渗透测试


cover_image

常用隧道穿透技术-FRP

原创

徐哥 徐哥

Ms08067安全实验室

2026年3月10日 18:02 江苏

本文选自《内网安全攻防:红队之路》

扫描二维码75折购书

一般的网络通信,先在两台机器之间建立TCP连接,然后进行正常的数据通信。在知道IP地址的情况下,可以直接发送报文;如果不知道IP地址,就需要将域名解析成IP地址。然而在实际的网络中,通常会通过各种边界设备﹑软/硬件防火墙甚至入侵检测系统来检查对外连接的情况,如果发现异常,就会对通信进行阻断。

为防止内网攻击流量被防火墙、入侵检测等安全设备阻断,渗透测试人员往往会采用隐藏通信隧道技术。什么是隧道?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或者端口进行封装,然后穿过与对方进行通信。当被封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应的服务器上。

常用的隧道列举如下。

网络层:IPv6隧道﹑ICMP隧道﹑GRE隧道。

传输层:TCP隧道﹑UDP隧道﹑常规端口转发。

应用层:SSH隧道﹑HTTP隧道﹑HTTPS隧道﹑DNS隧道。

#

frp是一款开源的可用于内网穿透的高性能的反向代理应用,它支持TCP、UDP、HTTP、HTTPS等多种协议,能够将内网服务以简便和隐蔽的方式通过具有公网IP的节点中转暴露给公网普通用户,它是新一代功能最强大的内网穿透工具之一,其下载地址为https://github.com/fatedier/frp/releases。在frp的官方文档中,我们能够找到它的工作原理示意图。

#

从示意图中可以看出,frp主要包括frps服务端和frpc客户端两部分:在具有公网IP地址的节点上部署服务端程序(frps)并运行;在内网的计算机上部署客户端程序(frpc)并连接服务端,这样就实现了frp服务端(公网中转节点)到内网frp客户端(内网计算机)的隧道连接,公网的普通用户能够通过这条隧道访问内网中的计算机服务。

下面我们以访问内网某计算机的HTTP、HTTPS服务为例,进行配置讲解。

(1)服务端配置

假设公网节点为一台云服务器,系统为Windows Server2012,IP地址为150.151.152.153。在服务器中下载frp_0.37.1_windows_386.zip,解压缩后的目录如图

服务端只需要关注目录中的frps.exe和frps.ini,其中frps.exe为服务端程序,frps.ini为服务端程序的配置文件。

修改服务端配置文件frps.ini如下:

[common]# 服务端的绑定端口bind_port = 7000# HTTP端口vhost_http_port = 12345 # HTTPS端口vhost_https_port = 23456# 通信密钥 token = 000000

保存修改后的配置文件,在CMD窗口中输入如下命令运行服务端,服务端启动成功。

frps.exe -c frps.ini

(2)客户端配置

想要访问哪台内网计算机的HTTP、HTTPS服务,就对应在该计算机上部署frp客户端。下载frp_0.37.1_windows_386.zip,关注解压后目录中的frpc.exe和frpc.ini,其中frpc.exe是客户端程序,frpc.ini为客户端配置文件。

修改frpc.ini配置文件如下:

[common]# 公网IPserver_addr = 150.151.152.153# 服务器绑定端口server_port = 7000# 与服务端秘钥一致token = 000000
[http]type = httplocal_ip = 127.0.0.1local_port = 80remote_port = 12345custom_domains = 150.151.152.153 [https]type = httpslocal_ip = 127.0.0.1local_port = 443remote_port = 23456custom_domains = 150.151.152.153

保存修改后的配置文件,运行客户端frpc.exe,显示客户端连接服务端建立隧道成功。

(3)访问内网的HTTP、HTTPS服务

通过frp隧道访问内网服务只需3个步骤:

1.在具有公网IP地址的节点上运行frps服务端。

2.在内网的计算机上运行frpc客户端,并与服务端建立隧道。

3.普通用户通过公网节点进入隧道访问内网的HTTP、HTTPS服务。

我们已经完成了第1、2步,接下来就是访问内网服务了,只要在浏览器中键入公网节点的IP地址和对应服务端口就可以了。本例中,输入如下网址能够访问内网的HTTP和HTTPS服务。

http://150.151.152.153:12345https://150.151.152.153:23456

—  关于我们  —

镇江刺掌信息科技有限公司成立于2020年,公司旗下MS08067安全实验室,专注于网络安全领域教育、培训、认证产品及服务提供商。近两年,线上培训人数近10万人次,培养网络安全人才近6000名。

公司被认定为国家高新技术企业、国家科技型中小企业、江苏省创新性中小企业、江苏省民营科技企业、江苏省软件企业。并荣获机械工业出版社“年度最佳合作伙伴”、电子工业出版社-博文视点“优秀合作伙伴”、镇江市企业发展服务中心优质合作伙伴、镇江市网络安全应急支撑服务单位等荣誉称号。

![](https://mmbiz.qpic.cn/mmbiz_png/ddqrZtAEBOj4xTcIKUfImvRJW3QEEJCaNqRTwr9WEqXjnoaQ54wf9BbUE3HqNN7PIOxTDRNRb3e6bsJlSZP6Yw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp#imgIndex=3)

![](https://mmbiz.qpic.cn/mmbiz_png/bL2iaicTYdZn55VMON4QdPLRem0HgglfDI6V20Pn5QiaW92aZBNoCAUbs5wzNqGSgnyBseeDYpF3UXjjIl1qwzvyg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp#imgIndex=4)

如果喜欢我们

![](https://mmbiz.qpic.cn/mmbiz_png/bL2iaicTYdZn55VMON4QdPLRem0HgglfDI6V20Pn5QiaW92aZBNoCAUbs5wzNqGSgnyBseeDYpF3UXjjIl1qwzvyg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp#imgIndex=5)

欢迎 在看丨留言丨分享至朋友圈 三连


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Ms08067安全实验室 徐哥 徐哥《常用隧道穿透技术-FRP》

常用隧道穿透技术-FRP 网络安全文章

常用隧道穿透技术-FRP

文章总结: 本文介绍了内网穿透技术概念及常用隧道类型,重点讲解了开源工具FRP的原理与实战应用。文章详细演示了在Windows环境下配置FRP服务端与客户端,建
评论:0   参与:  0