Открыть сервисСервис

NSLOOKUP — утилита для запросов к DNS

NSLOOKUP (от англ. name server lookup) — утилита командной строки, предназначенная для выполнения запросов к системе доменных имён (DNS) и получения информации о доменных именах, IP-адресах, почтовых серверах и других ресурсных записях. Программа входит в состав операционных систем Windows, macOS и большинства дистрибутивов Linux, доступна как в интерактивном, так и в неинтерактивном режиме работы.

Назначение и принцип работы

NSLOOKUP позволяет получить ответ от DNS-сервера на заданный запрос. Утилита отправляет серверу запрос определённого типа (A, MX, TXT, NS и другие) и выводит полученный ответ на экран. Основные сценарии применения:

  • проверка разрешения доменного имени в IP-адрес;
  • определение IP-адреса почтового сервера (запись MX);
  • получение списка DNS-серверов, обслуживающих домен (запись NS);
  • проверка корректности настройки DNS-записей при размещении сайтов и почты;
  • диагностика сетевых проблем, связанных с разрешением имён.

Утилита работает на уровне протокола DNS и не требует дополнительного программного обеспечения — она встроена в систему.

Синтаксис и режимы работы

Общий синтаксис команды:

`` nslookup [параметры] имя_домена [сервер] ``

Если сервер не указан, запрос отправляется на DNS-сервер, настроенный в системе по умолчанию.

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

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

`` nslookup example.com ``

Пример вывода:

``` Server: dns.example-provider.ru Address: 192.168.1.1

Name: example.com Address: 93.184.216.34 ```

Первая часть вывода содержит информацию о DNS-сервере, обработавшем запрос, вторая — результат разрешения имени.

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

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

КомандаНазначение
server IPсменить DNS-сервер для последующих запросов
set type=MXзапросить тип записи (MX, A, NS, TXT, PTR и др.)
set type=ANYзапросить все доступные записи
set querytype=...альтернативный синтаксис выбора типа записи
exitзавершить работу

Типы DNS-записей

NSLOOKUP поддерживает запросы к основным типам ресурсных записей DNS:

  • A — IPv4-адрес, соответствующий доменному имени;
  • AAAA — IPv6-адрес;
  • MX — почтовый сервер домена (с указанием приоритета);
  • NS — авторитетные DNS-серверы домена;
  • CNAME — каноническое имя (псевдоним);
  • TXT — произвольный текстовый ресурс, часто используется для подтверждения владения доменом и настройки SPF;
  • PTR — обратное разрешение: IP-адрес в доменное имя;
  • SOA — стартовая запись зоны с административной информацией.

Пример запроса MX-записи:

`` nslookup -type=mx example.com ``

Отличие от других утилит

Наиболее близкие по назначению утилиты — dig и host, распространённые в Unix-системах. Основные различия:

Критерийnslookupdighost
ПлатформыWindows, Linux, macOSLinux, macOSLinux, macOS
Встроенность в Windowsданетнет
Формат выводачеловекочитаемыйподробный, с заголовкамикраткий
Поддержка интерактивного режимаданетнет

В Windows NSLOOKUP остаётся стандартным средством диагностики DNS, поскольку dig и host не входят в состав системы. В Linux dig считается более информативным инструментом для профессиональной диагностики.

Ограничения

NSLOOKUP имеет ряд известных особенностей:

  • при запросах к некоторым корректно настроенным серверам утилита может возвращать ошибку Non-existent domain вместо пустого ответа, что связано с особенностями обработки негативного кэша;
  • результаты могут отличаться от фактического разрешения в браузере или почтовом клиенте, если в системе настроен кэш DNS;
  • утилита не поддерживает DNSSEC-валидацию;
  • в неинтерактивном режиме в Windows параметры задаются через ключ / (например, nslookup -type=mx example.com), в Linux — через дефис (-type=mx), что может вызывать путаницу при переходе между платформами.

Историческая справка

NSLOOKUP появилась в составе BSD-систем в конце 1970-х годов и была включена в пакет BIND (Berkeley Internet Name Domain), ставший основой для большинства DNS-серверов. В Windows утилита появилась в составе Windows 2000 и с тех пор присутствует во всех последующих версиях операционной системы.

Источники

  • RFC 1034 — Domain Names: Concepts and Facilities
  • RFC 1035 — Domain Names: Implementation and Specification
  • Microsoft Docs — Nslookup
  • BIND 9 Administrator Reference Manual
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru