如何使用命令行获取计算机的互联网(IP 地址)位置?

Ali*_*aka 10 internet geolocation ip

如何使用命令行获取计算机的互联网(IP 地址)位置?

例如,使用 curl 还是 wget?

Ali*_*aka 14

有一个服务提供这个:ipinfo.io

您可以使用curl. 例子:

curl ipinfo.io
Run Code Online (Sandbox Code Playgroud)

结果:

{
  "ip": "...",
  "hostname": "...",
  "city": "...",
  "region": "...",
  "country": "...",
  "loc": "...,...",
  "org": "..."
}
Run Code Online (Sandbox Code Playgroud)

还可以请求特定 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"
}
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,此服务不提供准确的位置。我错了50公里。 (3认同)
  • geoip 是出了名的不准确......我可以在爱达荷州、明尼苏达州或俄勒冈州,这取决于当天的 DHCP 网络块。 (2认同)
  • @DavidPostill Google Maps 使用 GPS 在地图上定位您,它非常准确。通过 IP 地址进行地理定位通常会获得正确的区域。 (2认同)

Ben*_*n N 5

由于问题没有指定操作系统,因此以下是如何使用 PowerShell curl(实际上是 的别名Invoke-WebRequest)获取相同的信息:

(curl ipinfo.io).Content
Run Code Online (Sandbox Code Playgroud)

这会生成一个 JSON 字符串。要获取 JSON 表示的对象,请使用ConvertFrom-Json

curl ipinfo.io | ConvertFrom-Json
Run Code Online (Sandbox Code Playgroud)

由于这是一个 PowerShell 对象,因此您可以轻松地从中获取特定字段。例如,此命令仅获取外部 IP 作为字符串:

(curl ipinfo.io | ConvertFrom-Json).ip
Run Code Online (Sandbox Code Playgroud)

请注意,该服务提供的地理信息并不是非常准确,但它确实在 20 英里左右的范围内找到了我。ISP 的信息似乎是可靠的。