Recientemente descubrí las opciones avanzadas de búsqueda de bing y la verdad es que vi algo sorprendente y que, desde mi punto de vista, hace bien respecto a Google, que es almacenar la IP del site que indexa. bing permite lanzar búsquedas estilo "ip: 32.59.65.0" y también búsquedas filtrando los sitios, tipo "site: www.pepe.com" o "-site:www.pepe.com", que mostrará todos los resultados de la web pepe.com y todos los que no sean pepe.com, respectivamente.
Yo llevaba un tiempo buscando una forma de poder averiguar el número de virtualhost que hay detrás de una misma IP y la verdad es que no conseguía una herramienta simple y que lo hiciera de forma rápida, así que... aprovechando estas facilitys de bing, opté por investigar un poco más en ese sentido. Pues bien, resulta que hay una librería escrita en python que permite realizar búsquedas de forma rápida y simple usando bing, así que únicamente habría que probarla y escribir un pequeño script que realizase tal tarea. Mucho más fácil que usar curl o lynx! así que, manos a la obra.
- Descargamos la librería pybing para poder usarla, tal como se indica en la página oficial.
shell> mkdir pybing shell> export PYTHONPATH=~/pybing/ shell> cd pybing shell> svn checkout http://pybing.googlecode.com/svn/trunk/ ~/pybing
- Instalamos la librería httplib de python. Si usamos debian/ubuntu,
shell> apt-get install python-httplib2
- Obtenemos un ID válido de microsoft para usar la API de bing.Para ello vamos a la web oficial y pedimos un nuevo ID de desarrollador. Es necesario tener una cuenta hotmail/msn con la que asociarlo.
- Finalmente, copiamos el script y sustituimos el ID de la API donde se indica.
#!/usr/bin/python import sys from pybing import Bing bing = Bing('API ID') IP=sys.argv[1] show = "" lasthost = "" print("Buscando vhost's para: "+IP+"...") response = bing.search_web("ip:"+IP) while response['SearchResponse']['Web']['Total'] != 0: url = response['SearchResponse']['Web']['Results'][0]['Url'] host = url.split("/")[2].split(":")[0] if lasthost != host: lasthost = host show = show + " -site:" + host print host response = bing.search_web("ip:"+IP+show)
Lanzamos una prueba a cualquier IP que nos interese saber qué otros dominios están detrás de ella.
shell> python vhost.py 216.239.38.21 Searching hostnames for: 216.239.38.21 (202000) www.aissma.org elianatardio.com blog-de-mikel.com zonachocolate.com www.noticiascandela.informe25.com blogdeceuta.com estrenosd.com ...
En este momento el script funciona relativamente bien para IP's que no tengan detrás un número muy elevado de virtualhosts. En esos casos, las respuestas de bing son filtradas y da algunos fallos, que intentaré solventar en versiones posteriores.
No hay comentarios :
Publicar un comentario