Команда dig Linux

Часто возникают ситуации, когда нужно проверить работу сервиса доменных имен, или просто просмотреть записи DNS, тогда в этом случаи можем воспользоваться командой dig в Линуксе.

dig - это утилита, которая позволяет отправлять запросы к ДНС серверу, является аналогом команды nslookup, входит в комплект bind9.

Для чего нужен ДНС?

В современном мире мы можем подключаться не только к серверам, компьютерам, но и к различным устройствам. Сейчас IP-адреса могут быть у часов, весов даже у чайников.

DNS - система доменных имен. Она связывает доменные имена с цифровыми адресами и служит для интерпретации доменных имен в IP-адреса.

Для подключения к устройству, кто устанавливает соединения должен знать IP-адрес назначения. Если соединения устанавливает человек, например открывает браузер и пытается открыть какой-нибудь сайт, то для человека запоминать айпи адреса сервера сайта достаточно сложно, поэтому в 80-х годах придумали систему доменных имен.

Сервера DNS знают под каким именем зарегистрирован тот или иной IP-адрес. И когда Вы вводите  название сайта в адресной строке браузера, запрос обрабатывается DNS сервером и отправляется по адресу.

Синтаксис

Рассмотрим синтаксис.

dig [имя-сервера] [опции] [доменное имя или IP-адрес]

Основные параметры:

  • -t - какой тип запроса получить, TXT, NS, A;
  • -c - какой класс запроса получить,  IN;
  • -x - преобразование адреса в нормальное написание, обычно опция используется чтобы получить PTR запись;
  • A - IP-адрес версии 4;
  • AAAA - адрес версии 6;
  • CNAME - псевдоним;
  • MX - показать Mail eXchange запись;
  • NS - имя сервера доменных имен;
  • PTR - обратное разрешение;
  • SOA -  техническая информация о домене;
  • TXT -показать txt запись;
  • +short -скрывает лишнюю информацию, тем самым выводит только ваш запрос;
  • +noall - отключит все секции;
  • +noanswer – отключит секцию "ANSWER SECTION"
  • +nostats – убирает статистику;
  • +nocomments – убирает комментарии;
  • +noadditional – убирает  "ADDITIONAL SECTION";
  • +noauthority – не покажет на экране  "AUTHORITY SECTION".

Примеры

Узнаем айпи адрес сайта. Для этого введем команду без аргументов.

dig vseprolinux.ru

Получение ns записей

На скриншоте видно секции:

  • HEADER -выводит информацию о текущей версии dig;
  • QUESTION SECTION - выводит наш запрос. Мы запросили А запись;
  • ANSWER SECTION - выводит ответ ДНС сервера.
  • ADDITIONAL SECTION - показывает айпи адреса ДНС серверов.
  • Область статичтики.

Итого получили:

  1. A - 195.161.114.71 - это IP-адрес сайта;
  2. NS - dns сайта;
  3. 64471 IN A - IP-адрес службы доменных имен;
  4. Server: 192.168.201.254#53 - айпи адрес текущего ДНС сервера компьютера, который указан в файле /etc/resolv.conf. 53 - это порт.

Получим адрес почтового сервера, так называемые МХ запись. Для этого в качестве аргумента укажем MX.

dig mx vseprolinux.ru

Получаем адрес почтового сервера

Наша строчка в секции ANSWER SECTION.

Уберем лишнюю информацию, выведем только секцию ANSWER SECTION. Для этого введем дополнительные аргументы +noall +answer.

+noall - отключит все секции, +answer добавит секцию ANSWER SECTION.

dig mx +noal +answer vseprolinux.ru

Вывод answer

Узнаем NS запись, без лишней информации.

dig ns +noal +answer vseprolinux.ru

Аналог такой команды можно записать с ключом +short.

dig ns +short vseprolinux.ru

Получим PTR запись. В командной строке пишем аргумент -x и айпи адрес.

dig -x 195.161.114.71

Получаем PTR