コマンドラインを使用してコンピューターのインターネット(IPアドレス)の場所を取得する方法
たとえば、curlまたはwgetを使用していますか?
これを提供するサービスがあります: 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"
}
ソース: http://xmodulo.com/geographic-location-ip-address-command-line.html
質問では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情報は信頼できるようです。
PowerShellからも使用できます。
Invoke-RestMethod http://ipinfo.io/json
コマンド出力は、JSONでの場所をすでに提供しています
抽出元: https://www.sysadmit.com/2019/01/windows-saber-ip-publica-PowerShell.html