2010-08-05 21 views
5

En PHP existe una función para realizar una búsqueda inversa en un nombre de dominio para averiguar cuántos sitios web están alojados en el servidor de alojamiento compartido particular en el que está alojado el nombre de dominio. O, una forma de hacer esto con PHP?Búsqueda de IP inversa con PHP

Ahora, ya estoy al tanto de los servicios en línea que ofrecen esto. Sin embargo, quiero escribir un guión para hacerlo yo mismo. Simplemente no puedo resolverlo.

Cualquier sugerencia que no sugiera el uso de un servicio de terceros sería excelente.

+2

Anteriormente esto era posible con AXFR. Pero hoy en día está restringido entre cada dominio autoritario y servidor de nombres secundario. De la misma manera, rara vez se escapa de los dominios configurados usando páginas de estado de Apache/acceso de registro. Entonces, no hay suerte a menos que construyas una enorme base de datos de dominio ip-> tú mismo. – mario

+0

Un solo servidor de alojamiento compartido puede tener diferentes direcciones IP para cada host virtual, por lo que no estoy seguro de cuán confiable y útil será el informe que obtendrá. – stillstanding

Respuesta

2

No hay forma segura de hacer lo que está pidiendo.

En DNS, la dirección IP de un sitio, como "1.5.7.9", tiene asociado un nombre de dominio como "9.7.5.1.in-addr.arpa". Este nombre inverso puede tener registros PTR apuntando al nombre de dominio. Entonces, "example.com" puede mapear a "1.5.7.9" con un registro A, y "9.7.5.1.in-addr.arpa" puede señalar de nuevo a "example.com".

Una dirección IP puede tener más de un registro PTR. Pero, generalmente, no es así. Entonces, la única forma de saber todos los nombres de dominio que comparten una dirección IP es buscar y recordar todos los nombres de dominio (no es factible), o obtener la información de otra fuente.

Además, una computadora determinada puede tener muchas direcciones IP asignadas. No hay manera de saber cuántos.

0

Tengo curiosidad de saber que alguien lo sepa: los sitios web alojados pueden aparecer y desaparecer en direcciones IP con bastante rapidez. Es fácil agregar algunos miles de dominios en este minuto y eliminarlos nuevamente al minuto siguiente.

¿Has visto http://pink.bikeshed.com? O http://red.bikeshed.com? O http://white.bikeshed.com? Sería super fácil extenderlo a las 754 entradas en mi archivo X11 rgb.txt, aunque no parece que lo hayan hecho. Sería un poquito más trabajo apoyar la creación de 'nuevos sitios web' en el usuario allí ...

0

Tal vez estoy equivocado, pero creo que (la/una) manera de hacerlo es consulta cada nombre de dominio individualmente y almacena la dirección IP correspondiente.

Cuando alguien consulta un dominio/dirección IP determinado, solo tiene que mostrar todos los otros dominios que comparten la misma IP, si no tiene el dominio en la lista, solo tiene que resolver la IP y almacenarla.

También sería bastante fácil (y relativamente rápido) resolver el problema mencionado en @sarnold, simplemente actualizando todos los dominios que están en la misma dirección IP del dominio que se está consultando - o solo el dominio mismo, tal vez con un límite de 1 actualización por día o algo así.

4

es capaz de hacer ... programa de ejemplo que utilizan es en Python que sé darkjumper

no sé cómo funciona, pero simplemente funciona .. se puede leer el código fuente en Python y reescribir el software en php

Usted puede intentar ejecutar la función de IP inversa de este software utilizando la opción -m reverseonly

./darkjumper.py -t stackoverflow.com -m reverseonly generando resultados

[+] 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

No siempre funciona. Conjeturas bastante sofisticadas, aunque :-). – Borealid

+0

@Borealid: ¿Por lo que he entendido, simplemente trata de seguir los primeros 50 enlaces en el dominio y relacionarlos con la dirección IP? Eso no parece tan "sofisticado". –

+0

@Alix Axel: Como dije, conjeturas sofisticadas. Es más inteligente que solo leer el registro PTR, pero con servidores virtuales para dominios no relacionados, no obtendría uno de otro. – Borealid

6

En PHP sólo tiene que utilizar

$domain = gethostbyaddr($ip); 

buena suerte!

+0

agradable .. esto debería ser la respuesta. – Drmjo

+0

@Drmjo Esta realidad no hace lo que el PO pidió lo que no, no debería ser la respuesta – RiggsFolly

+0

@RiggsFolly tienes razón lo tengo al revés ... pero esta función no resolvió mi problema ... – Drmjo

Cuestiones relacionadas