DNS – распределенная компьютерная система, предоставляющая информацию о доменах. За хранение и передачу данных, а также привязку домена к IP-адресу отвечают ресурсные записи. Любая допущенная ошибка или опечатка не самым положительным образом повлияет на работу домена. Есть огромное количество ресурсных записей, но некоторые из них используются чаще всего.
Я расскажу, какими способами можно проверить каждый тип DNS-записи.
Типы DNS-записей
Функции ресурсных записей – это не только хранение, передача информации и привязка к IP адресу. Они также помогают настроить обработку запросов, перенаправляют их на другие серверы. Вот несколько наиболее важных типов DNS-записей:
- A – адресная запись, которая отвечает за привязку доменного имени к определенному IP-адресу по протоколу IPv4.
- AAAA – аналогична предыдущей, только действительна на основе интернет-протокола IPv6.
- CNAME – данный тип записи указывает на каноническое имя для псевдонима. С ее помощью к одному поддомену привязываются все ресурсные записи домена первого уровня.
- DKIM-подпись – подтверждает подлинность отправителя электронного письма. Именно эта ресурсная запись добавляет в сообщение цифровую подпись. Тем самым снижается вероятность попадания письма в папку «Спам».
- MX – регистрирует почтовые серверы, используя при этом протокол SMTP. Отвечает за доставку электронного письма на указанный сервер.
- NS – указывает на DNS-серверы, которые обслуживают домен. Чуть ли не одна из самых важных записей, без которой функционирование домена дало бы сбой.
- PTR – действует обратно записям A и AAAA, то есть показывает соответствие IP-адреса и доменного имени. Многие почтовые серверы во время фильтрации писем проверяют ее наличие.
- SOA – используется для указания на новую зону и авторитетность указанной в ней информации.
- SPF – защищает домен от подделки, показывает список доверенных серверов, с которых отправляются электронные письма. Это нужно для того, чтобы предотвратить рассылку спама от вашего доменного имени.
- SRV – хранит данные о местоположении серверов, обеспечивающих работу тех или иных служб.
- TXT – содержит общую вспомогательную информацию о домене, используется для указания SPF-записей, подтверждения прав собственности, обеспечения безопасности электронной почты и так далее.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Способы проверки DNS-записей домена
А зачем проверять DNS-записи? Ошибки, допущенные в ресурсных записях, приводят к нарушению работоспособности сайта. Даже после внесения всех правок полноценный доступ к сайту появится не сразу, так как изменения, внесенные в ресурсные записи, вступают в силу в течение 72 часов.
Есть множество способов, позволяющих проверить DNS-записи. Можно воспользоваться как специальными командами в системе, так и онлайн-сервисами.
Встроенные в систему службы
- nslookup. Действует на ОС Windows и Linux. С помощью этой утилиты можно точно узнать информацию об IP-адресе, а еще о настройке всех ресурсных записей. Утилита запускается через «Командную строку» в Windows и «Терминал» в Linux. Вводить команду нужно одинаково в обоих случаях и примерно вот так:
nslookup -type=тип_записи site.com
- host. Эта утилита используется в ОС Linux. Она есть в стандартном пакете командной строки «Терминал». С ее помощью можно проверить все виды запросов к DNS-серверу. Вводится команда вот таким образом:
host site.com
Можно перед доменным именем добавить опцию -t и указать тип записи для получения более подробного поиска. Выглядеть это будет примерно вот так:
host -t A site.com
host -t MX site.com
Проверка DNS-записей с помощью сторонних сервисов
Еще можно воспользоваться бесплатными онлайн-сервисами для проверки DNS записей.
- 2whois.ru – известный сайт, с помощью которого можно узнать DNS-записи самого разного типа. Просто нужно указать домен в соответствующей строке и начать проверку.
- dns.nettools.ru – очень удобный сервис, в котором можно получить информацию не только о ресурсных записях, но и возможности выполнения рекурсивных запросов, а также проверки сервера на возможность выгрузки данных.
- functions-online.com – здесь тоже очень удобно проверять настройки DNS-записей самых различных типов. Сервис дает полную информацию, а еще предоставляет PHP документацию на разных языках.
- mail-tester.com – сервис поможет определить, попадет ли письмо, отправленное с вашего сервера, в «Спам». Еще здесь можно определить ошибки в ссылках и проверить качество форматирования писем.
- xseo.in/dns – на данном ресурсе есть раздел для проверки самых разных DNS записей.
- digwebinterface.com – навороченный онлайн-сервис с очень простым исполнением. С первого взгляда может показаться сложным, но на самом деле справиться с ним может даже новичок.
Заключение
Каждая из предложенных утилит имеет свою особенность. К примеру, некоторые проверяют не все записи, другие же предоставляют более полную информацию о каждом типе. Выбор остается за вами.
Можете ли вы запомнить сотни телефонных номеров? Нет, верно? Поэтому мы сохраняем их в телефонной книге, используя соответствующие имена. Точно так же обычные пользователи могут искать в Интернете, используя имена, вместо того чтобы запоминать IP-адреса. В фоновом режиме компьютеры просматривают записи DNS чтобы определить реальное местоположение веб-сервера.
Концепция записей DNS имеет решающее значение, если вы хотите использовать SPF или Sender Policy Framework для защиты вашего почтового домена от хакеров. Этот блог посвящен пониманию того, как просматривать записи DNS.
Что такое DNS-запись
DNS – это сокращение от Domain Name System, а записи DNS – это инструкции, содержащиеся в авторитетных серверах DNS, предоставляющие информацию о домене. В них также отображается IP-адрес, связанный с определенным доменом, и команды по обработке запросов для этого домена.
Запись DNS представляет собой серию текстовых файлов, записанных в синтаксисе DNS, который представляет собой цепочку символов, используемых в качестве инструкций для сервера DNS. Все типы записей DNS имеют TTL или время жизни, которое указывает период, когда истекает срок действия пакета или данных.
Каковы общие типы записей DNS
Для анализа записей DNSнеобходимо знать несколько синтаксисов и команд, которые инструктируют сервер по обработке клиентского запроса. Вот восемь распространенных типов записей DNS.
Запись
Запись означает “адрес”. Она используется для поиска IP-адресов, где по доменному имени можно найти IPv4-адрес системы, на которой расположено конкретное доменное имя. Использование нескольких записей A для одного и того же домена приводит к сбоям и избыточности. Поэтому в таких сценариях каждый домен имеет свою собственную запись A, чтобы направлять пользователей на один и тот же IP-адрес.
Рекорд АААА
AAAA-запись (или запись Quad A) похожа на запись A; однако она указывает на IPv6 вместо IPv4. Она позволяет клиенту DNS узнать IP-адрес доменного имени для подключения к соответствующему веб-сайту. Но она не так распространена из-за ограниченного количества адресов IPv6. Как и запись A, она может быть избыточной при использовании для одного и того же домена.
Запись CNAME
CNAME или каноническое имя – еще одна жизненно важная вещь, которая помогает понять, как просматривать записи DNS. Оно указывает псевдодомен или субдомен на каноническое или основное доменное имя. Система использует его для связи псевдонима домена с основным доменом, имеющим запись A или AAAA.
Если ваш сайт имеет несколько поддоменов, то использование запись DNS CNAME рекомендуется. Помните, что размещение записи CNAME в корневом домене невозможно, и вы не должны направлять на нее записи NS и MX. Также не следует указывать запись CNAME на другую запись CNAME.
DNS PTR-запись
PTR, сокращенно от Pointer record, указывает доменное имя, связанное с определенным IP-адресом. По сути, она работает противоположно записи A и используется в обратном DNS-поиске. Обратный DNS-поиск – это процедура, начинающаяся с IP-адреса и заканчивающаяся соответствующим доменным именем.
Эксперты предлагают использовать его в качестве инструмента безопасности и защиты от спама.
NS Record
NS расшифровывается как запись сервера имен. Она обозначает авторитетный DNS-сервер определенного домена и указывает, на каком DNS-сервере находятся все фактические файлы зон. Загрузка веб-сайта, если NS-запись не настроена точно, невозможна. Использование многочисленных NS-записей повышает надежность.
Если имеется несколько серверов имен, вторичные серверы могут обслуживать DNS-запросы, когда основной сервер имен не работает.
Запись MX
MX-запись расшифровывается как Mail Exchange, это тип записи DNS, указывающий на почтовый сервер домена адреса электронной почты, использующего протокол SMTP. SMTP – это набор коммуникационных правил, позволяющих программному обеспечению передавать электронные письма через Интернет.
Вы не можете использовать свой почтовый ящик для отправки электронных писем, если в нем нет действующей записи MX.
Запись SOA
SOA или Start of Authority содержит жизненно важную информацию о вашей зоне DNS или домене. Она очень важна для мониторинга трафика между первичным и вторичным серверами имен.
Учение о совместном использовании записей DNS между серверами имен и файлом зоны DNS недействительно, если отсутствует запись SOA. Во время передачи зоны DNS полагается на запись SOA для идентификации источника файлов зоны.
Запись TXT
TXT-записи – это текстовые записи, включающие описательную, читаемую человеком информацию. Они объединены с другими типами записей DNS для предоставления дополнительной информации. Один домен может иметь несколько записей TXT. Они важны для составления записей SPF и DMARC записей. Вы также должны использовать средство проверки SPF-записей для получения безошибочных и достоверных записей SPF.
Как просмотреть записи DNS для домена
Теперь давайте посмотрим, как просмотреть записи DNS для домена.
ШАГ 1: Найдите свой сервер имен
Поиск сервера имен – это один из способов просмотра записей DNS. Вот несколько вариантов, которые вы можете попробовать.
ВАРИАНТ 1: Используйте окно терминала
Откройте окно терминала на своем компьютере и введите домен вашего сайта.
ВАРИАНТ 2: Используйте другой веб-сайт для поиска на вашем сервере имен
- Используйте любой веб-сайт, который собирает информацию о домене, чтобы узнать общедоступную информацию о вашем сервере имен.
- Выполните поиск по своему доменному имени.
- Введите свое доменное имя.
- Найдите информацию о сервере имен в результатах поиска.
ШАГ 2: Посетите сайт, указанный в списке сервера имен, чтобы найти свои DNS-записи
Вы также можете угадать имя хоста домена в списке. Посетите хост домена и войдите в систему, чтобы получить доступ к записям DNS. Если вы не знаете учетные данные для входа, вам может понадобиться связаться с предыдущим веб-администратором для получения доступа.
Резюме
DNS-серверы используют DNS-записи для точечной привязки доменов к соответствующим IP-адресам. Эта процедура происходит в бэкенде, но знание того, как просматривать записи DNS помогает в эффективной работе веб-сайта.
Чтобы проанализировать записи DNSнайдите свой сервер имен и посетите сайт, указанный на сервере имен, чтобы найти свои записи DNS.
- О сайте
- Последние сообщения
Менеджер по цифровому маркетингу и написанию контента в PowerDMARC
Ахона работает менеджером по цифровому маркетингу и контент-писателем в PowerDMARC. Она страстный писатель, блогер и специалист по маркетингу в области кибербезопасности и информационных технологий.
При внесении изменений в записи NS-серверов для вашего домена, полезно знать как эти данные подхватывают DNS серверы по всему миру, в том числе и у вашего провайдера. В этой статье я опишу как быстро и просто это сделать с помощью встроенных средств операционной системы Windows или он-лайн в окне браузера.
Как проверить DNS записи доменного имени в Windows
В операционной системе Windows есть полезная утилита nslookup, которая позволит узнать значения необходимых вам DNS записей. Для ее использования нам понадобится консоль. Вызвать ее в Windows 10 можно сочетанием клавиш [Win]+[R].
Далее набрать команду 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 серверы Google.
Он-лайн проверка DNS записей от регистратора REG.RU
Регистратор REG.RU предлагает свой сервис DIG для просмотра записей для домена.
У этого сервиса в отличии от Google есть возможность выбрать DNS сервер, чтобы посмотреть записи для домена.
Как проверить NS записи на всех DNS серверов сразу
Если вы хотите проверить записи для домена на всех (на большинстве популярных) DNS серверах, то можно воспользоваться сайтом https://www.digwebinterface.com/. Который грубо говоря представляет собой WEB оболочку для утилиты DIG.
Очень удобно прослеживать как ваши изменения для доменных записей реплицируются по DNS серверам мира.
Дополнительные сервисы для проверки
Я привел только самые удобные с моей стороны сервисы по проверки NS записей для доменного имени. Но есть и другие:
- https://2ip.ru/dig/
- https://dnschecker.org/
Возможно вам они понравятся даже больше.
Почему домены начинают работать не сразу
DNS-серверы интернет-провайдеров обновляются через определенные промежутки времени. Обычно от часа до суток. Если вы только что прописали или сменили DNS-серверы, то готовьтесь к тому, что внесенные изменения вы и посетители вашего сайта увидят через 24 часа. А полная синхронизация всех DNS серверов в мире может растянуться на трое суток.
Так же на скорость обновления значений влияет параметр TTL каждой ресурсной записи.
Благодарности
При написании статьи были использованы следующие ресурсы:
- https://www.nic.ru/help/chto-takoe-name-servery-ns_8578.html
- https://help.reg.ru/hc/ru/articles/4408047119761-Что-такое-DNS-простыми-словами
Команда HOST – это простая утилита интерфейса командной строки для выполнения перечисления DNS.
В исследованиях в области безопасности и этического взлома перечисление DNS является первым этапом сбора информации о цели.
Это процесс запроса всех потенциальных записей DNS с сервера доменных имен, таких как данные сервера имен, IP-адреса, данные почтового обменника, TTL и многое другое.
Злоумышленники могут использовать эту DNS-перечисленную информацию для изучения записей внутренней сети.
В Интернете существует множество инструментов для перебора DNS и онлайн-инструментов.
Однако перечисление DNS можно легко выполнить с помощью одной утилиты командной строки.
Это программа “HOST”.
В этой статье мы рассмотрим несколько полезных примеров команд хоста для запроса сведений о DNS.
Давайте начнем!
Содержание
- Установка
- Использование
- Как выполнить обратный поиск
- Как найти серверы доменных имен
- Запрос определенного сервера доменных имен
- Как найти MX-записи домена
- Для поиска TXT-записей домена
- Чтобы найти SOA-запись домена
- Как найти записи CNAME домена
- Заключение
Установка
Команда “HOST” может быть иногда недоступна по умолчанию на вновь установленной машине.
В результате вам придется установить ее в систему вручную.
Процесс установки довольно прост.
Все команды, связанные с DNS, такие как nslookup, dig и host, содержатся в библиотеке “bind-utils”.
Для этого просто введите в терминале следующую команду.
Использование
Общий синтаксис: Общая команда “host” выводит общий синтаксис команды и ее аргументы, которые могут быть использованы с ней, а также краткое описание каждого аргумента.
Пример вывода:
-[~]
└─$ host
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
[-R number] [-m flag] [-p port] hostname [server]
-a is equivalent to -v -t ANY
-A is like -a but omits RRSIG, NSEC, NSEC3
-c specifies query class for non-IN data
-C compares SOA records on authoritative nameservers
-d is equivalent to -v
-l lists all hosts in a domain, using AXFR
-m set memory debugging flag (trace|record|usage)
-N changes the number of dots allowed before root lookup is done
-p specifies the port on the server to query
-r disables recursive processing
-R specifies number of retries for UDP packets
-s a SERVFAIL response should stop query
-t specifies the query type
-T enables TCP/IP mode
-U enables UDP mode
-v enables verbose output
-V print version number and exit
-w specifies to wait forever for a reply
-W specifies how long to wait for a reply
-4 use IPv4 query transport only
-6 use IPv6 query transport only
Как выполнить обратный поиск
Эта команда выполняет обратный поиск по IP-адресу и отображает имя хоста или доменное имя.
В качестве примера можно привести следующий синтаксис:
Если вы скопируете адрес ( li685-110.members.linode.com.) в веб-браузер, вы будете перенаправлены на веб-сайт.
Как найти серверы доменных имен
Используйте параметр -t для получения серверов доменных имен. Он используется для указания типа запроса.
Здесь я передаю аргумент -t для поиска серверов имен определенного доменного имени.
Запись NS указывает на авторитетные серверы имен.
Пример вывода:
$ host -t ns target.com
target.com name server olga.ns.cloudflare.com.
target.com name server todd.ns.cloudflare.com.
Запрос определенного сервера доменных имен
Чтобы запросить информацию об определенном сервере доменных имен, используйте следующую команду.
host target-domain [name-server]
Пример вывода:
host -t mx target.com
target.com mail is handled by 1 aspmx.l.google.com.
target.com mail is handled by 5 alt1.aspmx.l.google.com.
target.com mail is handled by 5 alt2.aspmx.l.google.com.
target.com mail is handled by 10 alt3.aspmx.l.google.com.
target.com mail is handled by 10 alt4.aspmx.l.google.com.
Эта запись MX отвечает за направление электронного письма на почтовый сервер.
Для поиска TXT-записей домена
Чтобы получить список TXT-записей домена (человекочитаемая информация о сервере домена).
Пример вывода:
$ host -t txt geekflare.com
target.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
target.com descriptive text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
target.com descriptive text "yandex-verification: 42f25bad396e79f5"
target.com descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
target.com descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
target.com descriptive text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"
Чтобы найти SOA-запись домена
Чтобы получить список SOA-записей домена, выполните следующие действия.
Пример вывода:
$ host -t soa target.com
target.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Используйте приведенную ниже команду для сравнения записей SOA от всех серверов DNS для определенной зоны (конкретной части пространства имен DNS).
Как найти записи CNAME домена
CNAME расшифровывается как canonical name.
Эта запись DNS отвечает за перенаправление одного домена на другой, что означает сопоставление оригинального доменного имени с псевдонимом.
Чтобы найти DNS-записи CNAME домена, используйте приведенную ниже команду.
Пример вывода:
$ host -t cname target.com
target.com has no CNAME record
Если целевое доменное имя имеет какие-либо записи CNAME, они будут отображены после выполнения команды.
Заключение
Я надеюсь, что эта статья помогла вам узнать несколько полезных примеров команд host для запроса сведений о DNS.
см. также:
- 🔍 dns monster: Пассивная система перехвата/мониторинга DNS
- 🌐 Как выполнить обратный поиск DNS
- 🐳 Как определить DNS в контейнерах Docker
- ⚡️Как проверить роутер на DNS hijacking?
- 🐧 Отравление кэша DNS SAD: временное исправление для серверов и настольных компьютеров Linux
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.