Как найти все dns имена

The short answer is that it’s usually not possible, unless you control the domain.

Option 1: ANY query

When you query for ANY, you will get a list of all records at that level but not below.

# try this
dig google.com any

This may return A records, TXT records, NS records, MX records, etc if the domain name is exactly «google.com». However, it will not return child records (e.g., www.google.com). More precisely, you MAY get these records if they exist.

The name server does not have to return these records if it chooses not to do so (for example, to reduce the size of the response). Most DNS servers reject ANY queries.

Option 2: AXFR query

An AXFR is a zone transfer, and is likely what you want. However, these are typically restricted and not available unless you control the zone. You’ll usually conduct a zone transfer directly from the authoritative server (the @ns1.google.com below) and often from a name server that may not be published (a stealth name server).

# This will return "Transfer failed"
dig @ns1.google.com google.com axfr

If you have control of the zone, you can set it up to get transfers that are protected with a TSIG key. This is a shared secret the client can send to the server to authorize the transfer.

Option 3: Scrape with a script

Another option is to scrape all DNS records with a script. You’d have to iterate through all the DNS record types, and also through common subdomains, depending on your needs.

Option 4: Use specialized tooling

There are some online tools that enumerate subdomains, and online tools that list all DNS records for a DNS name. Note that subdomain enumeration is usually not exhaustive.

При внесении изменений в записи NS-серверов для вашего домена, полезно знать как эти данные подхватывают DNS серверы по всему миру, в том числе и у вашего провайдера. В этой статье я опишу как быстро и просто это сделать с помощью встроенных средств операционной системы Windows или он-лайн в окне браузера.

Как проверить DNS записи доменного имени в Windows

В операционной системе Windows есть полезная утилита nslookup, которая позволит узнать значения необходимых вам DNS записей. Для ее использования нам понадобится консоль. Вызвать ее в Windows 10 можно сочетанием клавиш [Win]+[R].

Как посмотреть DNS записи вашего доменного имени

Далее набрать команду cmd и нажать клавишу [OK]

Использование nslookup в Windows для проверки записей для доменного имени

По-умолчанию, если выполнить команду nslookup domainname.tld (где domainname.tld — доменное имя) вы получите информацию о А-записи запрашиваемого доменного имени через DNS сервер по-умолчанию (обычно это ваш шлюз, роутер). Например:

>nslookup yandex.ru
Сервер:  192.168.204.2
Address:  192.168.204.2

Не заслуживающий доверия ответ:
Имя:     yandex.ru
Addresses:77.88.55.50
          5.255.255.80
          5.255.255.88
          77.88.55.55

Чтобы посмотреть записи через другой DNS сервер, то есть увидеть какие значения записей для домена хранятся на другом DNS сервере, а они могут быть иными, выполните следующую команду: nslookup domainname.tld dns-server (где domainname.tld — доменное имя, а dns-server адрес стороннего DNS сервера, например 1.1.1.1 от CloudFlare).

>nslookup yandex.ru 1.1.1.1
Сервер:  one.one.one.one
Address:  1.1.1.1

Не заслуживающий доверия ответ:
Имя:     yandex.ru
Addresses:77.88.55.55
          5.255.255.88
          77.88.55.50
          5.255.255.80

Для просмотра других записей домена нужно команде nslookup добавить опцию -type=YYY, где YYY — тип проверяемой записи. Например для просмотра MX-записи используйте команду nslookup -type=mx domainname.tld.

>nslookup -type=mx yandex.ru
Сервер:  192.168.204.2
Address:  192.168.204.2

Не заслуживающий доверия ответ:
yandex.ru       MX preference = 10, mail exchanger = mx.yandex.ru

mx.yandex.ru    internet address = 77.88.21.249

Аналогично для других записей, а так же через альтернативные DNS.

Описание ресурсных записей для домена

Для того, чтобы настроить на своем домене сайт, почту или другие сервисы, потребуется в зоне домена указать соответствующие сервисам ресурсные записи.

Настройка ресурсных записей выполняется либо хостинг-провайдером автоматически, при создании сайта или почты в панели управления хостингом, либо администратором домена вручную с помощью специального редактора.

Базовые типы записей, с которыми работают администраторы и владельцы сайтов:

  • NS-запись — главный тип, определяющий адреса DNS-серверов, обслуживающих домен.
  • A-запись — привязывает доменное имя на один IP-адрес, используя протокол IPv4. Возможно использование более одного IP-адреса. Тогда добавляют вторую A-запись c другим IP-адресом. Если есть необходимость указания нескольких имен для одного IP, как правило, используют CNAME-запись для формирования псевдонимов (алиасов).
  • AAAA — тип записи, аналогичный предыдущей, но с IPv6-адресами.
  • CNAME — указывает, что данный домен выполняет функции псевдонима (алиаса) другого домена. Для псевдонима записи других типов не вносятся.
  • MX-запись — указывает имя сервера, ответственного за прием почты для домена. В зоне домена может быть несколько MX-записей с разными приоритетами.
  • TXT-запись — используется для хранения произвольной информации в DNS. Запись может использоваться для подтверждения владения доменом в р различных сервисах.
  • SOA-запись — содержит служебную информацию: доменное имя, время последнего обновления зоны домена, адрес администратора зоны, настройки временных параметров и другую информацию.

Корректность заполнения ресурсных записей важна для успешного делегирования домена и дальнейшего функционирования службы name-серверов.

Он-лайн проверка записей для домена

Он-лайн проверка DNS записей имеет преимущество в том, что вы можете сделать ее с любого устройства с браузеров и доступом в Интернет.

Проверка записей DNS с помощью Набора инструментов администратора от Google

Набор инструментов для администратора от Google содержит утилиту Dig, с помощью которой можно проверить все интересующие вас записи для домена.

Как посмотреть DNS записи вашего доменного имени

Особенность данного сервиса в том, что проверка идет только через DNS серверы Google.

Он-лайн проверка DNS записей от регистратора REG.RU

Регистратор REG.RU предлагает свой сервис DIG для просмотра записей для домена.

Как посмотреть DNS записи вашего доменного имени

У этого сервиса в отличии от Google есть возможность выбрать DNS сервер, чтобы посмотреть записи для домена.

Как проверить NS записи на всех DNS серверов сразу

Если вы хотите проверить записи для домена на всех (на большинстве популярных) DNS серверах, то можно воспользоваться сайтом https://www.digwebinterface.com/. Который грубо говоря представляет собой WEB оболочку для утилиты DIG.

Как посмотреть DNS записи вашего доменного имени

Очень удобно прослеживать как ваши изменения для доменных записей реплицируются по DNS серверам мира.

Дополнительные сервисы для проверки

Я привел только самые удобные с моей стороны сервисы по проверки NS записей для доменного имени. Но есть и другие:

  1. https://2ip.ru/dig/
  2. https://dnschecker.org/

Возможно вам они понравятся даже больше.

Почему домены начинают работать не сразу

DNS-серверы интернет-провайдеров обновляются через определенные промежутки времени. Обычно от часа до суток. Если вы только что прописали или сменили DNS-серверы, то готовьтесь к тому, что внесенные изменения вы и посетители вашего сайта увидят через 24 часа. А полная синхронизация всех DNS серверов в мире может растянуться на трое суток.

Так же на скорость обновления значений влияет параметр TTL каждой ресурсной записи.

Как посмотреть DNS записи вашего доменного имени

Благодарности

При написании статьи были использованы следующие ресурсы:

  1. https://www.nic.ru/help/chto-takoe-name-servery-ns_8578.html
  2. https://help.reg.ru/hc/ru/articles/4408047119761-Что-такое-DNS-простыми-словами

Dig (Domain Information Groper) — это мощный инструмент командной строки для запроса серверов имен DNS.

Команда dig позволяет запрашивать информацию о различных записях DNS, включая адреса хостов, почтовые обмены и серверы имен. Это наиболее часто используемый системными администраторами инструмент для устранения проблем с DNS из-за его гибкости и простоты использования.

В этом руководстве объясняется, как использовать утилиту dig на практических примерах и подробных объяснениях наиболее распространенных вариантов dig .

