前言

     ngrok 是一个反向代理,面向的是在任何云、私有网络、或本地机器中运行 的 Web 服务,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。

     ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端进行程序测试。

配置内网穿透

1,进入ngrok官网注册ngrok账号,可以使用github授权登录,在工作台找到ngrok完成下载,路径:Getting Started >> Setup & Installation >> Download ngrok,地址:https://ngrok.com

1
注:下载解压后会得到一个`ngrok`可执行文件,后续命令都通过它执行。

2,授权Token和账户是绑定的,工作台的操作指导步骤中,已经提供了拼好授权码的ngrok config add-authtoken 授权码命令,直接运行即可,ngrok会将授权码保存到本地的ngrok.yml文件中,此命令仅需执行一次即可,如:

1
./ngrok config add-authtoken xxxxxxxxxxxxxxx

输出:

1
Authtoken saved to configuration file: /Users/mac/Library/Application Support/ngrok/ngrok.yml

3,开启内网穿透服务,代理本机:

1
./ngrok http 9999

或其他非本机地址:

1
./ngrok http 32e.co:80

当session status = online时,表示代理成功,如图:

代理成功图例

4,重放请求,ngrok提供了一个web管理页面,可以查看捕获的所有请求,以及操作请求重放,地址:http://127.0.0.1:4040/

ngrok提供的web管理页面,以及重放功能