基于FRP的内网穿透测试——以SAKURA FRP为例
内网穿透的作用 内网穿透也叫内网映射,将本地服务器内网IP端口提供到外网,实现外网连接访问的过程。内网穿透可以将原本只能在本机、本局域网内访问的项目网站等,实现外网也同样可以访问。 FRP介绍 FRP 是一种快速反向代理,允许您将位于 NAT 或防火墙后面的本地服务器暴露给互联网。它目前支持 TCP 和 UDP,以及 HTTP 和 HTTPS 协议,允许通过域名将请求转发到内部服务。 SAKURA FRP测试 使用免费的内网穿透服务SAKURA FRP,即将本地端口与具有公网IP的服务器端口进行绑定,可实现本地端口与外部网络端口的映射。 下面演示具体操作过程。 下载frp客户端,更改配置文件 下载frp_0.48.0_windows_amd64,解压文件。其中文件夹结构如下,红框处为客户端配置文件和执行程序。 启动frp服务,查看服务状态 进入SAKURA FRP网站,创建隧道,截图如下。 复制其隧道配置代码至配置文件。 同时启动frpc程序,执行./frpc -c ./frpc.ini指令,验证连接状态,程序控制台以及连接状态截图如下。 编写UDP例程,验证通信可行性 笔者通过Python编写UDP收发程序,进行验证内网穿透数据是否可达。以下是相关的代码。 send.py import socket if __name__ == '__main__': UDP_IP = "frp-bid.top" UDP_PORT = 57457 MESSAGE = b"Hello,my name is LIN!" print("UDP target IP: %s" % UDP_IP) print("UDP target port: %s" % UDP_PORT) print("message: %s" % MESSAGE) sock = socket.socket(socket.AF_INET, # Internet socket....