Часто возникают ситуации, когда нужно проверить работу сервиса доменных имен, или просто просмотреть записи DNS, тогда в этом случаи можем воспользоваться командой dig в Линуксе.
dig - это утилита, которая позволяет отправлять запросы к ДНС серверу, является аналогом команды nslookup, входит в комплект bind9.
Для чего нужен ДНС?
В современном мире мы можем подключаться не только к серверам, компьютерам, но и к различным устройствам. Сейчас IP-адреса могут быть у часов, весов даже у чайников.
DNS - система доменных имен. Она связывает доменные имена с цифровыми адресами и служит для интерпретации доменных имен в IP-адреса.
Для подключения к устройству, кто устанавливает соединения должен знать IP-адрес назначения. Если соединения устанавливает человек, например открывает браузер и пытается открыть какой-нибудь сайт, то для человека запоминать айпи адреса сервера сайта достаточно сложно, поэтому в 80-х годах придумали систему доменных имен.
Сервера DNS знают под каким именем зарегистрирован тот или иной IP-адрес. И когда Вы вводите название сайта в адресной строке браузера, запрос обрабатывается DNS сервером и отправляется по адресу.
Синтаксис
Рассмотрим синтаксис.
Основные параметры:
- -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".
Примеры
Узнаем айпи адрес сайта. Для этого введем команду без аргументов.
На скриншоте видно секции:
- HEADER -выводит информацию о текущей версии dig;
- QUESTION SECTION - выводит наш запрос. Мы запросили А запись;
- ANSWER SECTION - выводит ответ ДНС сервера.
- ADDITIONAL SECTION - показывает айпи адреса ДНС серверов.
- Область статичтики.
Итого получили:
- A - 195.161.114.71 - это IP-адрес сайта;
- NS - dns сайта;
- 64471 IN A - IP-адрес службы доменных имен;
- Server: 192.168.201.254#53 - айпи адрес текущего ДНС сервера компьютера, который указан в файле /etc/resolv.conf. 53 - это порт.
Получим адрес почтового сервера, так называемые МХ запись. Для этого в качестве аргумента укажем MX.
Наша строчка в секции ANSWER SECTION.
Уберем лишнюю информацию, выведем только секцию ANSWER SECTION. Для этого введем дополнительные аргументы +noall +answer.
+noall - отключит все секции, +answer добавит секцию ANSWER SECTION.
Узнаем NS запись, без лишней информации.
Аналог такой команды можно записать с ключом +short.
Получим PTR запись. В командной строке пишем аргумент -x и айпи адрес.