コマンドラインを使用してコンピューターのインターネット (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

質問では OS が指定されていないため、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

関連情報