Разрешение доменных имен DNS с помощью команды dig в Linux

Команда в Linux, сокращение от “Domain Information Groper”, – это инструмент сетевого администрирования, используемый для запроса DNS (система доменных имен) серверы. Он позволяет пользователям получать информацию о доменных именах, таких как IP-адреса, почтовые серверы (MX-записи) и другие записи ресурсов DNS. Используется в основном для устранения проблем с DNS и предоставляет подробные результаты, включая время ответа на запросы и DNS-сервер, предоставивший информацию. Благодаря своей гибкости и точности dig является наиболее предпочтительным инструментом среди сетевых администраторов для диагностики проблем DNS, тестирования конфигураций доменов и выполнения поиска DNS по сравнению с более простыми командами, такими как nslookup.

Использование команды dig для разрешения доменного имени

Разрешение домена example.com:

dig example.com

Если домен может быть разрешен, результат будет примерно таким:

root@server1:~# dig unixs.ru

; > DiG 9.11.3-1ubuntu1.1-Ubuntu > unixs.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;unixs.ru. IN A

;; ANSWER SECTION:
unixs.ru. 299 IN A 104.24.0.68
unixs.ru. 299 IN A 104.24.1.68

;; Query time: 233 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Aug 08 12:35:15 CEST 2024
;; MSG SIZE rcvd: 75

Как запросить локальный DNS-сервер с помощью dig

Чтобы проверить, отвечает ли локальный веб-сервер за данный домен, выполните следующую команду:

dig @localhost example.com

Получение имени почтового сервера с помощью dig

Если вы хотите узнать, какой почтовый сервер отвечает за обработку почты для example.com, вы можете использовать команду:

dig MX example.com

Результат будет примерно таким:

root@server1:~# dig MX unixs.ru

; > DiG 9.11.3-1ubuntu1.1-Ubuntu > MX unixs.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;unixs.ru. IN MX

;; ANSWER SECTION:
unixs.ru. 299 IN MX 10 mail.unixs.ru.

;; Query time: 205 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
;; WHEN: Wed Aug 08 10:36:30 CEST 2024
;; MSG SIZE rcvd: 64

Получение дополнительных опций команды dig

Чтобы получить все доступные параметры команды dig, выполните команду:

dig --help

Более подробное описание вы найдете в manpage команды dig:

man dig

Вот выдержка из man-страницы этого инструмента, которая наглядно показывает, как использовать dig:

A typical invocation of dig looks like:

dig @server name type

where:

server
is the name or IP address of the name server to query. This can be an IPv4 address in
dotted-decimal notation or an IPv6 address in colon-delimited notation. When the supplied
server argument is a hostname, dig resolves that name before querying that name server.

If no server argument is provided, dig consults /etc/resolv.conf; if an address is found
there, it queries the name server at that address. If either of the -4 or -6 options are in
use, then only addresses for the corresponding transport will be tried. If no usable addresses
are found, dig will send the query to the local host. The reply from the name server that
responds is displayed.

name
is the name of the resource record that is to be looked up.

type
indicates what type of query is required — ANY, A, MX, SIG, etc.  type can be any valid query
type. If no type argument is supplied, dig will perform a lookup for an A record.

При желании вы можете заставить команду dig удалить определенные секции из вывода. Например, чтобы отключить отображение строк комментариев в выводе или раздела вопроса запроса при получении ответа, используйте команду +nocomments и +noquestion варианты.

На следующем снимке экрана показаны эти параметры в действии:

Команда Dig опция nocomments

Получение серверов имен домена

Двигаясь дальше, вы можете запросить NS-записи, как и MX-записи, с помощью команды dig. Вот как это можно сделать:

dig NS example.com

Ниже приведен результат, полученный этой командой в нашем случае:

Получение серверов имен домена с помощью dig

Получение IP-адреса доменного имени с помощью команды dig

Если вы хотите, чтобы dig отображал только IP-адрес сервера, используйте опцию +short.

Например:

dig example.com +short

Получение IP-адреса доменного имени

Если вы хотите запросить несколько сайтов/серверов за один раз, вы можете создать список имен в файле и передать имя этого файла в качестве входного параметра -f команды dig.

-f file

Batch mode: dig reads a list of lookup requests to process from the given file. Each line in the
file should be organized in the same way they would be presented as queries to dig using the
command-line interface.

Вот пример:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *