Привет, мир! Рассказываем про 10 самых часто используемых команд nslookup.

Что такое nslookup?
Давайте для начала определимся, что такое nslookup. Это мощная сетевая утилита командной строки, доступная для большинства популярных ОС. Она используется для запросов в систему доменных имён (DNS) с целью выявления имен или IP-адресов, а также других специфических DNS записей.
1. Выявление A записи для домена
A запись домена – это сопоставление доменного имени IP-адресу ресурса. Именно благодаря этому типу записи, когда вы набираете merionet.ru переходите на страницу нашего сайта. Чтобы определить IP-адрес ресурса (это может быть компьютер в вашей сети или же любой сайт в Интернете) нужно ввести следующую команду:
nslookup merionet.ru

2. Определение NS-записей домена
Когда вы набираете в адресной строке браузера адрес сайта, то компьютер обращается к DNS серверу, указанному в настройках сетевого интерфейса. А тот в свою очередь к более NS серверам, где хранятся записи о том, какой IP-адрес соответствует данному доменному имени. Утилита nslookup позволяет определять, какие NS –сервера использует тот или иной хост (сайт). Команда выглядит следующим образом:
nslookup –type=ns merionet.ru

3. Определение SOA записи узла
SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Для определения SOA записи используется команда:
nslookup –type=SOA merionet.ru

4. Как найти MX-запись хоста
Электронная почта сегодня используется повсеместно. Чтобы отправлять и получать электронные письма хост используется тип записи MX. В каждой MX-записи хранятся два поля:
- имя почтового сервера, который обслуживает домен
- порядковый номер, по которому определяется какой сервер первым будет обрабатывать запросы клиентов
Для определения MX-записей хоста используется команда:
nslookup –type=MX merionet.ru

5. Определение всех типов DNS-записей
По умолчанию, команда nslookup отображает соответствие IP-адреса доменному имени. Но можно заставить утилиту вернуть все возможные записи для указанного хоста:
nslookup –type=any merionet.ru

6. Явное указание DNS-сервера
Утилита nslookup при сопоставлении имён, по умолчанию обращается к DNS-серверу, который установлен в настройках сетевой карты. Но утилите можно передать название или IP-адрес, который хотим использовать для сопоставления имён.
nslookup merionet.ru dns2.yandex.ru

Как видно из скриншота, ответ нам вернул уже сервер Яндекса.
7. Обратный DNS lookup
Обычно утилита nslookup используется для определения IP-адреса переданного хоста. Но что если IP-адрес уже есть, но нужно найти доменное имя? И здесь можно использовать nslookup передав в качестве значения IP-адрес узла.

8. Изменение номера порта для запроса
По умолчанию, для запросов DNS использует 53 (UDP) порт. Но это поведение тоже можно изменить, хотя особого необходимости в этом нет.
nslookup –port=56 merionet.ru

9. Изменение интервала ожидания
Бывают случаи, особенно при слабых Интернет соединениях, что ответа от сервера приходится ждать долго. По умолчанию, если ответ не приходит в течении 5 секунд, то запрос повторяется, увеличив время ожидания в два раза. Но можно вручную задать это значение в секундах:
nslookup –timeout=10 merionet.ru
Отработку этой команды увидеть сложно, но она может быть эффективна при соединениях с низкой скоростью.
10. Включение режима отладки
Режим отладки позволяет получать более детальную информацию об узле. Для этого используется команда:
nslookup –debug merionet.ru

Заключение
Когда утилита nslookup возвращает ответ, там указывается с какого сервера вернулся ответ. Эти сервера бывают authoritative и non-authoritative answer.
Authoritative answer – это ответ, полученные непосредственно от сервера, который располагает информацией об указанном домене. В нашем случае – это dns2.yandex.ru
. Non-authoritative answer – это ответ, полученный от промежуточного сервера. В нашем случае – это мой роутер.