Команда ‘nslookup’ (сокращение от name server lookup) , представляет собой инструмент сетевого администрирования для запроса серверов DNS для получения доменного имени или отображения IP -адреса домена или хоста. Также эта команда может использоваться для запроса нескольких различных типов записей DNS, таких как MX, NS и SOA.
Установка nslookup
Обычно, nslookup уже установлен в дистрибутивах, по умолчанию. В случае, если этот пакет отсутствует в вашей системе, то для его установки можно воспользоваться следующими командами:
На Ubuntu и Debian-like серверах:
sudo apt install dnsutils
На RHEL-like серверах:
sudo dnf install bind-utils
На Arch-based серверах:
sudo pacman -S dnsutils
На openSUSE:
sudo zypper in bind-utils
Режим ввода команд nslookup.
Утилита nslookup имеет два режима работы: интерактивный и неинтерактивный. Если вам необходимо выяснить какой-то один аспект данных, лучше, конечно, использовать неинтерактивный режим. Но если вам нужно узнать много чего, то лучше использовать интерактивный режим. Это позволит передать сразу несколько различных параметров, работая с утилитой, как с командной строкой.
Для запуска nslookup в интерактивном режиме, запустите ее, не передавая никаких параметров
nslookup

Для выхода из интерактивного режима, просто дайте команду ‘exit’.
При неинтерактивном режиме команде nslookup передаются необходимые параметры и опции прямо в командной строке. Например,
nslookup roadit.ru
Базовое использование nslookup
nslookup отправляет запрос на DNS сервер и передает ему имя домена, в ответ получает и отображает в консоль А-запись домена (IP-адрес). Например,
nslookup roadit.ru

В первой части вывода указывается сервер и адрес DNS -сервера, который в настоящее время настроен для использования вашей системой.
Символ хэш (#) — это разделитель между IP -адресом сервера, который ответил на ваш запрос, и портом, на котором работает его сервис.
Затем в разделе ниже содержится запись (IP -адрес) домена «roadit.ru».
В выводе ‘nslookup’ часто можно заметить следующую строку «Non-authoritative answer:», как часть результата поиска.Это говорит о том, что результат был предоставлен сервером, который не является авторитетным (первичным) источником информации о DNS записи. Это означает, что результат был предоставлен сервером, который держал кэшированную копию записи DNS (например, сервером вашего провайдера, который предварительно внес эту запись в свой кэш).
Если в вашем выводе указано, «Authoritative answer» — это когда на ваш запрос, получен ответ от DNS-сервера, на котором размещена основная копия записи DNS.
Поиск MX записи для домена (E-mail сервер)
В записи MX (Mail Exchanger) указывается почтовый сервер, ответственный за маршрутизацию электронной почты с использованием протокола SMTP . Другими словами, эта запись содержит информацию о почтовом сервере, обслуживающем конкретный домен, а так же о приоритете этого сервера.
Чтобы увидеть MX запись домена используется опция ‘-type=MX’
nslookup -type=MX roadit.ru

Поиск NS записи для домена.
NS запись (сокращение от Name Servers) домена отображает все DNS-серверы, которые являются первичными (Authoritative) для этого домена. Для поиска NS-записи используется опция ‘-type=ns’
В результате выполнения следующей команды, вы получите список всех DNS-серверов, ассоциированных как первичные с запрашиваемым доменом:
nslookup -type=ns roadit.ru

Поиск SOA записи для домена.
SOA (англ. start of authority record) — это ресурсная запись DNS, которая хранит информацию о сервере, содержащем эталонную информацию о домене. Запись SOA указывает, какой компьютер является доверенным сервером вашего домена.
Посмотреть запись SOA можно, используя опцию -type=soa
nslookup -type=soa roadit.ru

- origin: имя главного сервера домена
- mail addr: адрес электронной почты администратора. Это значение, может ввести небольшое замешательство, так как отсутствует символ «@». Но тут просто надо принять, как должное, что вместо него используется точка. Например, в этом случае адрес будет такой: «hostmaster@beget.com»
- serial: номер, который увеличивается каждый раз при изменении данных зоны. Серийный номер используется для определения, нужно ли обновлять данные зоны на вторичных серверах.
- refresh: время в секундах, через которое вторичные серверы должны проверять наличие обновлений на первичном сервере.
- retry: время в секундах, через которое вторичные серверы должны повторять попытку получения обновлений, если первая попытка не удалась.
- expire: время в секундах, после которого вторичные серверы должны прекратить отвечать на запросы, если они не смогли обновить данные зоны.
- minimum: минимальное время в секундах, в течение которого данные зоны должны быть кэшированы на клиентских устройствах.
Обратный поиск DNS
Обратный поиск, это, когда вы ищите имя домена, передавая в команду IP-адрес.
nslookup 77.88.44.55

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

Здесь вы можете заметить, что мы не получаем никакой строки «Non-authoritative answer», поскольку ns2.beget.pro имеет всю информацию о roadit.ru.
Дебаг запроса.
Если вам необходимо более детально изучить запрос к DNS-серверу, вы можете использовать опцию -debug
nslookup -debug roadit.ru

Заключение
Утилита nslookup является полезным инструментом для работы с DNS. С помощью нее можно получить данные о домене и IP-адресе. Так же, с помощью этой утилиты можно найти такие записи, как A-запись, MX-записи, CNAME-записи и другие.
Используя эту команду вы можете быстро продиагностировать сеть, проверить корректность DNS настроек, а так же очень просто выявить подозрительные домены и хосты.
Таким образом, nslookup — это мощный инструмент для работы с DNS, который полезен администраторам сетей, разработчикам и специалистам по безопасности.
Was this helpful?
3 / 0