Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Skali en 13 Julio 2016, 02:28 am



Título: Script para mostrar IP's de los dominios que aparecen en una búsqueda de Google
Publicado por: Skali en 13 Julio 2016, 02:28 am
Que tal gente, quería hacer un pequeño script en python, ya tengo todo en la mente. Básicamente uso una libreria para navegar x la web, leo del teclado un uri para luego enviar la consulta con un inurl:uri en el parametro q, de consulta de google. Despues parseo la respuesta para quedarme solo con los nombres de los dominios, los filtro para sacar el www. y lo que esta a partir del uri, para poder hacer un ping, con cada uno de los dominios fitlrados, parsear los resultados del ping para quesarte con la ip, y despues guardar en un archivo linea por línea todas las ips...

Los problemas que me surgieron son los siguientes:
1) No se que parámetro se usa para manejar el numero de pagina de google, porque se supone que se tiene que ir recorriendo todas las paginas hasta que ya no haya mas resultados.
2) Seguramente despues de navegar por un par de paginas me pida un captcha, tienen idea como bypassearlo?

Gracias por la ayuda, si me dan una mano con ésto, despues subo el script terminado!

Saludos


Título: Re: Script para mostrar IP's de los dominios que aparecen en una búsqueda de Google
Publicado por: Skali en 14 Julio 2016, 09:29 am
 lo primero ya lo resolví, el parametro es start... Por cada página google muestra 10 enlaces, si estas en la pagina uno es start=0, pagina 2, start=10, y asi susesivamente


Título: Re: Script para mostrar IP's de los dominios que aparecen en una búsqueda de Google
Publicado por: Poyoncio en 20 Julio 2016, 21:03 pm
Se seguramente no te interese pero hace un tiempo hice algo parecido, igual te sirve porque esta bastante simplificado:

Esta parte del codigo se encargaria de extraer las urls de las paginas web de un fichero. En la carpeta del script tienes que tener un documento llamado url1.txt con almenos 1 url o sino haces un raw_input y que automaticamente se escriba en el fichero
Código
  1. import urllib
  2. from bs4 import BeautifulSoup
  3. while 0:
  4.  
  5.  
  6.  
  7.    escritura=open("url1.txt","a")
  8.    lectura=open("url1.txt","r")
  9.  
  10.  
  11.    lines=archivo.readline() #Coge la siguiente url por defecto tienes que tener 1 url
  12.    [font=Verdana]Numero_url[/font]=lines
  13.    response=urllib.urlopen(Numero_url)  
  14.    link=urllib.urlopen(Numero_url).read() #Obtiene contenido html
  15.  
  16.    bs=BeautifulSoup(link,"lxml")
  17.    for link in bs.find_all('a', href=True): #Busca etiquetas href que no sean de css o javascript
  18.        urlsss=link['href']
  19.        if urlsss.startswith("http" or "www."): #Filtra css o javascript
  20.            print urlsss
  21.            escritura.write(urlsss) #Lo escribe en el fichero
  22.            escritura.writelines("\n")
  23.  
Luego, esta parte se encarga de leer un dominio de url1.txt y convertirlo en una ipv4, ahi tienes que tu anteriormente haber filtrado el http://www o https://www haces un .replace('http://www' or 'https//www', '') y ya estaria filtrado:
Código
  1. import dns.resolver
  2. #La variable dominio la obtienes de el fichero de arriba
  3. conversor_ipv4 = dns.resolver.query(dominio, 'A') #Dominio tienes que haber obtenido antes
  4. for conversor_ipv4 in ans:
  5.    print ans #Aqui te imprimiria las ipv4 creas un fichero aparte para que lo escriba y ya lo tendrias
  6.  

Ademas puedes meter threads y que lea si ya estan esas direcciones dentro del fichero

Si tienes alguna duda solo tienes que enviar mensaje estoy interesado en este proyecto