NSLOOKUP (Name Server Lookup) — встроенная утилита командной строки Windows для выполнения DNS-запросов. С её помощью проверяют, какой IP-адрес возвращает домен, смотрят MX-записи почтовых серверов, проверяют PTR-записи для обратного разрешения и диагностируют работу DNS-серверов.
- Синтаксис команды NSLOOKUP
- Ключи и параметры
- Примеры использования
- Получить IP-адрес домена
- Запрос через конкретный DNS-сервер
- Проверить MX-записи (почтовые серверы)
- Обратное разрешение: IP → имя
- Проверить NS-записи (серверы имён домена)
- Запросить TXT-записи (SPF, DKIM, верификация)
- Интерактивный режим для нескольких запросов
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Как проверить, распространились ли изменения DNS по всему миру?
- Чем NSLOOKUP отличается от Resolve-DnsName в PowerShell?
- Как посмотреть TTL записи?
- Можно ли использовать NSLOOKUP для IPv6?
- Как сохранить результат NSLOOKUP в файл?
- Что такое SOA-запись и зачем её проверять?
Синтаксис команды 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.