Установка dig

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

dig -v

Результат должен выглядеть примерно так:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Если dig отсутствует в вашей системе, приведенная выше команда напечатает «dig: команда не найдена». Инструмент dig можно установить с помощью диспетчера пакетов дистрибутива.

Установите dig на Ubuntu и Debian

sudo apt update && sudo apt install dnsutils

Установите dig на CentOS и Fedora

sudo yum install bind-utils

Установить dig на Arch Linux

sudo pacman -S bind-tools

Понимание dig вывода

В простейшей форме, когда используется для запроса одного хоста (домена) без каких-либо дополнительных параметров, команда dig довольно многословна.

В следующем примере мы работаем в домене linux.org :

dig linux.org

Результат должен выглядеть примерно так:

Давайте разберемся по разделам и объясним вывод команды dig :

  1. В первой строке вывода выводится установленная версия dig и запрашиваемое доменное имя. Вторая строка показывает глобальные параметры (по умолчанию только cmd).

     ; <<>> DiG 9.13.3 <<>> linux.org ;; global options: +cmd

    Если вы не хотите, чтобы эти строки включались в вывод, используйте параметр +nocmd . Эта опция должна быть самой первой после команды dig .

  2. В следующем разделе приведены технические сведения об ответе, полученном от запрашиваемого центра (DNS-сервера). В заголовке отображается код операции (действие, выполняемое командой dig ) и статус действия. В этом примере статус NOERROR , что означает, что запрошенный орган обслужил запрос без каких-либо проблем.

     ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Этот раздел можно удалить с помощью параметра +nocomments , который также отключает заголовки некоторых других разделов.

  3. Псевдо-раздел «OPT» отображается только в более новых версиях утилиты dig . Вы можете узнать больше о механизмах расширения для DNS (EDNS)здесь .

     ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096

    Чтобы исключить этот раздел из вывода, используйте параметр +noedns .

  4. В разделе «ВОПРОС» dig показывает запрос (вопрос). По умолчанию dig запрашивает запись A.

     ;; QUESTION SECTION: ;linux.org. IN A

    Вы можете отключить этот раздел, используя опцию +noquestion .

  5. Раздел «ОТВЕТ» дает нам ответ на наш вопрос. Как мы уже упоминали, по умолчанию dig запрашивает запись A. Здесь мы видим, что домен linux.org указывает на IP-адрес 104.18.59.123 .

     ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    Обычно вы не хотите отключать ответ, но вы можете удалить этот раздел из вывода, используя параметр +noanswer .

  6. Раздел «АВТОРИТЕТ» сообщает нам, какие серверы являются полномочными для ответа на запросы DNS о запрошенном домене.

     ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    Вы можете отключить этот раздел вывода, используя параметр +noauthority .

  7. Раздел «ДОПОЛНИТЕЛЬНО» предоставляет нам информацию об IP-адресах авторитетных DNS-серверов, указанных в разделе полномочий.

     ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    Параметр +noadditional отключает дополнительный раздел ответа.

  8. Последний раздел вывода dig включает статистику запроса.

     ;; Query time: 58 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Oct 12 11:46:46 CEST 2018 ;; MSG SIZE rcvd: 212

    Вы можете отключить эту часть с +nostats опции +nostats .

Печать только ответа

Как правило, вы хотите получить только краткий ответ на свой запрос о dig .

1. Получите короткий ответ

Чтобы получить краткий ответ на свой вопрос, используйте опцию +short :

dig linux.org +short
104.18.59.123
104.18.58.123

Вывод будет включать только IP-адреса записи A.

2. Получите подробный ответ

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

dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer
;; global options: +cmd
linux.org.		67	IN	A	104.18.58.123
linux.org.		67	IN	A	104.18.59.123

Сервер имен для конкретного запроса

По умолчанию, если сервер имен не указан, dig использует серверы, перечисленные в файле /etc/resolv.conf .

Чтобы указать сервер имен, для которого будет выполняться запрос, используйте символ @ (at), за которым следует IP-адрес или имя хоста сервера имен.

