PDA

Ver la versión completa : crear listado de proxys



ramoon
24-08-2007, 11:37
Hola a todos,
soy nuevo aqui y querria realizar una consulta, no se si es este el sub-foro adecuado, pero lo dejo aqui.
Todos sabeis que existen webs y/o programas que te dan un amplio listado de de ip's que son proxys y que utilizas para navegar anonimamente. Pues bien yo quiero realizar un programa que me busque todas esas ip's de la siguiente forma, realizar un bucle que recorra todo el rango de ip's desde la 0.0.0.0 hasta la 255.255.255.255, exceptuando la reservadas o de uso privado tipo 192.168.0.0 , etc y para cada ip preguntarle si es un proxy.
El problema es que no se si esto es posible, de que forma se le pregunta a una ip eso? existe algun campo o instruccion que nos desvele de forma directa o indirecta este dato?
El programa se ejecutaria diariamente para tener un listado actualizado de proxys.Alguien que sepa del tema me puede responder , GRACIAS

j8k6f4v9j
24-08-2007, 13:03
He borrado tu otro post repetido, por favor, no repitas posts. Lee las normas del foro antes de continuar.

En cuanto a la detección de proxies, escanear la red completa es una locura. Se me ocurre que podrías hacerte un programita que leyese esas páginas que publican proxies para que determinase cuáles de ellos siguen operativos y guarde estadísticas sobre tiempos de respuesta de ping u otras.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

ramoon
24-08-2007, 13:27
Hola
gracias por la respuesta y perdon por repetir, es que no sabia exactamente donde ubicar mi consulta.
Respecto al tema en cuestion, la verdad es que si que es una locura , si h calculado bien seria 255*255*255*255 = 4.228.250.625 ip's aun descontando las reservadas y privadas y todo eso solo bajaria unos miles de ip's, en total 4.000 millones de ip's(si esta bien calculado:eek: ).De todas formas me sigue interesando el tema de como se pregunta a una ip si es proxy. Se me ocurre que mandandole algun tipo de "peticion" y segun como te responda empezar a sospechar que es un proxy... no se. Sabeis algo de esto?
Saludos

j8k6f4v9j
24-08-2007, 14:13
http://www.google.es/url?sa=t&ct=res&cd=10&url=http%3A%2F%2Fwww.stillhq.com%2Fpdfdb%2F000183% 2Fdata.pdf&ei=T8rORubnK4a2wQH99fGUCA&usg=AFQjCNEcNcNY5eg5sGlz19gVF6Ow7MumKw&sig2=WuHxmsK51kceJA-oq5NeJg

http://www.honeynet.org/papers/finger/

Un ejemplo con nmap. Supongamos que el host proxy.hostquemeacabodeinventar.404 tiene un servidor de socks corriendo en el puerto 8080. Para identificar dicho servicio usaríamos el comando:

nmap -p 8080 -sV proxy.hostquemeacabodeinventar.404

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

j8k6f4v9j
24-08-2007, 14:39
Otro ejempo. Para analizar con nmap cada una de las direcciones IP que aparecen en la primera página de la weeb de proxies http://www.samair.ru/proxy/ :


lynx -dump http://www.samair.ru/proxy/ | \
grep -e '[0-9]:[0-9]'|grep -vie http -e GMT | \
grep -Eo "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b:\ [0-9]*" | \
while read -r proxy
do
puerto=`echo $proxy | cut -d ':' -f2`
host=`echo $proxy | cut -d ':' -f1`
echo nmap -sV -p $puerto $host
# echo $proxy
done


Esto sólo te muestra cómo funcionaría el script. Para que funcione sólo tienes que borrar la palabra "echo"


Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

ramoon
28-08-2007, 11:30
Hola de nuevo,
Sabeis si existe algun programa que trabaje automaticamente generando cada dia los archivos con las listas de proxys, o una pagina web que te envie los listados de proxys.
GRACIAS

j8k6f4v9j
28-08-2007, 15:30
Con el script que te puse más arriba lo puedes hacer.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

ramoon
29-08-2007, 13:39
Hola de nuevo,
el script ese se tiene que ejecutar en linux no? es que no entiendo mucho , y a parte que es lo que hace, simplemente recoge las ip's o las testea para ver si son correctas?

j8k6f4v9j
29-08-2007, 15:11
Línea por línea:



lynx -dump http://www.samair.ru/proxy/

Abre la página http://www.samair.ru/proxy/ y muestra el resultado en la salida stándar (stdout), que será el mismo terminal

|

redirecciona esa salida

\

"escapa" el siguiente caracter, que es el retorno de carro, haciendo que la línea siguiente y ésta sean una misma

grep -e '[0-9]:[0-9]'|grep -vie http -e GMT | \

filtra la salida suprimiendo todas las líneas que contienen tanto http como GMT.

grep -Eo "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b:\ [0-9]*" | \

filtra la salida mostrando únicamente las líneas que contienen una ip (se trata de una expresión regular (regex). Puedes buscar info sobre las potentísimas expresiones regulares en internet

while read -r proxy
do

crea un bucle en el que, mientras (while) haya una entrada (línea a línea) se ejecutará lo siguiente

puerto=`echo $proxy | cut -d ':' -f2`

El símbolo ':' (dos puntos) parte la cadena guardada en $proxy, muestra sólo el segundo trozo y lo guarda en la nueva variable $puerto

host=`echo $proxy | cut -d ':' -f1`

El símbolo ':' (dos puntos) parte la cadena guardada en $proxy, muestra sólo el primer trozo y lo guarda en la nueva variable $host

echo nmap -sV -p $puerto $host

muestra la cadena nmap -sV -p $puerto $host, donde en cada iteración se sustituyen $puerto y $host por los valores asignados. Si suprimimos nmap queda el comando completo y se ejecuta en cada vuelta de la iteración

done

termina la iteración
Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

A5KE
22-01-2010, 00:13
me interesa mucho retomar este tema, el script no me funciona solo se pasa a la siguiente linea en la consola

asi lo guarde:


#!/bin/bash
lynx -dump editado | \
grep -Eo "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.\
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b:\ [0-9]*" | \
while read -r proxy
do
puerto=`echo $proxy | cut -d ':' -f2`
host=`echo $proxy | cut -d ':' -f1`
echo nmap -sV -p $puerto $host
done

y cuando lo ejecuto pasa esto:


*****@***:~$ sudo sh '/home/*****/Escritorio/bat.sh'
*****@***:~$


alguien sabe porque ?

j8k6f4v9j
22-01-2010, 01:49
Seguramente porque la expresión regular no devuelve ninguna coincidencia, por lo que el bucle while sale sin hacer nada.


Salu2

A5KE
22-01-2010, 02:17
eso significa que esta mal la web, o que esta mal el script? como lo puedo arreglar?

disculpa la ignorancia estoy muy verde en esto

j8k6f4v9j
22-01-2010, 02:48
La web no puede estar mal. Si la web muestra un listado de direcciones IP, lo que te interesa es parsear el HTML que te devuelve para extraerlas. De eso se ocupa grep en el script que has puesto, comparando el texto con la expresión regular (lo que va después de -Eo).

No sé si será lo que te voy a comentar, o si será que directamente la expresión regular no es buena para encontrar direcciones IP porque no lo he probado, pero yo siempre uso comillas simples en las expresiones regulares. Un asterisco en unas comillas dobles puede resultar en desastre.


Salu2