Как найти все имена хостов в DNS, привязанные к одному IP?

Как найти все имена хостов в DNS, привязанные к одному IP?

Если у меня настроено несколько хостов на одной машине (а-ляVirtualHosts apache), как мне выполнить поиск по IP-адресу и найти все домены, настроенные для доступа к нему?

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

Возможно ли это вообще?

У меня есть записи DNS A для всех доменов, которыми я владею, плюс я знаю, что домены некоторых друзей указывают на мой сервер. Я хотел бы узнать, если люди, янезнаю, что они тоже указывают туда. (Или если кто-то перенаправил свой домен в другое место, и я могу удалить его «старый» веб-сайт со своего сервера.)

решение1

Не совсем, нет. Все дело в разнице между прямым и обратным DNS-поиском.

Прямой просмотр — это стандартный поиск имя->IP. Таким образом, вам придется знать все имена заранее.

Вам нужно выполнить поиск IP->имя, но каким-то образом получить все имена, которые вы применили в конфигурации Apache и в DNS в виде записей A (или CNAMES, или как-то еще).

Вероятно, вы обнаружите, что выполнение обратного поиска (например, dig @nameserver $ip -x) вернет имя хоста, присвоенное этому IP людьми, которые владеют этим сетевым блоком, который может быть вашим провайдером. У него может быть имя вроде 45-23-45-231.big-isp.com, что не скажет вам многого. И, что самое важное, есть только одна обратная запись, но потенциально много прямых.

Полагаю, все сводится к вопросу: как обратная зона узнает о записях в прямой зоне? В большинстве установок прямая зона доступна клиенту для внесения изменений, но обратная зона поддерживается владельцами сетевого блока. Двум системам не нужно ничего знать друг о друге, чтобы функционировать.

решение2

Сделать это с помощью самого протокола DNS невозможно, поскольку обычно PTRдля каждого IP-адреса существует только одна запись, хотя на этот IP-адрес может Aуказывать множество записей.

Однако некоторые компании (например,http://www.ip-adress.com/) сумели составить базы данных, содержащие то, что вам нужно, сохранив результаты целого ряда DNS-поисков, а затем предложив обратный запрос в свои собственные базы данных.

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

решение3

Единственный способ сделать это — иметь данные о содержании доменного имени, которое вы хотите проверить.

Используя этот контент, вы можете разработать рекурсивный скрипт для поиска имени хоста относительно вашего IP-адреса (рекурсивный из-за возможной проверки CNAME).

Чтобы получить данные о каком-либо партнере по доменному имени, вы можете запросить статус вторичный и получить ДАННЫЕ с помощью dig -t axfr.

решение4

Вам следует проверитьРобТекс Не самый лучший веб-дизайн, но очень полезный! Вы можете узнать все DNS, связанные с IP.

Конечно, как объяснил Альнитак,

Сделать это с помощью самого протокола DNS невозможно.

Это означает, что этот сайт — просто огромная база данных большинства DNS/IP-серверов. Это довольно эффективно, но не на 100% исчерпывающе.

Связанный контент