Как определить местонахождение компьютера в Интернете (IP-адрес) с помощью командной строки?
Например, используя curl или wget?
Как определить местонахождение компьютера в Интернете (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
Поскольку в вопросе не указана ОС, вот как получить ту же информацию с помощью curl
PowerShell (фактически псевдоним 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