Как узнать IP-адрес в Windows через CMD, PowerShell и Bash

Быстрые ссылки
- Какой IP вам нужен — локальный (частный) или внешний (публичный)
- Получить локальный (частный) IP через CMD (Command Prompt)
- Получить публичный (внешний) IP через CMD или PowerShell
- Получить публичный IP через PowerShell
- Получить публичный IP через Bash
Короткое резюме
- Публичный IP связан с вашим интернет-маршрутизатором и одинаков для всех устройств в доме; приватные IP адреса назначаются каждому сетевому адаптеру отдельно.
- Чтобы узнать локальный IP, запустите команду ipconfig в командной строке (CMD).
- Чтобы узнать публичный IP, можно использовать curl ifconfig.me, curl icanhazip.com или nslookup myip.opendns.com. В PowerShell и Bash доступны аналогичные приёмы.
Какой IP вам нужен — локальный или внешний
Прежде чем смотреть команды, важно понять разницу. Локальный (частный) IP — это адрес, который виден в вашей домашней сети. Внешний (публичный) IP — это адрес, который видят серверы в интернете и который назначен вашему маршрутизатору провайдером.
Каждый сетевой адаптер (Wi‑Fi, Ethernet, виртуальные адаптеры WSL, VM) получает свой адрес. Локальная таблица маршрутизации TCP/IP в вашей системе решает, какой адаптер используется для конкретного запроса. Как правило, вы используете один основной адаптер — тот, который подключён к сети дома.

Маршрутизатор всегда «сидит» между вашей локальной сетью и сетью провайдера. Через NAT (Network Address Translation) он переводит внутренние адреса в публичный адрес и обратно, поэтому все устройства в одной локальной сети обычно выходят в интернет с одного публичного IP.
Получить локальный IP через CMD (Command Prompt)
Чтобы узнать локальный IP в любой версии Windows:
- Откройте меню «Пуск» и найдите Command Prompt (Командная строка) или запустите cmd.
- Введите:
ipconfigWindows выведет много информации; ищите строку “IPv4 Address” — именно там будет ваш локальный / приватный адрес для конкретного адаптера, подключенного к Wi‑Fi или Ethernet.

Если в списке много адаптеров (виртуальные адаптеры, WSL, VPN), определите по имени адаптера тот, который реально подключён к вашей сети. Обычно физические адаптеры помечены как “Ethernet” или “Wi‑Fi”.
Важно: это приватный IP, не тот, который виден в интернете. Чтобы узнать публичный адрес — см. раздел ниже.
Получить публичный IP через CMD или PowerShell
Чтобы узнать публичный IP прямо из командной строки, самый простой способ — запросить внешний сервис, который возвращает ваш IP в чистом виде. Примеры:
curl ifcfg.me Эта команда вернёт ваш публичный IP. Суть: curl делает HTTP‑запрос к ifconfig.me — сайту, который выводит только ваш IP.
Windows 10 и 11 включают curl по умолчанию; в старых версиях Windows придётся установить curl отдельно. Curl работает и в обычном CMD, и в Bash внутри Windows.
Альтернативы:
curl icanhazip.comИногда в скриптах лишний перенос строки у icanhazip может влиять на парсинг — имейте это в виду при автоматизации.
Надёжный метод через OpenDNS:
nslookup myip.opendns.com. resolver1.opendns.comnslookup — давний и очень стабильный инструмент, доступный в Windows по умолчанию. Он делает DNS‑запрос к resolver1.opendns.com с именем myip.opendns.com, и ответ содержит ваш публичный IP.

Если вам нужно быстро и без лишних зависимостей, можно просто ввести в поиске Google “what is my IP” — Google покажет ваш публичный IP, но это не всегда удобно для автоматизации.
Получить публичный IP через PowerShell
В PowerShell можно использовать Invoke‑WebRequest. Например:
(Invoke-WebRequest -UseBasicParsing -URI ifconfig.me ).ContentКоманда вернёт ваш публичный IP. Для скриптов удобнее сохранять ответ в переменную:
$myip = Invoke-WebRequest -UseBasicParsing -URI ifconfig.me
$myip.ContentЗатем $myip.Content содержит строку с IP и может использоваться дальше в скрипте. Аналогично можно запросить другие сервисы вместо ifconfig.me.

