是否可以检测 Ngrok 分配的 IP 地址?

是否可以检测 Ngrok 分配的 IP 地址?

我下载了恩格罗克对于 Windows 来说,它运行良好。

当您启动 ngrok ( ngrok.exe http x) 时,它会将 localhost:x 映射到一个公共 IP 地址。例如abcd123.ngrok.io

问:是否可以检测出这个分配的转发地址是什么(具体来说,就是abcd123我虚构的例子中的子域)...或者这在技术上是不可能的?如果可能的话,在 Windows 上用什么命令来确定这一点?

谢谢!

答案1

没有内置命令来实现您想要的功能,但是 ngrok 提供了一个实时 Web UI,您可以在其中检查隧道上运行的所有 HTTP 流量,并查看所有请求(包括主机域)。启动 ngrok 后,只需打开http://本地主机:4040在网络浏览器中检查请求详细信息。

Ngrok 还提供客户端 API 列表http://本地主机:4040/api

例如,如果你使用命令打开端口 4000 上的请求

ngrok http 4000

它将创建 2 个隧道(http 和 https)。如果您要发出请求http://localhost:4040/api/隧道您将收到一个 JSON 编码的响应,其中列出了当前在您的计算机上运行的所有隧道。类似于此

{
  "tunnels": [
    {
      "name": "command_line",
      "uri": "/api/tunnels/command_line",
      "public_url": "https://92802df6.ngrok.io",
      "proto": "https",
      "config": {
        "addr": "http://localhost:4000",
        "inspect": true
      },
      "metrics": {
        "conns": {
          "count": 12,
          "gauge": 0,
          "rate1": 3.010161493334155e-20,
          "rate5": 0.0000023116701144869783,
          "rate15": 0.00031425303226642,
          "p50": 5006072050,
          "p90": 7160137960.000004,
          "p95": 8080786000,
          "p99": 8080786000
        },
        "http": {
          "count": 13,
          "rate1": 4.1641366552993466e-20,
          "rate5": 0.0000030815031931566885,
          "rate15": 0.00038190674419415834,
          "p50": 4962400,
          "p90": 649465039.9999996,
          "p95": 1076411200,
          "p99": 1076411200
        }
      }
    },
    {
      "name": "command_line (http)",
      "uri": "/api/tunnels/command_line%20%28http%29",
      "public_url": "http://92802df6.ngrok.io",
      "proto": "http",
      "config": {
        "addr": "http://localhost:4000",
        "inspect": true
      },
      "metrics": {
        "conns": {
          "count": 0,
          "gauge": 0,
          "rate1": 0,
          "rate5": 0,
          "rate15": 0,
          "p50": 0,
          "p90": 0,
          "p95": 0,
          "p99": 0
        },
        "http": {
          "count": 0,
          "rate1": 0,
          "rate5": 0,
          "rate15": 0,
          "p50": 0,
          "p90": 0,
          "p95": 0,
          "p99": 0
        }
      }
    }
  ],
  "uri": "/api/tunnels"
}

您可以在tunnels.[index].public_url

您还可以请求http://localhost:4040/api/tunnels/隧道名称仅获取名为tunnel-name

相关内容