- 10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux
- Команда Dig в Linux (Domain Information Groper)
- Dig Command in Linux (DNS Lookup)
- В этом руководстве объясняется, как использовать dig утилиту, на практических примерах и подробные объяснения наиболее распространенных вариантов dig.
- Установка dig
- Установить dig на Ubuntu и Debian
- Установить dig на CentOS и Fedora
- Установить dig на Arch Linux
- Понимание dig вывода
- Печать только ответа
- 1. Получите короткий ответ
- 2. Получить подробный ответ
- Запрос конкретного сервера имен
- Запросить тип записи
- 1. Запрос записей
- 2. Запрос записей CNAME
- 3. Запрос записей TXT
- 4. Запрос MX записей
- 5. Запрос записей NS
- 6. Запрос всех записей
- Обратный поиск DNS
- Массовые Запросы
- Файл .digrc
- Вывод
- Команда dig в Linux
- Синтаксис команды dig
- Опции и флаги dig
- Примеры использования dig
- 1. Получение информации о домене
- 2. Получение определённой записи
- 3. Использование определённого DNS-сервера
- 4. Получение домена по IP
- Выводы
10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux
Итак, что такое dig?
dig (англ. слово «копать», а формально — сокращение от «domain information groper») — утилита (DNS-клиент), предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера. Является аналогом утилиты nslookup.
Утилита dig входит в стандартный комплект DNS сервера BIND.
1. Простой вывод команды dig (для понимания вывода, без доп.параметров )
Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже
В примере можно увидеть A-записи домена ya.ru в разделе ANSWER SECTION
Давайте рассмотрим разделы данного вывода подробней:
— HEADER (заголовок): показывает версию dig, глобальные опции используемые с командой и другую дополнительную информацию
— QUESTION SECTION (секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда dig без параметров) для домена ya.ru
— ANSWER SECTION (секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись для ya.ru
Последняя секция это статистика по запросу (служебная информация) — время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения
Так же можно выполнить опрос конкретного DNS-сервера:
Результат вывода дополняется еще двумя секциями:
AUTHORITY SECTION: Показывает имена DNS-серверов обработавших наш запрос
ADDITIONAL SECTION: Показывает ip-адреса этих DNS-серверов (из секции AUTHORITY SECTION)
2. Вывод только секции ANSWER SECTION
В большинстве случаев требуется только ip адрес домена, то бишь вывод секции «ANSWER SECTION»
Для этого существуют следующие ключи:
-+nocomments — отключает линию комментариев
-+noauthority — отключает секцию «AUTHORITY SECTION»
-+noadditional – отключает секцию «ADDITIONAL SECTION»
-+nostats – отключает секцию статистики
-+noanswer – выключает секцию ответа (ANSWER SECTION)
Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды
3. Запрос MX-записи
Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)
Этот же запрос можно выполнить с ключом -t (тип)
4. Запрос NS-записи
По аналогии с предыдущим пунктом, используем аргумент NS
Вы также можете использовать ключ -t для указания типа запроса
5. Просмотр всех типов DNS-записей
Для этого используется ключ ANY
Также допустим ключ -t
6. Краткий вывод команды dig
Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short
Вы также можете вывести информацию по любому виду информации с ключем +short
Пример:
7. Просмотр информации об обратной зоне домена (PTR)
Для просмотра обратной зоны необходимо использовать ключ -х
Для примера, мы хотим узнать имя домена по айпи-адресу 77.88.21.3
Для вывода полной информации убираем ключ +short
8. Использование конкретного DNS-сервера для выполнения запроса
Для использования конкретного DNS-сервераиспользуется запись вида — @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
Данный пример мы рассмотрели в п.1
9. Объемный запрос (запрос информации сразу о нескольких доменах)
Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
Создадим файл names.txt с именами доменов:
Далее используем ключ -f для чтения из файла:
Также можно комбинировать тип DNS записи c опцией -f:
Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.ru:
10. Изменение параметров по умолчанию для команды dig
Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:
Таким образом мы рассмотрели мизерную часть этой замечательной утилиты, для тех, кто хочет большего, добро пожаловать в man dig 😉
Источник
Команда Dig в Linux (Domain Information Groper)
Dig Command in Linux (DNS Lookup)
В этом руководстве объясняется, как использовать dig утилиту, на практических примерах и подробные объяснения наиболее распространенных вариантов dig.
Dig (Domain Information Groper) — это мощный инструмент командной строки для запросов к DNS-серверам имен.
Команда dig позволяет запрашивать информацию о различных записях DNS, включая адреса хостов, почтовые обмены и серверы имен. Это наиболее часто используемый инструмент среди системных администраторов для устранения проблем с DNS из-за его гибкости и простоты использования.
Установка dig
Чтобы проверить, доступна ли команда dig в вашей системе, введите:
Вывод должен выглядеть примерно так:
Если dig его нет в вашей системе, приведенная выше команда выведет «dig: команда не найдена». dig Инструмент может быть установлен с помощью менеджера пакетов дистрибутива.
Установить dig на Ubuntu и Debian
Установить dig на CentOS и Fedora
Установить dig на Arch Linux
Понимание dig вывода
В простейшем виде dig команда используется для запроса одного хоста (домена) без каких-либо дополнительных опций, команда довольно многословна.
В следующем примере мы выполняем на linux.org домене:
Вывод должен выглядеть примерно так:
Давайте рассмотрим раздел за разделом и объясним вывод dig команды:
В первой строке вывода печатается установленная dig версия и запрашиваемое имя домена. Вторая строка показывает глобальные параметры (по умолчанию только cmd).
Если вы не хотите, чтобы эти строки были включены в вывод, используйте +nocmd опцию. Эта опция должна быть самой первой после dig команды.
В следующем разделе содержатся технические подробности об ответе, полученном от запрашиваемого органа (DNS-сервер). Заголовок показывает код операции (действие, выполненное dig ) и статус действия. В этом примере состояние имеет значение NOERROR , что означает, что запрошенный орган обработал запрос без каких-либо проблем.
Этот раздел можно удалить с помощью +nocomments параметра, который также отключает заголовки некоторых других разделов.
Псевдо-раздел «OPT» отображается только в более новых версиях dig утилиты. Вы можете прочитать больше о механизмах расширения для DNS (EDNS) здесь .
Чтобы исключить этот раздел из вывода, используйте +noedns параметр.
В разделе «ВОПРОС» dig отображается запрос (вопрос). По умолчанию dig запрашивает запись А.
Вы можете отключить этот раздел, используя +noquestion опцию.
Раздел «ОТВЕТ» дает нам ответ на наш вопрос. Как мы уже упоминали, по умолчанию dig будет запрашиваться запись A. Здесь мы видим, что домен linux.org указывает на 104.18.59.123 IP-адрес.
Обычно вы не хотите отключать ответ, но вы можете удалить этот раздел из вывода, используя +noanswer опцию.
Раздел «AUTHORITY» сообщает нам, какие серверы являются полномочиями для ответа на DNS-запросы о запрашиваемом домене.
Вы можете отключить этот раздел вывода, используя +noauthority опцию.
Раздел «ДОПОЛНИТЕЛЬНО» предоставляет нам информацию об IP-адресах доверенных DNS-серверов, указанных в разделе полномочий.
+noadditional Опция отключает дополнительный раздел ответа.
Последний раздел dig вывода содержит статистику о запросе.
Вы можете отключить эту часть с помощью +nostats опции.
Печать только ответа
Как правило, вы хотите получить только короткий ответ на ваш dig запрос.
1. Получите короткий ответ
Чтобы получить краткий ответ на ваш запрос, используйте +short опцию:
Вывод будет включать только IP-адреса записи A.
2. Получить подробный ответ
Чтобы получить более подробный ответ, отключите все результаты с помощью +noall параметров, а затем включите только раздел ответов с этим +answer параметром.
Запрос конкретного сервера имен
По умолчанию, если сервер имен не указан, dig используются серверы, указанные в /etc/resolv.conf файле.
Чтобы указать сервер имен, для которого будет выполняться запрос, используйте @ символ (at), за которым следует IP-адрес сервера имен или имя хоста.
Например, чтобы запросить у сервера имен Google (8.8.8.8) информацию о linux.org домене, который вы используете:
Запросить тип записи
Dig позволяет вам выполнить любой допустимый DNS-запрос, добавив тип записи в конец запроса. В следующем разделе мы покажем вам примеры того, как искать наиболее распространенные записи, такие как A (IP-адрес), CNAME (каноническое имя), TXT (текстовая запись), MX (почтовый обменник) и NS ( серверы имен).
1. Запрос записей
Чтобы получить список всех адресов для доменного имени, используйте a параметр:
Как вы уже знаете, если тип записи DNS не указан, dig будет запрашиваться запись А. Вы также можете запросить запись A без указания a опции.
2. Запрос записей CNAME
Чтобы найти псевдоним домена, используйте cname параметр:
3. Запрос записей TXT
Используйте txt опцию, чтобы получить все записи TXT для определенного домена:
4. Запрос MX записей
Чтобы получить список всех почтовых серверов для определенного домена, используйте mx параметр:
5. Запрос записей NS
Чтобы найти официальные серверы имен для нашего конкретного домена, используйте ns параметр:
6. Запрос всех записей
Используйте any опцию, чтобы получить список всех записей DNS для определенного домена:
Обратный поиск DNS
Чтобы запросить имя хоста, связанное с конкретным IP-адресом, используйте -x опцию.
Например, чтобы выполнить обратный поиск 208.118.235.148 , введите:
Как видно из вывода ниже, IP-адрес 208.118.235.148 связан с именем хоста wildebeest.gnu.org .
Массовые Запросы
Если вы хотите запросить большое количество доменов, вы можете добавить их в файл (по одному домену на строку) и использовать -f параметр, после которого следует имя файла.
В следующем примере мы запрашиваем домены, указанные в domains.txt файле.
Файл .digrc
В dig поведение команды можно управлять с помощью настройки для каждого пользователя параметры в файле $
Если файл .digrc присутствует в домашнем каталоге пользователя, указанные в нем параметры применяются перед аргументами командной строки.
Например, если вы хотите отобразить только раздел ответа, откройте текстовый редактор и создайте следующий файл
Вывод
dig является инструментом командной строки для запроса информации DNS и устранения проблем, связанных с DNS
Источник
Команда dig в Linux
Команда dig (domain information groper) — многофункциональный инструмент для опроса DNS-серверов. Она позволяет получить больше информации о конкретном домене, для того чтобы, например, узнать используемые им IP-адреса.
Этот инструмент может оказаться полезным сетевым администраторам для выявления неисправностей DNS. Аналоги чаще всего предлагают меньше функций и возможностей, чем может предоставить утилита командной строки dig. В этой статье мы рассмотрим что из себя представляет команда dig Linux, а также как ею пользоваться.
Синтаксис команды dig
Использовать команду dig несложно. Достаточно ввести название сервера, имя домена и передать команде подходящие опции:
$ dig @сервер доменное.имя тип записи флаги
- @cервер — IP-адрес или доменное имя DNS-сервера (если не указано, dig будет обращаться к DNS-серверу, используемому по умолчанию);
- доменное.имя — доменное имя интернет-ресурса, о котором необходимо получить информацию;
- тип записи — позволяет указать, для какого типа записи необходим вывод, например A, NS, MX или TXT;
- флаги — с помощью флагов утилите dig отдаются дополнительные команды; оговаривается, каким должен быть вывод команды (что в нём должно быть, а чего нет).
Опции и флаги dig
Во время работы утилиты dig могут использоваться следующие флаги:
- +[no]all — отображает или скрывает все установленные по умолчанию флаги отображения;
- +[no]answer — отображает только ответ на запрос;
- +[no]fail — эта опция указывает, должна ли утилита переключаться на следующий DNS сервер, если текущий не отвечает (по умолчанию стоит +fail);
- +short — сокращает вывод утилиты;
- +[no]cmd — отключает вывод заголовка и информации об использованных опциях утилиты;
- +[no]identify — используется вместе с флагом +short и отображает информацию об IP-адресе сервера;
- +[no]comments — удаляет все комментарии из вывода утилиты;
- +[no]trace — позволяет вывести список DNS серверов через которые прошёл запрос на получение информации о домене, по умолчанию отключено.
Вместе с dig можно применять следующие опции:
- -4 — позволяет использовать только IPv4;
- -6 — позволяет использовать только IPv6;
- -x — предназначена для получения домена по IP;
- -f — используется для чтения списка доменов из файла;
- -b IP-адрес — позволяет указать исходящий IP-адрес, с которого отправлен запрос к DNS-серверу, полезно, если к компьютеру подключено несколько сетевых карт;
- -r — предотвращает чтение настроек из файла
/.digrc;
Здесь указаны лишь некоторые флаги и опции. Если необходимо узнать больше, используйте команду:
Примеры использования dig
1. Получение информации о домене
Для того чтобы получить информацию о домене необходимо передать имя домена команде. Например, для google.com:
Рассмотрим каждую секцию вывода подробнее:
- HEADER — отображает информацию о версии утилиты, ID запроса, полученных ошибках и использованных флагах вывода. Выводится и другая важная информация о количестве запросов, обращений к DNS-серверу и т. д.;
- QUESTION SECTION — секция, которая отображает текущий запрос;
- ANSWER SECTION — секция, в которой отображается результат обработки созданного запроса (в данном случае это IP-адрес домена).
По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. Например:
dig google.com +short
Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.
dig google.com +noall
Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).
dig доменное.имя +noall +answer
Для создания комбинированного запроса можно использовать текстовый файл со списком сайтов, например, sites.txt. Чтобы создать текстовый документ с таким именем, введите следующую команду в терминале:
В файл необходимо добавить список доменов, для которых необходимо получить данные, например:
google.com
ya.ru
losst.ru
Для того чтобы получить информацию о перечисленных в файле sites.txt доменах, используйте команду:
dig -f sites.txt +noall +answer
2. Получение определённой записи
Согласно синтаксису команды dig linux, тип записи указывается после доменного имени. Для того чтобы получить MX-запись домена google.com, используйте команду:
dig google.com MX +noall +answer
Чтобы получить NS-запись для домена, введите в терминале такую команду:
dig google.com NS +noall +answer
Запрос записи A происходит по умолчанию. Однако мы можем прописать этот запрос отдельно, чтобы обеспечить её вывод без дополнительной информации:
dig google.com A +noall +answer
Для вывода записи TXT аналогичным образом используйте команду вида:
dig google.com TXT +noall +answer
Для просмотра всех типов записей одновременно используйте запрос вида:
dig google.com ANY +noall +answer
3. Использование определённого DNS-сервера
Если DNS-сервер не был указан, как это было показано в предыдущих примерах, утилита dig linux будет по очереди пробовать все серверы из файла /etc/resolv.conf. Если же и там ничего нет, dig отправит запрос на localhost.
Указывать DNS-серверы можно в формате IPv4 или IPv6. Это не имеет значения и не повлияет на вывод dig. Отправим запрос на публичный DNS-сервер Google. Его IP-адрес: 8.8.8.8. В этом случае запрос в dig будет выглядеть следующим образом:
dig @8.8.8.8 google.com +noall +answer
Как видно, для домена google.com используется IP-адрес: 142.250.75.14.
4. Получение домена по IP
Для того чтобы узнать имя домена с помощью команды dig по IP, используйте опцию -x. Например, для того, чтобы узнать домен, привязанный к IP адресу 87.250.250.242 выполните такую команду:
dig -x 87.250.250.242
Как видите, это IP адрес яндекса. Правда такой способ получения доменов работает не всегда. Если к IP привязано несколько доменов программа может вывести только первый. Для того чтобы сократить вывод и оставить только нужную нам информацию, можно ввести запрос следующим образом:
dig -x 87.250.250.242 +short
Команда отображает информацию о том, что это google.com. Как видите команда dig Linux способна на многое.
Выводы
В этой небольшой статье мы рассмотрели, как можно использовать dig для опроса DNS-серверов. Несмотря на то что команда достаточно простая, она позволяет получить много полезной информации. А чем вы пользуетесь для обращения к серверам DNS? Напишите об этом в комментариях ниже.
Источник