Например, чтобы запросить у сервера имен Google (8.8.8.8) информацию о домене linux.org вы должны использовать:

dig linux.org @8.8.8.8
; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
linux.org.		299	IN	A	104.18.58.123
linux.org.		299	IN	A	104.18.59.123

;; Query time: 54 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 12 14:28:01 CEST 2018
;; MSG SIZE  rcvd: 70

Запрос типа записи

Dig позволяет выполнять любой допустимый DNS-запрос, добавляя тип записи в конец запроса. В следующем разделе мы покажем вам примеры того, как искать наиболее распространенные записи, такие как A (IP-адрес), CNAME (каноническое имя), TXT (текстовая запись), MX (почтовый обменник) и NS ( серверов имен).

1. Запрос записей A

Чтобы получить список всех адресов для доменного имени, используйте параметр a :

dig +nocmd google.com a +noall +answer
google.com.		128	IN	A	216.58.206.206

Как вы уже знаете, если тип записи DNS не указан, dig запросит запись A. Вы также можете запросить запись A, не указывая параметр a .

2. Запрос записей CNAME

Чтобы найти псевдоним домена, используйте опцию cname :

dig +nocmd mail.google.com cname +noall +answer
mail.google.com.	553482	IN	CNAME	googlemail.l.google.com.

3. Запрос записей TXT

Используйте параметр txt чтобы получить все записи TXT для определенного домена:

dig +nocmd google.com txt +noall +answer
google.com.		300	IN	TXT	"facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com.		300	IN	TXT	"v=spf1 include:_spf.google.com ~all"
google.com.		300	IN	TXT	"docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. Запрос записей MX.

Чтобы получить список всех почтовых серверов для определенного домена, используйте параметр mx :

dig +nocmd google.com mx +noall +answer
google.com.		494	IN	MX	30 alt2.aspmx.l.google.com.
google.com.		494	IN	MX	10 aspmx.l.google.com.
google.com.		494	IN	MX	40 alt3.aspmx.l.google.com.
google.com.		494	IN	MX	50 alt4.aspmx.l.google.com.
google.com.		494	IN	MX	20 alt1.aspmx.l.google.com.

5. Запрос NS-записей

Чтобы найти авторитетные серверы имен для нашего конкретного домена, используйте параметр ns :

dig +nocmd google.com ns +noall +answer
google.com.		84527	IN	NS	ns1.google.com.
google.com.		84527	IN	NS	ns2.google.com.
google.com.		84527	IN	NS	ns4.google.com.
google.com.		84527	IN	NS	ns3.google.com.

6. Запрос всех записей

Используйте параметр any чтобы получить список всех записей DNS для определенного домена:

dig +nocmd google.com any +noall +answer
google.com.		299	IN	A	216.58.212.14
google.com.		299	IN	AAAA	2a00:1450:4017:804::200e
google.com.		21599	IN	NS	ns2.google.com.
google.com.		21599	IN	NS	ns1.google.com.
google.com.		599	IN	MX	30 alt2.aspmx.l.google.com.
google.com.		21599	IN	NS	ns4.google.com.
google.com.		599	IN	MX	50 alt4.aspmx.l.google.com.
google.com.		599	IN	MX	20 alt1.aspmx.l.google.com.
google.com.		299	IN	TXT	"docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com.		21599	IN	CAA	0 issue "pki.goog"
google.com.		599	IN	MX	40 alt3.aspmx.l.google.com.
google.com.		3599	IN	TXT	"facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com.		21599	IN	NS	ns3.google.com.
google.com.		599	IN	MX	10 aspmx.l.google.com.
google.com.		3599	IN	TXT	"v=spf1 include:_spf.google.com ~all"
google.com.		59	IN	SOA	ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

Обратный поиск в DNS

Чтобы запросить имя хоста, связанное с определенным IP-адресом, используйте параметр -x .

Например, чтобы выполнить обратный поиск по 208.118.235.148 , введите:

dig -x 208.118.235.148 +noall +answer

Как видно из выходных данных ниже, IP-адрес 208.118.235.148 связан с именем хоста wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer
;; global options: +cmd
148.235.118.208.in-addr.arpa. 245 IN	PTR	wildebeest.gnu.org.

