Что такое поддомен?

Поддомен — это имя внутри домена, например mail.example.com, api.example.com или dev.example.com в домене example.com. Каждый поддомен может указывать на собственный сервер через собственные DNS-записи, поэтому организации используют поддомены, чтобы разделять сайты, почтовые серверы, API, тестовые среды и внутренние инструменты. DNS не позволяет получить список всех имён внутри домена, поэтому поддомены приходится искать, запрашивая имена по одному и просматривая записи, в которых они упоминаются.

Описание инструмента

Инструмент «Поиск поддоменов» ищет поддомены домена только по DNS-записям. Укажите домен — инструмент проверит его записи и найдёт имена, указывающие на него, а затем проверит список из 350 распространённых имён поддоменов, таких как www, mail, api, dev и staging. Все найденные поддомены отображаются в таблице вместе с IPv4- и IPv6-адресами, целевым значением CNAME и записью, по которой был найден каждый поддомен.

Возможности

  • Находит поддомены, указанные в записях NS, MX, SOA, SRV и SPF домена, например серверы имён, почтовые серверы и записи include для _spf
  • Проверяет 350 распространённых имён поддоменов и оставляет те, у которых есть IPv4- или IPv6-адрес
  • Обрабатывает записи CNAME в один шаг: целевое имя CNAME внутри домена также добавляется как поддомен
  • Продолжает проверять распространённые имена, если у домена есть DNS-запись с подстановочным шаблоном, и выводит имена, записи которых отличаются от этой записи
  • Показывает IP-адреса каждого поддомена, целевое значение CNAME и источник в таблице, которую можно сортировать и экспортировать в CSV или JSON
  • Из URL или адреса с www. извлекается домен, поэтому при поиске по https://www.example.com/page проверяется example.com
  • Можно искать и поддомены поддоменов: укажите dev.example.com, чтобы найти имена внутри него

Откуда берутся поддомены

  • Распространённое имя: имя входит в список инструмента и имеет запись A или AAAA. При наличии подстановочного шаблона имя выводится, если его записи отличаются от записи с подстановочным шаблоном.
  • Запись NS: серверы имён домена размещены внутри этого домена, например ns1.example.com.
  • Запись MX: почтовые серверы домена, например mail.example.com.
  • Запись SOA: основной сервер имён, указанный в записи SOA домена.
  • Запись SRV: цель распространённой служебной записи, например _autodiscover._tcp, _sip._tcp, _xmpp-server._tcp или _imaps._tcp.
  • Запись SPF: имя, используемое в термине include:, a:, mx:, ptr:, exists: или redirect= записи SPF домена.
  • Запись CNAME: целевое значение CNAME другого найденного поддомена.

Имена из записей выводятся, даже если у них нет IP-адреса, поскольку запись указывает, что они используются. Например, имена для include в SPF, такие как _spf.example.com, обычно содержат только запись TXT.

Домены с подстановочной записью

Подстановочная запись, например *.example.com, отвечает на запросы для любого имени внутри домена, у которого нет собственных записей. Поэтому для каждого распространённого имени возвращается результат, и отдельная проверка таких имён ничего не доказывает. Сначала инструмент запрашивает три случайных имени, чтобы определить ответы подстановочной записи, а затем проверяет записи A, CNAME, AAAA, TXT и MX каждого распространённого имени и сравнивает их с подстановочной записью. Подстановочная запись не применяется к имени, у которого есть собственные записи, поэтому имя выводится, если его ответы отличаются. Например:

  • оно указывает на другие адреса или имеет запись CNAME с другим целевым значением
  • у него есть запись TXT или MX, отсутствующая у подстановочной записи, либо запись AAAA, которой нет у подстановочной записи
  • у него нет записи A, хотя у подстановочной записи она есть, как в случае с именем, у которого есть только запись MX

Имя, записи которого в точности совпадают с подстановочной записью, например запись A с тем же адресом и без других записей, невозможно отличить от неё, поэтому оно не выводится. Если подстановочная запись возвращает разные адреса при каждом запросе, как это бывает на платформах с балансировкой нагрузки, адреса нельзя сравнить, поэтому проверяется только наличие каждого типа записи. Неудачные запросы и запросы, завершившиеся по тайм-ауту, никогда не считаются различием.

Безопасность и ограничения

  • Выполняются только DNS-запросы, которые отправляются в Google Public DNS. Инструмент никогда не подключается к найденным поддоменам.
  • Принимаются только общедоступные доменные имена в реальной доменной зоне верхнего уровня. IP-адреса, localhost и внутренние имена, такие как .local или .corp, не принимаются.
  • Передача зоны (AXFR) не выполняется, поэтому поддомены, отсутствующие в перечисленных выше записях и в списке распространённых имён, не обнаруживаются.
  • На весь поиск отводится 3,5 секунды. Если время истечёт, отобразятся найденные к этому моменту поддомены и предупреждение о том, что список может быть неполным.
  • Для каждого поддомена отображается не более 100 имён из записей и 10 IP-адресов.
  • Некоторые DNS-провайдеры отвечают «нет данных» вместо «имя не существует» для несуществующих имён, поэтому распространённое имя считается найденным, только если у него есть адрес.