Получение публичного IP-адреса из командной строки Windows

Большинство пользователей командной строки, даже новички, видели, как используется ipconfig для чтения подробностей о сетевых интерфейсах и их соответствующей конфигурации. Однако конфигурация большинства устройств относится только к подключению к внутренней сети. Если вам нужно узнать IP-адрес внешнего (публичного) интернет-шлюза, вам придется проделать немного больше работы.

В командной строке Windows (cmd)

В командной строке (или в пакетном) вы можете использовать встроенную команду nslookup:

nslookup myip.opendns.com resolver1.opendns.com

Однако это немного более многословный вывод, чем нужно в контексте автоматизации.

Чтобы упростить задачу, нам, вероятно, потребуется разобрать вывод, что в командном-файле может быть утомительно. Итак, давайте воспользуемся CURL для вызова удаленного API.

CURL должен работать из коробки в последних версиях windows

PowerShell

Если вы предпочитаете использовать PowerShell, вы можете использовать Invoke-WebRequest для вызова одного из множества удаленных веб-сайтов или API, которые предоставят вам необходимую информацию:

Команда Invoke-WebRequest вернет отформатированный вывод PowerShell, содержащий краткое описание http-ответа от сервера.

Invoke-WebRequest curlmyip.ru

Свойство Content содержит интересующую нас информацию. Вы можете использовать данные ответа как есть или получить только свойство Content, указав командную строку:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий