2010-08-05 10 views
5

In PHP gibt es eine Funktion, um eine umgekehrte Suche nach einem Domain-Namen durchzuführen, um herauszufinden, wie viele Websites auf dem bestimmten Shared-Hosting-Server gehostet werden, auf dem der Domain-Name gehostet wird. Oder eine Möglichkeit, dies mit PHP zu tun?Umgekehrte IP-Suche mit PHP

Nun bin ich mir der Online-Dienste, die das anbieten, bereits bewusst. Ich möchte jedoch ein Skript schreiben, um es selbst zu machen. Ich kann es einfach nicht herausfinden.

Alle Vorschläge, die nicht die Verwendung eines 3rd Party Service vorschlagen, wäre großartig.

+2

Bisher war dies mit AXFR möglich. Aber heutzutage ist es zwischen jedem autoritativen Domänennamen und sekundärem Nameserver eingeschränkt. Ebenso wenig ist es möglich, konfigurierte Domains mithilfe von Apache Statusseiten/Log-Zugriff zu schließen. Also, kein Glück, wenn Sie nicht selbst eine riesige IP-> Domain-Datenbank aufbauen. – mario

+0

Ein einzelner Shared-Hosting-Server kann für jeden virtuellen Host unterschiedliche IP-Adressen haben. Daher bin ich mir nicht sicher, wie zuverlässig und nützlich der Bericht sein wird, den Sie erhalten. – stillstanding

Antwort

2

Es gibt keine sichere Methode, um das zu tun, was Sie verlangen.

In DNS ist der IP-Adresse einer Site, wie "1.5.7.9", ein Domainname wie "9.7.5.1.in-addr.arpa" zugeordnet. Dieser umgekehrte Name möglicherweise PTR-Datensätze, die auf den Domänennamen zeigen. So kann "example.com" mit "A" auf "1.5.7.9" und "9.7.5.1.in-addr.arpa" auf "example.com" verweisen.

Eine IP-Adresse kann mehr als einen PTR-Datensatz haben. Aber im Allgemeinen tun sie das nicht. Die einzige Möglichkeit, alle Domänennamen zu kennen, die sich eine IP teilen, ist, entweder alle Domänennamen zu suchen und zu merken (nicht möglich) oder die Informationen von einer anderen Quelle zu erhalten.

Außerdem können einem bestimmten Computer viele IPs zugewiesen sein. Es gibt keine Möglichkeit zu wissen, wie viele.

0

Ich bin neugierig, wie jemand wissen würde: gehostete Websites können ziemlich schnell auf IPs kommen und gehen. Es ist einfach, in dieser Minute ein paar tausend Domains hinzuzufügen und sie alle in der nächsten Minute wieder zu entfernen.

Haben Sie http://pink.bikeshed.com gesehen? Oder http://red.bikeshed.com? Oder http://white.bikeshed.com? Es wäre super einfach, es auf alle 754 Einträge in meiner X11 rgb.txt-Datei zu erweitern, obwohl es nicht so scheint. Es wäre ein bisschen mehr Arbeit, die direkte Erstellung von 'neuen Websites' dort zu unterstützen ...

0

Vielleicht liege ich falsch, aber ich denke (der/eine) Weg ist es zu tun Abfrage jeden Domain-Namen einzeln und speichern Sie die entsprechende IP-Adresse.

Wenn jemand eine bestimmte Domain/IP-Adresse abfragt, müssen Sie nur alle anderen Domains anzeigen, die dieselbe IP teilen. Wenn Sie die Domain noch nicht aufgelistet haben, müssen Sie nur die IP auflösen und speichern.

Es wäre auch ziemlich einfach (und relativ schnell), das Problem zu lösen @ sarnold erwähnt, durch einfaches Aktualisieren aller Domänen, die in der gleichen IP-Adresse der Domäne abgefragt werden - oder nur die Domäne selbst, vielleicht mit ein Limit von 1 Update pro Tag oder so ähnlich.

4

es tun können ... Beispielprogramm, das es in Python verwenden, ist, dass ich weiß, darkjumper

Ich weiß nicht, wie es funktioniert, aber es funktioniert einfach .. Sie den Quellcode lesen können Python und schreiben Sie die Software in pHP

Sie können versuchen, den Reverse-IP-Funktion dieser Software die Ausführung von reverseonly Option -m

./darkjumper.py -t stackoverflow.com -m reverseonly welche Ergebnisse

[+] Target set : stackoverflow.com 
[+] Use proxy : None 
[+] Verbocity : False 
[+] Trying reverse your target's ip... 
[+] Please wait... 
----------------------------------------- 
http://stackoverflow.com 
http://gadgets.stackexchange.com 
http://webmasters.stackexchange.com 
http://stats.stackexchange.com 
http://gaming.stackexchange.com 
http://gamedev.stackexchange.com 
http://photo.stackexchange.com 
http://cooking.stackexchange.com 
http://chat.meta.stackoverflow.com 
http://stackoverflow.com 
http://stackoverflow.com 

---------------------------------------- 
[+] Found : 12 Domains hosted at this IP 
---------------------------------------- 
+0

Funktioniert nicht immer. Ziemlich raffiniertes Rätselraten, obwohl :-). – Borealid

+0

@Borealid: Nach was ich verstanden habe, versucht es einfach, die ersten 50 Links in der Domain zu verfolgen und sie mit der IP-Adresse abzugleichen? Das scheint nicht so "anspruchsvoll" zu sein. –

+0

@Alix Axel: Wie ich schon sagte, raffiniertes Rätselraten. Es ist schlauer als nur den PTR-Datensatz zu lesen, aber mit virtuellen Servern für nicht verwandte Domänen würde es nicht von einem anderen erhalten. – Borealid

6

In PHP verwenden nur

$domain = gethostbyaddr($ip); 

viel Glück!

+0

nett .. das sollte die Antwort sein. – Drmjo

+0

@Drmjo Dies tut eigentlich nicht, was das OP angefordert, also nein, es sollte nicht die Antwort sein – RiggsFolly

+0

@RiggsFolly Sie haben Recht, ich habe es rückwärts ... aber diese Funktion löste mein Problem ... – Drmjo