Skip to content
EN
← Все статьи

nslookup: как пользоваться командой в Windows и Linux

Командная строка с запросом nslookup и ответом сервера

nslookup — это консольная команда, которая отправляет запрос DNS-серверу и показывает, в какие IP-адреса и записи превращается доменное имя. Она встроена в Windows и macOS, в Linux ставится пакетом с DNS-утилитами. Команда nslookup example.com выводит адрес опрошенного сервера и найденные адреса домена, а с ключом -type= — MX, TXT, NS и другие записи.

Что делает команда nslookup

Название расшифровывается как name server lookup — «запрос к серверу имён». Утилита работает как клиент DNS: формирует запрос, отправляет его на порт 53 выбранного сервера и печатает ответ почти без обработки. Это делает её удобной для диагностики: вы видите не то, что «думает» браузер, а то, что реально отдаёт DNS.

Типичные задачи, которые закрывает nslookup:

  • узнать IP-адрес домена и убедиться, что после смены хостинга он уже указывает на новый сервер;
  • проверить MX-записи, когда не доходит почта, и TXT-записи с SPF, DKIM, DMARC или кодом подтверждения;
  • выяснить, какие NS-серверы обслуживают зону и что отвечает каждый из них;
  • сравнить ответ провайдерского DNS с ответом публичного резолвера, например 8.8.8.8 или 77.88.8.8;
  • найти имя по IP-адресу — обратный запрос PTR.

Важная деталь для Windows: nslookup обращается к DNS-серверу напрямую и не смотрит в файл hosts и в кэш DNS-клиента системы. Поэтому ping и браузер могут открывать один адрес, а nslookup показывать другой. Это не ошибка утилиты, а подсказка: где-то вмешивается hosts, кэш или прокси. Как устроено разрешение имён целиком, разобрано в статье «Что такое DNS».

Как пользоваться nslookup в Windows

Откройте командную строку: Win+R → cmd → Enter. Подойдёт и PowerShell или Windows Terminal — команда та же. Базовый синтаксис:

nslookup [-параметр...] имя [DNS-сервер]

Проверим домен через DNS-сервер, который выдан системе (обычно это роутер или сервер провайдера):

C:\> nslookup example.com
Сервер:  UnKnown
Address:  192.168.1.1

Не заслуживающий доверия ответ:
Имя:     example.com
Addresses:  2001:db8::10
          203.0.113.10

В англоязычной Windows те же строки выглядят как Server, Non-authoritative answer и Name. Адреса в примере условные — у вашего домена будут свои.

Как читать ответ nslookup

  • Сервер / Address — какой DNS-сервер вы спросили. UnKnown вместо имени значит лишь то, что у IP этого сервера нет PTR-записи. Дома это норма и на результат не влияет.
  • Имя — полное имя, для которого найден ответ. Если домен задан через CNAME, здесь будет конечное имя, а исходное появится в строке Aliases.
  • Address / Addresses — найденные IPv4 (A) и IPv6 (AAAA) адреса. Несколько адресов — обычная балансировка или CDN.

«Не заслуживающий доверия ответ» — это ошибка?

Нет. Так в русской локализации переведено Non-authoritative answer — «неавторитетный ответ». Он означает, что ответил не сервер, который хранит зону домена, а кэширующий резолвер: он сам сходил к авторитетным серверам и вернул сохранённую копию. Данные при этом корректны, просто могут отставать от свежих изменений на время TTL. Чтобы увидеть ответ без кэша, спросите авторитетный сервер домена — как это сделать, показано ниже.

nslookup в Linux и macOS

В macOS команда есть из коробки: откройте «Терминал» и выполните nslookup example.com. В Linux она входит в пакет DNS-утилит BIND и на минимальных установках отсутствует — система ответит nslookup: command not found. Установка:

# Debian, Ubuntu
sudo apt install dnsutils

# RHEL, AlmaLinux, Rocky, Fedora
sudo dnf install bind-utils

# Alpine
apk add bind-tools

Вывод в Linux чуть отличается от Windows:

$ nslookup example.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	example.com
Address: 203.0.113.10

Адрес 127.0.0.53 в Ubuntu — это локальная заглушка systemd-resolved, а не внешний сервер. Чтобы понять, куда она пересылает запросы, выполните resolvectl status или сразу укажите внешний DNS вторым аргументом nslookup. После # печатается порт — 53 для обычного DNS.

Запрос к конкретному DNS-серверу

Второй аргумент команды — сервер, которому уходит вопрос. Это главный приём диагностики: один и тот же домен проверяется через разные резолверы, и расхождение сразу показывает, где проблема.

nslookup example.com 8.8.8.8
nslookup example.com 1.1.1.1
nslookup example.com 77.88.8.8

Если через 8.8.8.8 домен находится, а через DNS провайдера — нет, дело в резолвере провайдера или в его кэше. Если не находится нигде, проблема в самой зоне: ошибка в записях, не делегированный домен, истёкшая регистрация. Какие публичные резолверы стоит использовать для сравнения, собрано в обзоре лучших публичных DNS-серверов.

