Si j'ai plusieurs hôtes configurés sur une machine ( VirtualHosts à la apache), comment puis-je faire une recherche sur l'IP et trouver tous les domaines configurés pour y accéder?
Par exemple, j'ai plusieurs domaines Web et de messagerie connectés à mon serveur. Comment puis-je trouver tous les domaines qui pointent vers celui-ci?
Est-ce même possible?
J'ai des entrées DNS A pour tous les domaines que je possède, et je sais que les domaines de certains amis pointent vers mon serveur. Ce que j'aimerais voir, c'est si des gens que je ne connais pas pointent là aussi. (Ou si quelqu'un a rejoint le domaine ailleurs et que je peux supprimer son «ancien» site Web de mon serveur.)
Il n'est pas possible de le faire avec le protocole DNS lui-même, car il n'y a généralement qu'un seul
PTR
enregistrement pour chaque adresse IP, même s'il peut y avoir de nombreuxA
enregistrements pointant vers cette adresse IP.Cependant, certaines entreprises (par exemple, http://www.ip-adress.com/ ) ont réussi à compiler des bases de données contenant ce que vous recherchez en stockant les résultats d'une charge complète de recherches DNS, puis en proposant une requête inverse dans leur propre bases de données.
Ces bases de données ne peuvent cependant pas être définitives, elles ne peuvent pas garantir de connaître tous les domaines possibles susceptibles de pointer vers cette IP - elles ne peuvent enregistrer que les détails DNS des noms de domaine qu'ils ont réellement recherchés.
la source
La seule façon de procéder consiste à disposer des données de contenu du nom de domaine que vous souhaitez inspecter.
Avec ce contenu, vous pouvez développer un script récursif pour rechercher le nom d'hôte par rapport à votre IP (récursif en raison de l'éventuel CNAME à vérifier).
Pour obtenir les données d'un partenaire de nom de domaine, vous pouvez demander à être secondaire et obtenir des DONNÉES avec un dig -t axfr.
la source
Je pense que vous arrivez dans cette mauvaise direction. Mis à part a) interroger chaque serveur DNS existant pour chaque nom de domaine possible puis stocker le résultat ou b) obtenir des transferts de zone à partir des serveurs DNS qui vous intéressent, il n'y a aucun moyen de le faire avec DNS.
Eh bien, si vous exécutez des vhosts basés sur le nom Apache, vous disposez déjà d'une liste de domaines qui atteindront votre serveur. Mis à part le vhost par défaut, un vhost basé sur un nom ne répondra que pour son nom. Donc, si je pointe foobar.com vers ma boîte et que je n'ai pas d'hôte foobar.com, il sera soit servi par défaut, soit ne recevra pas de réponse (si vous n'avez pas de serveur par défaut).
Apache possède des fonctionnalités de journalisation très puissantes. La définition d'un format de journal personnalisé avec les lignes de demande que vous souhaitez ne devrait pas poser de problème. De plus, il y a toujours le champ référent.
Le courrier, en revanche, est un peu plus pénible. La meilleure chose à laquelle je peux penser est de choisir ce que vous pouvez dans les journaux du serveur et, si vous avez vraiment besoin de savoir , de configurer une capture de paquets pour SMTP.
la source
LogFormat %{Host}i hostnamelog
, puisCustomLog /path/to/log hostnamelog
dans votre VHost par défaut, en vous assurant qu'il est distinct de n'importe lequel de vos "vrais" VHosts. Puis de temps en tempssort /path/to/log | uniq -c | sort -n
pour un aperçu de ce qui vous frappe.Vous devriez vérifier RobTex Pas la meilleure conception de sites Web, mais très utile! Vous pouvez découvrir tous les DNS associés à une IP.
Bien sûr, comme l'a expliqué Alnitak,
Cela signifie que ce site Web n'est qu'une énorme base de données de la plupart des serveurs DNS / IP. C'est assez efficace mais pas à 100% exhaustif.
la source