NSLOOKUP — запросы к DNS-серверу из командной строки Windows

NSLOOKUP — команда CMD для диагностики DNS: проверка IP-адресов домена, MX-записей, PTR, SOA и работы DNS-сервера. Синтаксис, ключи и практические примеры.

NSLOOKUP (Name Server Lookup) — встроенная утилита командной строки Windows для выполнения DNS-запросов. С её помощью проверяют, какой IP-адрес возвращает домен, смотрят MX-записи почтовых серверов, проверяют PTR-записи для обратного разрешения и диагностируют работу DNS-серверов.

Синтаксис команды NSLOOKUP

NSLOOKUP [-опция ...] [имя_хоста | -] [DNS-сервер]

Плейсхолдеры:

  • имя_хоста — доменное имя или IP-адрес для запроса.
  • - (дефис) — запуск в интерактивном режиме.
  • DNS-сервер — адрес DNS-сервера, к которому выполняется запрос (если не указан, используется системный).

Для запуска интерактивного режима введите nslookup без параметров и нажмите Enter. Для выхода введите exit.

Ключи и параметры

Ключ Описание Пример
-type=тип Тип DNS-записи: A, AAAA, MX, NS, SOA, PTR, TXT, CNAME, SRV nslookup -type=MX example.com
-query=тип Синоним -type nslookup -query=TXT example.com
-querytype=тип Синоним -type nslookup -querytype=NS example.com
-debug Расширенный вывод с деталями запроса и ответа nslookup -debug example.com
-d2 Максимально подробный отладочный вывод nslookup -d2 example.com
-timeout=сек Таймаут ожидания ответа в секундах nslookup -timeout=10 example.com
-retry=N Количество повторных попыток при отсутствии ответа nslookup -retry=3 example.com
-port=N DNS-порт (по умолчанию 53) nslookup -port=5353 example.com
-norecurse Не запрашивать рекурсивное разрешение (итеративный запрос) nslookup -norecurse example.com
-vc Использовать TCP вместо UDP для запроса nslookup -vc example.com

Примеры использования

Получить IP-адрес домена

Базовый запрос — проверить, на какой IP-адрес указывает домен (A-запись).

nslookup example.com

Команда выводит адрес используемого DNS-сервера и IP-адреса домена. Если записей несколько — отображаются все.

Запрос через конкретный DNS-сервер

Полезно при сравнении ответов разных DNS-серверов — например, проверить, распространились ли изменения DNS после смены хостинга.

nslookup example.com 8.8.8.8

Запрос выполняется через Google DNS (8.8.8.8). Замените на 1.1.1.1 для Cloudflare или на IP корпоративного DNS-сервера.

Проверить MX-записи (почтовые серверы)

Нужно при настройке или диагностике доставки электронной почты.

nslookup -type=MX example.com

Выводится список серверов входящей почты с приоритетами. Сервер с наименьшим числом приоритета обрабатывает письма первым.

Обратное разрешение: IP → имя

Узнать доменное имя хоста по его IP-адресу (PTR-запись).

nslookup 8.8.8.8

NSLOOKUP автоматически выполняет PTR-запрос для IP-адресов. Если PTR-запись настроена, выведется доменное имя хоста.

Проверить NS-записи (серверы имён домена)

Выяснить, какие DNS-серверы являются авторитативными для домена.

nslookup -type=NS example.com

В выводе отображаются имена авторитативных DNS-серверов. Используйте один из них как второй параметр для прямого запроса к первоисточнику.

Запросить TXT-записи (SPF, DKIM, верификация)

TXT-записи содержат SPF-правила для защиты от подделки отправителя и коды верификации доменов в сервисах.

nslookup -type=TXT example.com

Выводятся все TXT-записи домена. Для проверки DKIM подставьте селектор: nslookup -type=TXT selector._domainkey.example.com.

Интерактивный режим для нескольких запросов

Когда нужно выполнить много запросов подряд, интерактивный режим удобнее разовых команд.

nslookup
set type=MX
example.com
set type=A
mail.example.com
exit

После каждой команды NSLOOKUP немедленно выводит результат. Команда set type= меняет тип запроса для последующих обращений.

Частые ошибки и решения

Ошибка / симптом Причина Решение
*** Can't find server name for address X.X.X.X: Non-existent domain DNS-сервер не имеет PTR-записи для своего IP — это некритично Игнорируйте это предупреждение; запрос к домену всё равно выполнится
DNS request timed out DNS-сервер недоступен или заблокирован брандмауэром Проверьте подключение к сети, попробуйте другой DNS-сервер: nslookup домен 8.8.8.8
Non-authoritative answer в выводе Ответ пришёл из кэша DNS-сервера, а не от авторитативного сервера Это норма для большинства запросов. Для авторитативного ответа запросите NS-серверы домена напрямую
Команда возвращает старый IP после смены DNS Старая запись закэширована на промежуточном DNS-сервере Запросите авторитативный сервер напрямую: nslookup домен ns1.хостинг.ru; или очистите локальный кэш: ipconfig /flushdns
NSLOOKUP не находит домен, хотя сайт открывается в браузере Браузер использует другой DNS-резолвер (например, DoH — DNS over HTTPS) Укажите конкретный DNS-сервер в команде: nslookup домен 8.8.8.8

Когда применять, а когда нет

NSLOOKUP — инструмент первого выбора для быстрой DNS-диагностики: проверить IP домена, MX-записи, TTL, авторитативные серверы. Работает на всех версиях Windows без дополнительных инструментов.

Ограничения: NSLOOKUP не учитывает локальный файл hosts и некоторые переопределения DNS клиентской машины. Для диагностики именно того, что видит система — используйте ping имя_хоста или PowerShell-командлет Resolve-DnsName, который показывает результат с учётом всей цепочки разрешения имён Windows (hosts, NetBIOS, LLMNR, DNS).

FAQ

Как проверить, распространились ли изменения DNS по всему миру?

Запросите несколько публичных DNS-серверов из разных регионов: nslookup домен 8.8.8.8, nslookup домен 1.1.1.1, nslookup домен 9.9.9.9. Если они возвращают одинаковый IP — изменения распространились.

Чем NSLOOKUP отличается от Resolve-DnsName в PowerShell?

NSLOOKUP отправляет запрос напрямую к DNS-серверу и не использует кэш Windows. Resolve-DnsName проходит через полный стек разрешения имён ОС, включая файл hosts, кэш DNS-клиента и LLMNR. Для диагностики DNS используйте NSLOOKUP, для диагностики разрешения имён в системе — Resolve-DnsName.

Как посмотреть TTL записи?

В обычном режиме TTL не отображается. Включите отладку: nslookup -debug домен — в расширенном выводе будет поле ttl с оставшимся временем жизни записи в секундах.

Можно ли использовать NSLOOKUP для IPv6?

Да. Запросите AAAA-записи: nslookup -type=AAAA домен. Для обратного разрешения IPv6-адреса укажите его в формате ip6.arpa или просто передайте как есть — NSLOOKUP автоматически определит тип запроса.

Как сохранить результат NSLOOKUP в файл?

Перенаправьте вывод стандартными средствами CMD: nslookup -type=MX example.com > результат.txt. Файл будет создан в текущем рабочем каталоге.

Что такое SOA-запись и зачем её проверять?

SOA (Start of Authority) — запись с информацией об авторитативном DNS-сервере домена, адресе администратора, серийном номере зоны и интервалах обновления. Проверяйте SOA при проблемах с синхронизацией DNS-серверов: nslookup -type=SOA example.com.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.