Массовые запросы

Если вы хотите запросить большое количество доменов, вы можете добавить их в файл (по одному домену в строке) и использовать параметр -f за которым следует имя файла.

В следующем примере мы запрашиваем домены, перечисленные в файле domains.txt .

domains.txt

lxer.com
linuxtoday.com
tuxmachines.org
dig -f domains.txt +short
108.166.170.171
70.42.23.121
204.68.122.43

Файл .digrc

Поведение команды dig можно контролировать, задав для каждого пользователя параметры в файле ${HOME}/.digrc .

Если файл .digrc присутствует в домашнем каталоге пользователя, указанные в нем параметры применяются перед аргументами командной строки.

Например, если вы хотите отобразить только раздел ответов, откройте текстовый редактор и создайте следующий файл ~/.digrc :

~/.digrc

Выводы

dig — это инструмент командной строки для запроса информации DNS и устранения проблем, связанных с DNS.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Команда nslookup — инструмент сетевого администрирования для запросов в доменной системе имен (DNS) с целью получения доменного имени, IP-адреса или другой информации из записей DNS.

Кроме того, эта команда используется для поиска и устранения проблем с DNS. В данном руководстве мы рассмотрим наиболее типичные примеры ее применения.

Команда nslookup может работать в интерактивном и неинтерактивном режимах. Интерактивный режим позволяет пользователю в режиме диалога отправлять DNS-серверу запросы о различных узлах и доменах. Неинтерактивный режим позволяет отправить один запрос об одном узле или домене.

Содержание

  1. Синтаксис команды nslookup
  2. Получение IP-адреса домена
  3. Авторитативный и неавторитативный ответы
  4. Запрос записи MX
  5. Запрос записи NS
  6. Запрос записи SOA
  7. Просмотр всех имеющихся записей DNS
  8. Обратный поиск DNS
  9. Использование конкретного DNS-сервера
  10. Изменение номера порта
  11. Изменение интервала ожидания ответа
  12. Режим отладки
  13. Интерактивный режим
  14. Заключение
nslookup [ОПЦИИ] [ИМЯ/АДРЕС] [СЕРВЕР ИМЕН]

Наиболее распространенные опции и типы аргументов мы рассмотрим ниже в соответствующих примерах.

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

Если указать в качестве аргумента команды nslookup доменное имя, она возвращает его «запись A» (A — address, IP-адрес).

$ nslookup yandex.ru

Здесь поле Server означает IP-адрес DNS-сервера, а затем выводится информация об IP-адресе домена «yandex.ru».

Авторитативный и неавторитативный ответы

В приведенном результате присутствует фраза «Non- Authoritative Answer» (неавторитативный ответ).

Авторитативным считается ответ от DNS-сервера, на котором есть полная информация о зоне домена. Во многих случаях на DNS-серверах такой информации нет, они хранят кэш с результатами прошлых запросов, на которые был получен авторитативный ответ. Когда такой сервер получает запрос, он осуществляет поиск в файле кэша и при наличии необходимых данных отправляет их как неавторитативный ответ, как в рассматриваемых нами примерах.

Запрос записи MX

Запись MX (Mail eXchange, обмен почтой) хранит соответствие доменного имени почтовому серверу этого домена. Например, для redhat.com в этих записях содержатся почтовые серверы домена, через которые должна отправляться вся электронная почта на адреса «@redhat.com». Получить запись MX можно при помощи опции -query=mx:

$ nslookup -query=mx redhat.com

В рассмотренном выше примере для домена «redhat.com» есть 2 записи MX. Число рядом с именем сервера (5, 10) означает его приоритет. Чем меньше число, тем выше приоритет. То есть при отправке письма на адрес «@redhat.com» сначала будет использоваться сервер mx1.redhat.com, а если он недоступен — mx2.redhat.com.

Запрос записи NS

Запись NS (Name Server, сервер имен) содержит соответствие доменного имени DNS-серверу, авторитативному для заданного домена. Ее можно получить при помощи опции -query=ns:

$ nslookup -query=ns yandex.ru

Запрос записи SOA

Запись SOA (Start of Authority, начальная запись зоны) содержит информацию о зоне домена, адрес его администратора, серийный номер и т.д. Ее можно получить при помощи опции -query=soa:

$ nslookup -query=soa yandex.ru


origin — имя первичного сервера зоны
mail addr – адрес администратора домена (noc@redhat.com, так как символ @ в описании зоны имеет собственное значение, в данном поле он заменен на точку)
serial – серийный номер файла зоны, используется для учета изменений. Здесь может быть любое целое число, но стандартный формат — «ГГГГММДДНН», то есть сначала указывается дата, а НН (в данном случае 01) увеличивается в случае нескольких обновлений в день
refresh – период времени (в секундах), через который вторичный DNS-сервер отправит запрос первичному, чтобы проверить, поменялся ли серийный номер. В случае изменения будет сделан новый запрос для получения информации о зоне
retry – указывает интервал для повторного соединения с первичным DNS-сервером, если он по каким-то причинам не смог ответить на запрос
expire – указывает время хранения кэша вторичным DNS-сервером, по истечении которого он будет считаться устаревшим
minimum – минимальное время хранения кэша вторичным DNS-сервером до повторного запроса

Просмотр всех имеющихся записей DNS

При помощи опции -query=any мы можем просмотреть все записи DNS, которые у нас есть для заданного доменного имени:

$ nslookup -type=any google.com

Обратный поиск DNS

Если вместо имени указать в качестве аргумента IP-адрес, будет выполнен обратный поиск DNS:

$ nslookup 5.255.255.70

Использование конкретного DNS-сервера

Для разрешения доменного имени можно использовать конкретный сервер имен (в данном случае ns1.redhat.com):

$ nslookup redhat.com ns1.redhat.com

Обратите внимание, что в результате отсутствует фраза «Non-authoritative answer», так как ns1.redhat.com обладает всей информацией о зоне для redhat.com.

Изменение номера порта

По умолчанию DNS-серверы используют порт 53, но при необходимости можно указать другой номер порта посредством опции -port:

$ nslookup port 56 yandex.ru

Изменение интервала ожидания ответа

Интервал ожидания ответа по умолчанию можно изменить, указав желаемое значение в секундах с опцией -timeout:

$ nslookup -timeout=10 google.com

Режим отладки

При помощи опции -debug вы можете включить режим отладки:

$ nslookup -debug redhat.com

В режиме отладки при поиске выводится информация о пакетах.

Интерактивный режим

Для входа в интерактивный режим запустите команду nslookup без опций. Далее можно вводить необходимые имена или адреса, а также устанавливать парметры при помощи команды set, например, следующие команды интерактивного режима:

$ nslookup

возвращают результат, аналогичный команде

$ nslookup -query=soa yandex.ru

Конечно, при поиске записей для одного имени использовать интерактивный режим бессмысленно. Но при необходимости работы с большим количеством записей он очень удобен, так как позволяет работать в режиме диалога.

Заключение

Мы рассмотрели основы работы с командой nslookup, а также основные типы записей DNS. Для более подробной информации о команде и ее опциях можно обратиться к соответствующей man-странице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

С помощью команды dig Вы можете запросить информацию о доменном имени у DNS-серверов. В этой статье описано 10 примеров использования команды dig.

По-умолчанию при обычном запросе выводятся А записи, как показано ниже в выводе

$ dig google.com

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35727
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             73      IN      A       172.217.16.142

;; Query time: 16 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jan 05 12:00:54 +03 2020
;; MSG SIZE  rcvd: 55

Команда dig содержит следующие секции:

Заголовок (Header): Здесь отображается версия dig, глобальные параметры, используемые командой dig, и несколько дополнительных сведений о заголовке.
Секция запроса (QUESTION SECTION): Отображает вопрос, который он задал DNS. То есть это Ваш запрос.
Секция ответа (ANSWER SECTION): Отображает ответ, который он получает от DNS. A записи в нашем случае.
Секция полномочий (AUTHORITY SECTION): Здесь отображается сервер DNS, который имеет полномочия отвечать на этот запрос. Отображает доступные NS серверы для google.com в нашем случае.
Секции дополнительные (ADDITIONAL SECTION): Здесь отображается IP адреса серверов имен, перечисленных в разделе полномочия.
В секции Статистика (Stats section) внизу отображается немного информации о команде dig включая сколько времени потребовалось для выполнения этого запроса.

