如何使用命令列取得電腦的網際網路(IP 位址)位置?

如何使用命令列取得電腦的網際網路(IP 位址)位置?

如何使用命令列取得電腦的網際網路(IP 位址)位置?

例如,使用curl或wget?

答案1

有一個服務提供這樣的服務:ipinfo.io

您可以使用 來呼叫它curl。例子:

curl ipinfo.io

結果:

{
  "ip": "...",
  "hostname": "...",
  "city": "...",
  "region": "...",
  "country": "...",
  "loc": "...,...",
  "org": "..."
}

也可以請求特定 IP 的資訊curl ipinfo.io/216.58.194.46::

{
  "ip": "216.58.194.46",
  "hostname": "dfw25s12-in-f14.1e100.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4192,-122.0574",
  "org": "AS15169 Google Inc.",
  "postal": "94043"
}

https 也可用:curl https://ipinfo.io/216.58.194.46

來源:http://xmodulo.com/geographic-location-ip-address-command-line.html

答案2

由於問題沒有指定作業系統,因此以下是如何使用 PowerShell curl(實際上是 的別名Invoke-WebRequest)來取得相同的資訊:

(curl ipinfo.io).Content

這會產生一個 JSON 字串。若要取得 JSON 表示的對象,請使用ConvertFrom-Json

curl ipinfo.io | ConvertFrom-Json

由於這是一個 PowerShell 對象,因此您可以輕鬆地從中取得特定欄位。例如,此命令僅取得外部 IP 作為字串:

(curl ipinfo.io | ConvertFrom-Json).ip

請注意,該服務的地理資訊並不是非常準確,但它確實在 20 英里左右的範圍內找到了我。 ISP 的資訊似乎是可靠的。

答案3

您也可以從 PowerShell 使用:

Invoke-RestMethod http://ipinfo.io/json

命令輸出已經為我們提供了 JSON 格式的位置

摘自:https://www.sysadmit.com/2019/01/windows-saber-ip-publica-PowerShell.html

相關內容