Так же работают инструкции вида «выполните nslookup такого-то хоста через 9.9.9.9»: это обычная проверка того, во что резолвится имя через публичный DNS Quad9.

Как получить авторитетный ответ

Сначала узнайте NS-серверы зоны, затем спросите один из них напрямую:

nslookup -type=ns example.com
nslookup example.com ns1.example-dns.net

В ответе авторитетного сервера строки «Не заслуживающий доверия ответ» не будет. Если здесь уже стоит новый IP, а публичные резолверы отдают старый, остаётся дождаться истечения TTL — с записью всё в порядке, она ещё не обновилась в кэшах.

Типы записей: nslookup -type=mx, txt, ns, soa

По умолчанию nslookup запрашивает адреса A и AAAA. Нужный тип задаётся параметром -type= (синонимы — -query= и -q=):

ЗаписьКомандаКогда нужна
A / AAAAnslookup example.comIP-адрес сайта, проверка после переноса
MXnslookup -type=mx example.comКуда доставляется почта домена
TXTnslookup -type=txt example.comSPF, коды подтверждения Яндекса, Google и других сервисов
DMARCnslookup -type=txt _dmarc.example.comПолитика DMARC
DKIMnslookup -type=txt selector._domainkey.example.comПубличный ключ подписи; селектор даёт почтовый сервис
NSnslookup -type=ns example.comКакие серверы обслуживают зону
SOAnslookup -type=soa example.comГлавный сервер зоны, serial, таймеры
CNAMEnslookup -type=cname www.example.comПсевдоним: куда указывает поддомен
PTRnslookup 203.0.113.10Имя по IP, обратная зона почтового сервера

Пример ответа на запрос MX в Windows:

example.com     MX preference = 10, mail exchanger = mx1.example.com
example.com     MX preference = 20, mail exchanger = mx2.example.com

Меньшее значение preference — более приоритетный сервер. В Linux та же информация выглядит как mail exchanger = 10 mx1.example.com. Подробный разбор проверки почтовых записей — в статье «Как проверить MX-запись домена».

Запрос -type=any лучше не использовать для проверки: многие серверы по RFC 8482 отвечают на него сокращённо, и отсутствие записи в выдаче ничего не доказывает. Спрашивайте каждый тип отдельно.

Как узнать домен по IP-адресу

Если передать nslookup IP-адрес вместо имени, утилита сама выполнит обратный запрос PTR:

C:\> nslookup 8.8.8.8
Сервер:  UnKnown
Address:  192.168.1.1

Имя:     dns.google
Address:  8.8.8.8

Ответ показывает имя, которое владелец IP прописал в обратной зоне. Это не список сайтов на сервере: на одном адресе могут жить сотни доменов, а PTR у него один. Для почтового сервера PTR обязателен — без него письма часто уходят в спам или отклоняются. Если записи нет, nslookup сообщит Non-existent domain.

Интерактивный режим nslookup

Если запустить nslookup без аргументов, откроется приглашение >, где можно менять настройки и задавать вопросы подряд, не повторяя параметры:

C:\> nslookup
> server 8.8.8.8
> set type=mx
> example.com
> set type=txt
> _dmarc.example.com
> set debug
> example.com
> exit

Полезные команды интерактивного режима:

  • server адрес — сменить DNS-сервер для следующих запросов;
  • set type=тип — тип записи (mx, txt, ns, soa, a, aaaa, cname, ptr);
  • set debug — подробный вывод: полный пакет ответа, флаги и TTL каждой записи;
  • set timeout=10 и set retry=3 — ожидание ответа в секундах и число повторов;
  • set vc — отправлять запросы по TCP вместо UDP;
  • exit — выход.

Команда ls в Windows пытается выгрузить всю зону через передачу AXFR. Нормально настроенные серверы отвечают отказом, и это правильно: открытая передача зоны раскрывает все поддомены.

Режим debug удобен для проверки TTL: в выводе видно, сколько секунд запись ещё будет жить в кэше резолвера. Те же параметры работают и в одну строку: nslookup -debug -type=mx example.com 8.8.8.8.

Ошибки nslookup и что они значат

Non-existent domain / NXDOMAIN

В Windows: *** UnKnown не удалось найти example.invalid: Non-existent domain, в Linux: ** server can't find example.invalid: NXDOMAIN. Сервер уверенно сообщает, что такого имени нет. Причины: опечатка, домен не зарегистрирован или снят с делегирования, поддомен не создан. Проверьте имя, затем повторите запрос через 8.8.8.8 и авторитетный сервер — если NXDOMAIN везде, ищите причину в зоне и у регистратора.

DNS request timed out

DNS request timed out. timeout was 2 seconds. — сервер не ответил за отведённые 2 секунды. В Linux аналог: ;; connection timed out; no servers could be reached. Проверьте, доступен ли сервер вообще (ping 8.8.8.8), не блокирует ли файрвол или антивирус исходящий UDP на порт 53, и повторите запрос с другим сервером. Если таймаут только у одного резолвера, проблема в нём. Разбор этой ситуации — в статье «Сайт не открывается из-за DNS».

SERVFAIL

