
我下載了恩格羅克對於 Windows,它工作正常。
當您啟動 ngrok ( ngrok.exe http x
) 時,它將 localhost:x 對應到公用 IP 位址。例如abcd123.ngrok.io
。
Q:是否有可能偵測到這個指派的轉送位址是什麼(特別是abcd123
我虛構的範例中的子網域)...或者這在技術上是不可能的?如果可能的話,在 Windows 上確定這一點的命令是什麼?
謝謝!
答案1
沒有內建指令可以實現您想要的功能,但是 ngrok 提供了一個即時 Web UI,您可以在其中內省隧道上運行的所有 HTTP 流量,您可以在其中查看所有請求(包括主機網域)。啟動ngrok後,只需打開http://本地主機:4040在網頁瀏覽器中檢查請求詳細資訊。
Ngrok 也提供客戶端 API 列表http://localhost:4040/api
例如,如果您要使用命令在連接埠 4000 上開啟請求
ngrok http 4000
它將創建 2 個隧道(http 和 https)。如果您要提出請求http://localhost:4040/api/tunnels您將收到 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"
}
你可以在裡面找到urltunnels.[index].public_url
您還可以要求http://localhost:4040/api/tunnels/隧道名稱僅獲取名為的隧道的詳細信息tunnel-name