%20%E3%81%AE%E5%A0%B4%E6%89%80%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%3F.png)
コマンドラインを使用してコンピューターのインターネット (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