server can't find example.com: SERVFAIL означает, что резолвер не смог получить ответ от авторитетных серверов. Частые причины — недоступные или неправильно указанные NS-серверы и сломанная подпись DNSSEC. Запросите SOA и NS домена у разных резолверов: если SERVFAIL стабильно воспроизводится, проблема на стороне DNS-хостинга домена.

Нет записей нужного типа

Сообщение No internal type for both IPv4 and IPv6 Addresses (A+AAAA) records available или ответ без адресов значит, что имя существует, но записей запрошенного типа у него нет. Например, у домена настроена только почта, а A-записи для сайта нет.

Странные запросы с лишним суффиксом

В корпоративной сети Windows дописывает к короткому имени DNS-суффикс домена, и в режиме debug видны запросы вроде example.com.corp.local. Поставьте точку в конце имени — nslookup example.com. — и суффикс добавляться не будет.

nslookup, dig и Resolve-DnsName: что выбрать

nslookup есть везде, но это не единственный инструмент. Сравнение с альтернативами:

Задачаnslookupdig (Linux, macOS)Resolve-DnsName (PowerShell)
Адрес доменаnslookup example.comdig example.com +shortResolve-DnsName example.com
MX через 8.8.8.8nslookup -type=mx example.com 8.8.8.8dig @8.8.8.8 example.com MXResolve-DnsName example.com -Type MX -Server 8.8.8.8
Обратный запросnslookup 8.8.8.8dig -x 8.8.8.8Resolve-DnsName 8.8.8.8
TTL в выводетолько с -debugвсегдавсегда (колонка TTL)
Путь от корнянетdig +trace example.comнет
Учитывает hosts и кэшнетнетда; -DnsOnly отключает

Практическое правило: nslookup — для быстрой проверки на любой машине, dig — когда нужны флаги ответа, TTL и трассировка делегирования, Resolve-DnsName — в скриптах PowerShell, где результат удобно обрабатывать как объекты. Полная справка по параметрам — в документации Microsoft по nslookup, формат сообщений DNS описан в RFC 1035.

ping, tracert и nslookup: что чем проверять

Эти три команды часто просят выполнить вместе, и у каждой своя зона ответственности. nslookup отвечает на вопрос «во что превращается имя». ping — «отвечает ли узел и с какой задержкой». tracert (в Linux и macOS — traceroute) — «через какие маршрутизаторы идут пакеты и где они теряются». Порядок диагностики обычно такой: сначала nslookup, чтобы убедиться, что имя разрешается в правильный адрес, потом ping по этому адресу, потом tracert, если узел не отвечает. Как разбирать вывод трассировки, описано в статье «Traceroute: как читать вывод».

Если nslookup показывает новый адрес, а браузер упорно открывает старый сайт, очистите локальный кэш: ipconfig /flushdns в Windows, sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder в macOS.

Как проверить DNS онлайн без командной строки

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

  • DNS Lookup — nslookup online: A, AAAA, MX, NS, TXT, CNAME и SOA домена одним запросом;
  • Проверка распространения DNS — сравнивает ответы публичных резолверов в разных странах и показывает, где ещё виден старый адрес;
  • Ping — доступность узла, когда адрес уже найден.

Частые вопросы

Чем nslookup отличается от ping?

nslookup только спрашивает DNS и показывает ответ, к самому сайту он не подключается. ping разрешает имя через системный резолвер с учётом hosts и кэша, а затем проверяет, отвечает ли узел на ICMP.

Почему nslookup показывает один IP, а сайт открывается с другого?

В Windows nslookup не читает файл hosts и кэш DNS-клиента. Проверьте hosts, выполните ipconfig /flushdns и убедитесь, что браузер не использует собственный DNS over HTTPS.

Как проверить DNS-сервер через nslookup?

Укажите его вторым аргументом: nslookup example.com 192.168.1.1. Если ответ приходит быстро и совпадает с ответом 8.8.8.8, сервер работает; таймаут или пустой ответ указывают на проблему с ним.

Что значит Server: UnKnown?

Что у IP-адреса DNS-сервера нет PTR-записи, поэтому nslookup не может показать его имя. На работу DNS это не влияет.

Как узнать TTL записи через nslookup?

Добавьте параметр -debug: nslookup -debug example.com. В блоке ANSWERS у каждой записи будет строка с TTL в секундах.

Есть ли nslookup для телефона?

Встроенной команды на Android и iOS нет. Проще проверить домен через онлайн-сервис DNS Lookup — результат будет тем же, что у nslookup через публичный резолвер.

Проверьте ваш сайт прямо сейчас

Проверить DNS своего сайта →
Другие статьи: DNS
DNS
DNS-сервер: лучшие публичные DNS 2026 и адреса Яндекс DNS
21.07.2026 · 35 751 просм.
DNS
Quad9 DNS 9.9.9.9: что это, как настроить и чем отличается
26.08.2026 · 6 910 просм.
DNS
Cloudflare DNS 1.1.1.1 и WARP: адреса, настройка, отличия
26.08.2026 · 5 234 просм.
DNS
AdGuard DNS: адреса, настройка и что он реально блокирует
26.08.2026 · 2 984 просм.