Поиск по сайту:

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


На этой странице

  1. Используйте команду dig для разрешения доменного имени
  2. Как запросить локальный DNS-сервер с помощью dig
  3. Получить имя почтового сервера с помощью dig
  4. Получите дополнительные параметры команды dig
  5. Получить серверы имен домена
  6. Получите IP-адрес доменного имени с помощью команды dig

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

Используйте команду dig для разрешения доменного имени

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

dig example.com

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

root@server1:~# dig linux-console.net
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50297
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linux-console.net. IN A
;; ANSWER SECTION:
linux-console.net. 299 IN A 104.24.0.68
linux-console.net. 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 linux-console.net
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> MX linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14115
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linux-console.net. IN MX
;; ANSWER SECTION:
linux-console.net. 299 IN MX 10 mail.linux-console.net.
;; 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

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

man dig

Вот выдержка из справочной страницы инструмента, которая ясно показывает, как использовать 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.

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

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

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

копать NS example.com

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

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

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

Например:

копать example.com +коротко

Если вы хотите запросить несколько веб-сайтов/серверов за один раз, вы можете создать список имен в файле и передать имя этого файла в качестве входных данных в параметр -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.

Вот пример:

Статьи по данной тематике: