如何使用命令行获取计算机的互联网(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

相关内容