NSLookup — утилита для запросов DNS¶
NSLookup — утилита командной строки для выполнения запросов к системе доменных имён (DNS) и получения информации о доменных именах, IP-адресах, почтовых серверах и других DNS-записях. Название происходит от англ. Name Server Lookup («поиск сервера имён»). Утилита входит в состав операционных систем Windows, Linux и macOS, а также доступна в виде отдельных пакетов для различных UNIX-подобных систем.
¶Назначение и принцип работы
NSLookup выполняет функцию «клиента DNS»: программа формирует DNS-запрос определённого типа (A, AAAA, MX, TXT, NS, SOA и др.), отправляет его на указанный DNS-сервер и выводит полученный ответ в текстовом виде. В отличие от утилиты ping, которая проверяет достижимость хоста, NSLookup позволяет получить прямой ответ от DNS-сервера, что полезно при диагностике проблем с разрешением имён.
Программа работает в двух режимах:
- Интерактивный — после запуска без аргументов пользователь вводит запросы в цикле, пока не завершит сессию командой
exit. - Неинтерактивный (одиночный) — запрос передаётся как аргумент командной строки, результат выводится один раз, после чего программа завершается.
¶Синтаксис и основные команды
Базовый вызов выглядит так:
`` nslookup имя_домена ``
или
`` nslookup IP-адрес ``
В интерактивном режиме доступны дополнительные команды:
| Команда | Назначение |
|---|---|
server IP | Указать DNS-сервер для последующих запросов |
set type=MX | Запросить тип записи (MX, A, AAAA, TXT, NS, SOA, PTR и др.) |
set querytype=MX | Аналог set type |
set debug | Включить отладочный вывод |
set timeout=5 | Изменить время ожидания ответа (в секундах) |
set retry=3 | Количество повторных попыток |
set domain=example.com | Задать домен по умолчанию |
set search | Использовать список поисковых доменов из /etc/resolv.conf |
exit | Завершить сессию |
¶Примеры использования
Получение IP-адреса домена:
``` $ nslookup example.com Server: 8.8.8.8 Address: 8.8.8.8#53
Non-authoritative answer: Name: example.com Address: 93.184.216.34 ```
Запрос MX-записей (почтовых серверов) домена:
``` $ nslookup
set type=MX
mail.ru
```
Обратный поиск — определение имени хоста по IP-адресу (запись PTR):
`` $ nslookup 93.184.216.34 ``
Указание конкретного DNS-сервера:
`` $ nslookup example.com 1.1.1.1 ``
¶Отличия от других утилит
| Утилита | Отличие |
|---|---|
dig | Более подробный вывод, поддержка всех опций DNS, стандарт де-факто в UNIX-системах |
host | Упрощённый вывод, ориентирован на быструю проверку |
ping | Проверяет достижимость хоста, а не содержимое DNS-записей |
На практике dig считается более информативной альтернативой, однако NSLookup доступен «из коробки» в Windows, что делает его удобным для быстрой диагностики.
¶Применение
NSLookup используется системными администраторами и разработчиками для:
- проверки корректности DNS-записей домена;
- диагностики проблем с разрешением имён;
- определения почтовых серверов домена;
- проверки настроек DNS-сервера;
- изучения TTL (времени жизни) записей;
- обратного поиска по IP-адресу.
¶История
Утилита появилась в 1980-х годах в составе пакета BIND (Berkeley Internet Name Domain) для UNIX-систем. В Windows NSLookup был включён начиная с Windows NT и присутствует во всех последующих версиях, включая Windows 10 и Windows 11.
¶Источники
- RFC 1034 — Domain Names: Concepts and Facilities
- RFC 1035 — Domain Names: Implementation and Specification
- Microsoft Docs — Nslookup
- BIND 9 Administrator Reference Manual
