- Команда dig в Linux
- Синтаксис команды dig
- Опции и флаги dig
- Примеры использования dig
- 1. Получение информации о домене
- 2. Получение определённой записи
- 3. Использование определённого DNS-сервера
- 4. Получение домена по IP
- Выводы
- Debian 9 dig command not found – How to install dig on Debian
- Debian 9 dig command not found
- Getting rid of “-bash: dig: command not found” on Debian 9
- How to install dig on Debian 9
- How do I use dig command?
- A tip about finding package names on Debian 9
- Conclusion
- Команда Dig в Linux (поиск DNS)
- Установка dig
- Установите dig на Ubuntu и Debian
- Установите dig на CentOS и Fedora
- Установить dig на Arch Linux
- Понимание dig вывода
- Печать только ответа
- 1. Получите короткий ответ
- 2. Получите подробный ответ
- Сервер имен для конкретного запроса
- Запрос типа записи
- 1. Запрос записей A
- 2. Запрос записей CNAME
- 3. Запрос записей TXT
- 4. Запрос записей MX.
- 5. Запрос NS-записей
- 6. Запрос всех записей
- Обратный поиск в DNS
- Массовые запросы
- Файл .digrc
- Выводы
Команда 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? Напишите об этом в комментариях ниже.
Источник
Debian 9 dig command not found – How to install dig on Debian
Debian 9 dig command not found
You may get the following error when you run dig command:
vivek@debina9:
$ dig www.cyberciti.biz
vivek@debina9:
$ dig +short myip.opendns.com @resolver1.opendns.com
Try to locate the dig with type command:
vivek@debina9:
$ type -a dig
Display your PATH settings on Linux with help of echo command:
vivek@debina9:
$ echo «$PATH»
Getting rid of “-bash: dig: command not found” on Debian 9
BIND (Berkeley Internet Name Domain) is an implementation of the DNS (Domain Name System) protocols. BIND includes a DNS server (named), which resolves host names to IP addresses; a resolver library and tools for verifying that the DNS server is operating properly. However, bind is not installed by default including the dig command.
You must install dnsutils package. It contains a collection of utilities (such as dig command and other) for querying DNS name servers to find out information about internet hosts. These tools will provide you with the IP addresses for given host names, as well as other information about registered domains and network addresses.
How to install dig on Debian 9
You must install dnsutils if you need to get information from DNS name servers. Use the apt command or apt-get command:
vivek@debina9:
$ sudo apt install dnsutils
How do I use dig command?
The syntax is:
dig Hostname
dig DomaiNameHere
dig @DNS-server-name Hostname
dig @DNS-server-name IPAddress
dig @DNS-server-name Hostname|IPAddress type
For example:
vivek@debina9:
$ dig www.cyberciti.biz
vivek@debina9:
$ dig @1.1.1.1 bash.cyberciti.biz
vivek@debina9:
$ dig @1.1.1.1 MX cyberciti.biz
vivek@debina9:
$ dig @1.1.1.1 AAAA cyberciti.biz
dig command installed on a CentOS Linux 7 and displaying dns output of a query
A tip about finding package names on Debian 9
Want to find out which package owned dig command on a Debian 9 Linux 6/7? Try:
vivek@debina9:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Conclusion
And there you have it, dig command installed and working correctly on a Debian Linux 9 or earlier versions. You can use the same command on a Debian 8 to install dig command.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Команда Dig в Linux (поиск DNS)
Dig (Domain Information Groper) — это мощный инструмент командной строки для запроса серверов имен DNS.
Команда dig позволяет запрашивать информацию о различных записях DNS, включая адреса хостов, почтовые обмены и серверы имен. Это наиболее часто используемый системными администраторами инструмент для устранения проблем с DNS из-за его гибкости и простоты использования.
В этом руководстве объясняется, как использовать утилиту dig на практических примерах и подробных объяснениях наиболее распространенных вариантов dig .
Установка 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 запрашивает запись A.
Вы можете отключить этот раздел, используя опцию +noquestion .
Раздел «ОТВЕТ» дает нам ответ на наш вопрос. Как мы уже упоминали, по умолчанию dig запрашивает запись A. Здесь мы видим, что домен linux.org указывает на IP-адрес 104.18.59.123 .
Обычно вы не хотите отключать ответ, но вы можете удалить этот раздел из вывода, используя параметр +noanswer .
Раздел «АВТОРИТЕТ» сообщает нам, какие серверы являются полномочными для ответа на запросы DNS о запрошенном домене.
Вы можете отключить этот раздел вывода, используя параметр +noauthority .
Раздел «ДОПОЛНИТЕЛЬНО» предоставляет нам информацию об IP-адресах авторитетных DNS-серверов, указанных в разделе полномочий.
Параметр +noadditional отключает дополнительный раздел ответа.
Последний раздел вывода dig включает статистику запроса.
Вы можете отключить эту часть с +nostats опции +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
Чтобы получить список всех адресов для доменного имени, используйте параметр a :
Как вы уже знаете, если тип записи DNS не указан, dig запросит запись A. Вы также можете запросить запись 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.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник