Если я несколько хостов , настроенные на одном компьютере ( а - ля апач VirtualHosts), как я могу сделать поиск по IP и найти все домены , настроенные достичь?
Например, у меня есть несколько веб-адресов и доменов электронной почты, подключенных к моему серверу. Как я могу найти все домены, которые указывают на это?
Это вообще возможно?
У меня есть записи DNS A для всех моих доменов, плюс я знаю, что домены некоторых друзей указывают на мой сервер. Что я хотел бы увидеть, так это то, что люди, о которых я не знаю, тоже указывают на это. (Или, если кто-то переназначил свой домен в другом месте, и я могу удалить его «старый» сайт со своего сервера.)
источник
Это невозможно сделать с помощью самого протокола DNS, поскольку обычно
PTR
для каждого IP-адреса существует только одна запись, хотя может быть многоA
записей, указывающих на этот IP-адрес.Однако некоторым компаниям (например, http://www.ip-adress.com/ ) удалось скомпилировать базы данных, содержащие информацию о том, что вам нужно, сохранив результаты всей загрузки DNS-запросов, а затем предложив обратный запрос в свои собственные. базы данных.
Однако эти базы данных не могут быть окончательными, они не могут гарантировать, что знают о каждом возможном домене, который может указывать на этот IP-адрес, - они могут записывать только данные DNS для доменных имен, которые они действительно искали.
источник
Единственный способ сделать это, это иметь данные содержимого доменного имени, которое вы хотите проверить.
С этим содержимым вы можете разработать рекурсивный скрипт для поиска имени хоста относительно вашего IP (рекурсивный из-за возможной проверки CNAME).
Чтобы получить данные какого-либо партнера по доменному имени, вы можете попросить быть второстепенным и получить DATA с помощью dig -t axfr.
источник
Я думаю, что вы пришли к этому с неправильной стороны. Помимо а) запроса каждого существующего DNS-сервера для каждого возможного доменного имени с последующим сохранением результата или б) получения зонных передач от DNS-серверов, которые вас интересуют, это невозможно сделать с помощью DNS.
Что ж, если вы используете vhosts на основе имен Apache, у вас уже есть список доменов, которые попадут на ваш сервер. Помимо vhost по умолчанию, vhost на основе имени будет отвечать только за свое имя. Поэтому, если я укажу foobar.com на свой ящик и у меня не будет хоста foobar.com, он будет обслуживаться по умолчанию или не получит ответа (если у вас нет сервера по умолчанию).
Apache имеет несколько очень мощных функций ведения журналов. Это не должно быть проблемой, чтобы определить пользовательский формат журнала со строками запроса, которые вы хотите. Также всегда есть поле реферера.
Почта, с другой стороны, немного больше боли. Самое лучшее, что я могу придумать, - это выбрать то, что вы можете из журналов сервера, и, если вам действительно нужно это знать , настроить захват пакетов для SMTP.
источник
LogFormat %{Host}i hostnamelog
затемCustomLog /path/to/log hostnamelog
в вашем VHost по умолчанию, убедившись, что он отделен от любого из ваших «настоящих» VHost. Тогда иногдаsort /path/to/log | uniq -c | sort -n
для понимания того, что поражает вас.Вы должны проверить на RobTex Не лучший веб-дизайн, но очень полезный! Вы можете узнать все DNS, связанные с IP.
Конечно, как объяснил Альнитак,
Это означает, что этот веб-сайт представляет собой огромную базу данных большинства серверов DNS / IP. Это довольно эффективно, но не на 100%.
источник