2. Вывести только ANSWER SECTION в dig

Мы можем отключать разные секции этими параметрами:

+nocomments – отключить комментарии
+noauthority – отключить AUTHORITY SECTION
+noadditional – отключить ADDITIONAL SECTION
+nostats – отключить Stats section
+noanswer – отключить ANSWER SECTION (но нам это не надо, конечно)

Итак выведем только ANSWER SECTION:

$ dig google.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
google.com.             156     IN      A       172.217.16.142

Вместо отключения каждой секции мы можем отключить все с помощью +noall и включить только секцию ответа +answer

$ dig google.com +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com +noall +answer
;; global options: +cmd
google.com.             3       IN      A       172.217.16.142

3. Запрос MX записей с помощью dig

Для запроса MX записей сделаем следующее:

$ dig google.com  MX +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com MX +noall +answer
;; global options: +cmd
google.com.             16      IN      MX      40 alt3.aspmx.l.google.com.
google.com.             16      IN      MX      50 alt4.aspmx.l.google.com.
google.com.             16      IN      MX      10 aspmx.l.google.com.
google.com.             16      IN      MX      20 alt1.aspmx.l.google.com.
google.com.             16      IN      MX      30 alt2.aspmx.l.google.com.

Или можно использовать -t

$ dig -t MX google.com +noall +answer

4. Запрос NS записей в dig

Чтобы узнать NS записи используйте эту команду:

$ dig google.com NS +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com NS +noall +answer
;; global options: +cmd
google.com.             7595    IN      NS      ns1.google.com.
google.com.             7595    IN      NS      ns4.google.com.
google.com.             7595    IN      NS      ns2.google.com.
google.com.             7595    IN      NS      ns3.google.com.

Можно использовать опцию -t

$ dig -t NS google.com +noall +answer

5. Показать все DNS записи с помощью dig

Чтобы узнать все записи (A, MX, NS, и т.п.), ипользуйте ANY

$ dig google.com ANY +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com ANY +noall +answer
;; global options: +cmd
google.com.             343     IN      MX      50 alt4.aspmx.l.google.com.
google.com.             343     IN      MX      20 alt1.aspmx.l.google.com.
google.com.             343     IN      MX      40 alt3.aspmx.l.google.com.
google.com.             343     IN      MX      10 aspmx.l.google.com.
google.com.             343     IN      MX      30 alt2.aspmx.l.google.com.
google.com.             259     IN      AAAA    2a00:1450:4001:808::200e
google.com.             140     IN      A       172.217.16.142
google.com.             7423    IN      NS      ns1.google.com.
google.com.             7423    IN      NS      ns4.google.com.
google.com.             7423    IN      NS      ns2.google.com.
google.com.             7423    IN      NS      ns3.google.com.

или -t ANY

$ dig -t ANY google.com  +noall +answer

6. Вывод в сокращенном виде в dig

Просто используем параметр +short и получаем только А запись

$ dig google.com +short
172.217.20.14

Получим NS записи в сокращенном виде

$ dig google.com ns +short
ns3.google.com.
ns2.google.com.
ns4.google.com.
ns1.google.com.

7. Обратная запись DNS (Reverse Look-up) с помощью dig

Используем параметр -x

$ dig -x 172.217.20.14 +short
bud02s28-in-f14.1e100.net.
ham02s13-in-f14.1e100.net.

Получим полный вывод, если уберем опцию +short

$ dig -x 209.132.183.81

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> -x 172.217.20.14
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15962
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;14.20.217.172.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
14.20.217.172.in-addr.arpa. 7141 IN     PTR     ham02s13-in-f14.1e100.net.
14.20.217.172.in-addr.arpa. 7141 IN     PTR     bud02s28-in-f14.1e100.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jan 05 14:17:07 +03 2020
;; MSG SIZE  rcvd: 124

