Wenn auf einem Computer mehrere Hosts konfiguriert sind ( a la apaches VirtualHosts), wie kann ich eine Suche nach der IP-Adresse durchführen und alle dafür konfigurierten Domänen finden?
Ich habe beispielsweise mehrere Web- und E-Mail-Domänen mit meinem Server verbunden. Wie kann ich alle Domains finden, die darauf verweisen?
Ist es überhaupt möglich?
Ich habe DNS A-Einträge für alle Domänen, die ich besitze, und ich weiß, dass die Domänen einiger Freunde auf meinen Server verweisen. Ich würde gerne sehen, ob Leute, von denen ich nichts weiß, auch dorthin zeigen. (Oder wenn jemand seine Domain woanders neu eingerichtet hat und ich seine 'alte' Website von meinem Server löschen kann.)
quelle
Dies ist mit dem DNS-Protokoll selbst nicht möglich, da normalerweise nur ein
PTR
Eintrag für jede IP-Adresse vorhanden ist, obwohl möglicherweise vieleA
Einträge auf diese IP-Adresse verweisen.Einige Unternehmen (z. B. http://www.ip-adress.com/ ) haben es jedoch geschafft, Datenbanken zu erstellen, die das enthalten, wonach Sie suchen, indem sie die Ergebnisse einer ganzen Reihe von DNS-Suchvorgängen gespeichert und anschließend eine umgekehrte Abfrage in ihre eigene Datenbank gestellt haben Datenbanken.
Diese Datenbanken können jedoch nicht definitiv sein. Sie können nicht garantieren, dass sie über alle möglichen Domänen informiert sind, die auf diese IP verweisen. Sie können nur die DNS-Details für die Domänennamen aufzeichnen, nach denen sie tatsächlich gesucht haben.
quelle
Die einzige Möglichkeit, dies zu tun, besteht darin, Inhaltsdaten des Domainnamens zu haben, die Sie überprüfen möchten.
Mit diesem Inhalt können Sie ein rekursives Skript entwickeln, um den Hostnamen relativ zu Ihrer IP zu suchen (rekursiv, weil eventuell CNAME überprüft werden muss).
Um Daten von einem Domain-Name-Partner zu erhalten, können Sie nach dem Sekundärstatus fragen und DATA mit einem dig -t axfr abrufen.
quelle
Ich glaube, Sie kommen aus der falschen Richtung. Abgesehen davon, dass entweder a) jeder existierende DNS-Server nach jedem möglichen Domain-Namen abgefragt und das Ergebnis gespeichert wird oder b) Zonentransfers von den gewünschten DNS-Servern abgerufen werden, gibt es keine Möglichkeit, dies mit DNS zu tun.
Wenn Sie namenbasierte Apache-vhosts ausführen, verfügen Sie bereits über eine Liste von Domänen, die Ihren Server erreichen. Abgesehen vom Standard-vhost antwortet ein namensbasierter vhost nur auf seinen Namen. Wenn ich also foobar.com auf meine Box zeige und keinen foobar.com-vhost habe, wird dieser entweder standardmäßig bereitgestellt oder nicht beantwortet (wenn Sie keinen Standardserver haben).
Apache verfügt über einige sehr leistungsstarke Protokollierungsfunktionen. Es sollte kein Problem sein, ein benutzerdefiniertes Protokollformat mit den gewünschten Anforderungszeilen zu definieren. Außerdem gibt es immer das Referrer-Feld.
Mail hingegen ist ein bisschen schmerzhafter. Das Beste, was mir einfällt, ist, aus den Serverprotokollen das auszuwählen, was Sie können, und, wenn Sie es wirklich wissen müssen , eine Paketerfassung für SMTP einzurichten.
quelle
LogFormat %{Host}i hostnamelog
CustomLog /path/to/log hostnamelog
Stellen Sie dann in Ihrem Standard-VHost sicher, dass er von einem Ihrer "echten" VHosts getrennt ist. Dann gelegentlichsort /path/to/log | uniq -c | sort -n
für einen Einblick in das, was dich trifft.Sie sollten nach RobTex suchen Nicht das beste Webdesign, aber sehr nützlich! Sie können alle einer IP zugeordneten DNS herausfinden.
Natürlich, wie Alnitak erklärte,
Das bedeutet, dass diese Website nur eine riesige Datenbank der meisten DNS / IP-Server ist. Das ist ziemlich effizient, aber nicht zu 100% erschöpfend.
quelle