Получить публичный IP через Bash
Если вы используете Bash (например, WSL) в Windows:
curl ifconfig.meКоманда работает так же, как в CMD. Bash даёт дополнительные возможности для парсинга и автоматизации.
Сводная таблица команд
| Цель | Команда (CMD/PowerShell/Bash) | Примечания |
|---|---|---|
| Локальный IP | ipconfig | Ищите строку “IPv4 Address” |
| Публичный IP (быстро) | curl ifcfg.me | Требуется curl (встроен в Win10/11) |
| Публичный IP (альтернатива) | curl icanhazip.com | Иногда лишний перенос строки |
| Публичный IP (через DNS) | nslookup myip.opendns.com. resolver1.opendns.com | Работаeт в любом CMD, не зависит от curl |
| PowerShell | Invoke-WebRequest -URI ifconfig.me | Удобно в скриптах, сохраняется в переменную |
Практические сценарии и типичные вопросы
- Если вы хотите быстро увидеть IP локально — используйте ipconfig.
- Для автоматизации в скриптах лучше полагаться на DNS‑метод с nslookup или на проверенные HTTP‑сервисы.
- Если ваш компьютер подключён к VPN, публичный IP будет IP адресом VPN‑провайдера.
- Если у вас несколько активных сетевых интерфейсов, ipconfig покажет их все; выбирайте тот, который отвечает за интернет‑соединение.
Когда методы могут не сработать и как это диагностировать
- Curl не установлен или не в PATH
- Симптом: “curl не найден” или похожая ошибка.
- Решение: установить curl или использовать nslookup.
- Служба ifconfig.me/icanhazip недоступна
- Симптом: таймаут или HTML‑страница вместо IP.
- Решение: пробовать другие сервисы (icanhazip, ifconfig.co) или nslookup к OpenDNS.
- Блокировка по брандмауэру/прокси
- Симптом: таймауты, ошибки подключения.
- Решение: проверить настройки прокси/файрвола и разрешить исходящие HTTP/HTTPS.
- В VPN показывается неожиданный IP
- Пояснение: VPN изменяет маршрут и публичный IP принадлежит VPN‑провайдеру.
- WSL/VM дают внутренний IP, а не внешний
- Пояснение: WSL/VM находятся внутри хоста; для публичного IP используйте curl/Invoke‑WebRequest внутри WSL или на хосте.
Советы по автоматизации и образец скрипта
PowerShell: получить IP и записать в файл
$ip = (Invoke-WebRequest -UseBasicParsing -URI ifconfig.me).Content
$ip | Out-File -FilePath C:\temp\mypublicip.txt -Encoding utf8Bash (WSL): получить IP и сохранить
ip=$(curl -s ifconfig.me)
echo "$ip" > /mnt/c/temp/mypublicip.txtОбратите внимание на флаг -s для curl (тихий режим), чтобы не выводить прогресс.
Роль‑ориентированные чеклисты
Администратор сети:
- Проверить ipconfig для локальных адресов.
- Использовать nslookup для проверки публичного IP провайдера.
- Сверить публичный IP с записью в панели провайдера (если нужно).
Разработчик/DevOps:
- Встроить curl/Invoke-WebRequest в CI/CD для обнаружения внешнего адреса при деплое.
- Парсить ответ и сравнивать с ожидаемыми значениями в тестах.
Служба поддержки:
- Попросить пользователя выполнить ipconfig и прислать вывод для диагностики локальной сети.
- Если нужен публичный IP — попросить выполнить curl ifconfig.me или nslookup myip.opendns.com.
Критерии приёмки
- Команда ipconfig возвращает строку с “IPv4 Address” и корректным локальным адресом формата x.x.x.x.
- Команда curl/Invoke‑WebRequest/nslookup возвращает одну строку с публичным IP в формате IPv4 или IPv6.
- Скрипт корректно сохраняет IP в переменную и обрабатывает ошибки сетевого запроса.
Безопасность и приватность
- Публичный IP — это информация, которую видят веб‑сервисы. Она не содержит прямых личных данных, но может быть использована для геолокации и корреляции с активностью.
- Не публикуйте свой публичный IP в открытом доступе без необходимости. В корпоративной среде ограничьте доступ к системам, которые логируют IP.
- При автоматизации учтите политику вашей организации по хранению сетевых логов и персональных данных.
Советы по совместимости и миграции
- Windows 10/11: curl встроен; PowerShell 5+ поддерживает Invoke‑WebRequest.
- Старые Windows (7, 8): curl может отсутствовать; используйте nslookup или установите curl вручную.
- WSL/VM: команды те же, но пути файлов и права могут отличаться.
Сравнение подходов (какой выбрать)
- ipconfig — лучший для локальных адресов и диагностических задач.
- curl ifconfig.me — простой и быстрый для скриптов, если curl доступен.
- nslookup myip.opendns.com — самый универсальный для Windows, не зависит от curl.
- Invoke‑WebRequest — удобен для PowerShell‑скриптов и дальнейшей обработки результата.
Тестовые случаи и приёмка
- На машине без VPN запустить curl ifconfig.me — получить публичный IP в формате IPv4.
- Подключиться к VPN и повторить — убедиться, что публичный IP изменился на IP провайдера VPN.
- Отключить сеть и запустить ipconfig — убедиться, что адаптеры помечены как “Media disconnected” или отсутствуют IP.
- В среде с несколькими адаптерами (Wi‑Fi + Ethernet) — выполнить ipconfig и убедиться, что у каждого адаптера свой IPv4.
Короткое объявление (100–200 слов)
Новый короткий способ быстро узнать ваш IP прямо из командной строки: используйте ipconfig для локального адреса и curl ifconfig.me или nslookup myip.opendns.com для публичного адреса. Эти простые команды работают в CMD, PowerShell и Bash (WSL) и легко интегрируются в скрипты для автоматизированных задач. Для PowerShell удобен Invoke‑WebRequest, который возвращает ответ в переменную и позволяет добавлять логику. Если вы работаете на старой версии Windows без curl, используйте nslookup — он вшит в систему и стабилен. Помните о приватности: публичный IP виден внешним сервисам и может быть связан с вашим аккаунтом провайдера или геолокацией. Используйте эти приёмы в диагностике, в CI/CD процессах и при настройке удалённого доступа.
Итог
- ipconfig — для локальных адресов.
- curl/Invoke‑WebRequest/nslookup — для публичных адресов.
- Используйте подход, который лучше вписывается в ваш рабочий процесс и требования к совместимости.
Важно: если вы автоматизируете получение IP, добавьте обработку ошибок и запасной вариант (например, nslookup, если curl временно недоступен).
Похожие материалы
Отказ от Google: как и чего ожидать
Как расширить память MacBook через SD‑слот
Изменить поисковую систему на телефоне или планшете
Как отменить подписку YouTube Premium
Проверка и ускорение зарядки Android