8. Как указать поределенный DNS сервер в dig

По-умолчанию dig используем DNS сервера указанные в Вашем файле /etc/resolv.conf

Используем параметр @сервер, если хотим указать другой сервер:

$ dig @8.8.8.8 google.com

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> @8.8.8.8 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38493
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             58      IN      A       172.217.16.142

;; AUTHORITY SECTION:
google.com.             6721    IN      NS      ns2.google.com.
google.com.             6721    IN      NS      ns3.google.com.
google.com.             6721    IN      NS      ns1.google.com.
google.com.             6721    IN      NS      ns4.google.com.

;; Query time: 7 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Jan 05 14:20:24 +03 2020
;; MSG SIZE  rcvd: 116

9. Как сделать массовые DNS запросы с помощью dig

Сначала нам нужно создать файл с доменными именами (например), которые указаны по одному в строку

$ vim names.txt

google.com
yandex.ru
yahoo.com

Теперь отправим команду dig -f имя_файла и посмотрим что получится:

$ dig -f names.txt +noall +answer

google.com.             129     IN      A       172.217.16.142
yandex.ru.              216     IN      A       77.88.55.88
yandex.ru.              216     IN      A       5.255.255.88
yandex.ru.              216     IN      A       77.88.55.50
yandex.ru.              216     IN      A       5.255.255.5
yahoo.com.              771     IN      A       98.138.219.232
yahoo.com.              771     IN      A       72.30.35.9
yahoo.com.              771     IN      A       98.137.246.8
yahoo.com.              771     IN      A       98.137.246.7
yahoo.com.              771     IN      A       98.138.219.231
yahoo.com.              771     IN      A       72.30.35.10

Как видим, мы получили А записи всех указанных доменов. Так же можно и с другими записями. Например MX:

$ dig -f names.txt MX +noall +answer

google.com.             599     IN      MX      20 alt1.aspmx.l.google.com.
google.com.             599     IN      MX      50 alt4.aspmx.l.google.com.
google.com.             599     IN      MX      40 alt3.aspmx.l.google.com.
google.com.             599     IN      MX      10 aspmx.l.google.com.
google.com.             599     IN      MX      30 alt2.aspmx.l.google.com.
yandex.ru.              221     IN      MX      10 mx.yandex.ru.
yahoo.com.              987     IN      MX      1 mta5.am0.yahoodns.net.
yahoo.com.              987     IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              987     IN      MX      1 mta7.am0.yahoodns.net.

Мы можем так же одной командой обрабатывать несколько имен:

$ dig google.com mx +noall +answer yandex.ru ns +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com mx +noall +answer yandex.ru ns +noall +answer
;; global options: +cmd
google.com.             513     IN      MX      30 alt2.aspmx.l.google.com.
google.com.             513     IN      MX      10 aspmx.l.google.com.
google.com.             513     IN      MX      40 alt3.aspmx.l.google.com.
google.com.             513     IN      MX      50 alt4.aspmx.l.google.com.
google.com.             513     IN      MX      20 alt1.aspmx.l.google.com.
yandex.ru.              345600  IN      NS      ns1.yandex.ru.
yandex.ru.              345600  IN      NS      ns2.yandex.ru.
yandex.ru.              345600  IN      NS      ns9.z5h64q92x9.net.

10. Использование файла $HOME/.digrc для указания дефолтных настроек dig

Если, например, Вы всегда используете параметры “+noall +answer”, можете просто прописать их в файл .digrc и больше никогда не вводить:

$ cat $HOME/.digrc

+noall +answer

Теперь они всегда будут использоваться во всех командах

$ dig google.com

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com +noall +answer
;; global options: +cmd
google.com.             3       IN      A       172.217.16.142

Понравилась статья? Поделить с друзьями:
  • Как найти в истории видео которое смотрел
  • Dead island как найти карту
  • Как исправить сколиоз у взрослого человека гимнастика
  • Как составить портрет своего ребенка
  • Как исправить цвет на коронке зуба