Llevo muchos años adentrándome en la Deep Web, y he de reconocer  que la mayoría de webs que se comparten en los foros son siempre las mismas, a excepción de alguna web que va apareciendo nueva, por lo general suelen ser las mismas que encontrarás en los listados que se intercambian los usuarios.

Estas webs suelen contener material ilegal, es cierto, pero por lo general no es muy interesante, pues las páginas que realmente contienen material que puede considerarse interesante no suele intercambiarse entre usuarios, por lo que tampoco puede ser indexado por la mayoría de buscadores de la Deep Web.

La indexación de estos buscadores suele funcionar  leyendo el código fuente de las páginas e ir aislando las url, así que si una web nunca fue escrita en otra página accesible al rastreador, jamás podrá ser encontrada por indexación.

Para realizar una araña web hay que tener varios aspectos en consideración, y uno de los más importantes es la sobre carga en la web y la frecuencia de busqueda, ya que de lo contrarío podrías tener problemas legales. Otro aspecto importante es definir una política que no vulnere la privacidad. Así que antes de lanzarte a crear un robot buscador de páginas asegurate que antes de crear el indice no vulneres ningún derecho de terceros.

En nuestro caso, y para evitar la indexación y con ello evitar también tener que entrar en temas legales, me dispuse a crear un pequeño programa en JAVA que me permitiese obtener páginas de la Deep Web de forma aleatoria, y así de esta forma obtener un índice de páginas de las cuales es posible que ni aparezcan en los buscadores ni aparezcan en ningún foro.

De esta forma evitamos la sobre carga en el servidor de consulta, además evitamos que indexe página que puedan contener datos privados, y lo más importante, la probabilidad de encontrar una web desconocida es muchísimo mayor.

Una de las dificultades para realizar este ejercicio era encontrar el modo en el que JAVA podía leer las páginas  .onion, y después de un tiempo buscando como hacerlo terminé encontrando una solución más sencilla. No hacía falta cambiar el protocolo, ya que todas las páginas webs de TOR pueden verse en cualquier navegador con tan solo añadir al final de cada url el .to

Al navegar con un navegador que no es TOR perdemos la privacidad, pero como en este caso no vamos a navegar en estas webs, ya que solo nos hace falta la primera página, utilizaremos un VPN para mantener cierta privacidad, pero insisto que no hace falta.

Procedimiento para crear un enlace de 16 caracteres, que serán la dirección de la web:

 

public static String aleatorio (){

String cadenacompleta="";  // creamos un String vacio para evitar un error null

for (int a=0; a <16; a++){  // Iniciamos un bucle 16 veces, cada uno para un caracter

String [] abecedario = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",  // creamos un array string de 37 casillas  cada uno con un valor
"k", "l", "m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4", "5", "6","7", "8", "9","9" };

int numRandon = (int) Math.round(Math.random()*35) ; // generamos un número aleatorio de entre 1 y 35

String cadena = abecedario[numRandon]; // asignamos ese número a un apartado del array

cadenacompleta += cadena; // sumamos el caracter para contatenarlo uno con otro

}

return cadenacompleta; // Retornamos la cadena al finalizar
}

 

Ahora que ya tenemos nuestro proceso que realiza una cadena aleatoria de 16 caracteres, debemos hacer que esto se convierta en una url valida, para ello añadimos el http:// y el onion.to a la cadena de caracteres. Lo haremos de la siguiente forma:

 

URL u = new URL("http://"+ nombrecadena + ".onion.to");

[/code]

Y para realizar la condición de si es OK o es false la consulta realizamo un if:

[code]

if (code ==200 ){
System.out.println(" -- ");
System.out.println(a+ " OK : " + u + " " );
} else {
System.out.print(a + " .... " + u + " " );
}

 

A continuación dejo el código completo y funcionando:

 

public static void main(String[] args) throws IOException {
HttpURLConnection connection = null;

try {

/** Cadena alfa numerica aleatoria **/

for (int a=0 ; a <= 1000000 ; a++) {  // De momento solo un millón de búsquedas, puedes ampliarlo o realizar búsquedas de millón en millón.
String nombrecadena = aleatorio();

long inicio = System.currentTimeMillis();
URL u = new URL("http://"+ nombrecadena + ".onion.to"); // aquí creamos el objeto (u) con el valor de la cadena convertida a url

//Realizamos la conexión
connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("HEAD");

// obtenemos valor de repues y guardamos en variable

int code = connection.getResponseCode();
long fin = System.currentTimeMillis();
//condicional según respuesta

if (code ==200 ){ // Si la conexión es Ok
System.out.println(" -- ");
System.out.println(a+ " OK : " + u + " " );
} else { // si la conexión a fallado
System.out.print(a + " .... " + u + " " );
}
} /

// Gestión de errores

} catch (MalformedURLException e) {

System.out.println("Error de URL: " +e);
} catch (IOException e) {
System.out.println("Error de conexion: " +e);
} finally {
if (connection != null) {
connection.disconnect();
}
}

}



// Función que crea la cadena de 16 caracteres

public static String aleatorio (){

String cadenacompleta="";

for (int a=0; a <16; a++){

String [] abecedario = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4", "5", "6","7", "8", "9","9" };

int numRandon = (int) Math.round(Math.random()*35) ;

String cadena = abecedario[numRandon];

cadenacompleta += cadena;

// System.out.println( cadena );

}

return cadenacompleta;
}

}

 

 

Por lo general el funcionamiento es lento, pero quizás exitoso, pudiendo encontrar alguna web que sea interesante. Trataré de ir modificando este pequeño programa, y si te animas a realizar alguna modificación o sugerencia será bienvenida.

 

 

0 Comentarios

Contesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

CONTACTARME

Ahora mismo no estoy por aquí. Sí desea ponerse en contacto conmigo puede rellenar este formulario y me pondré en contacto contigo lo antes posible.

Enviando

Copyright © 2017 - 2022. Danny Pid. Todos los Derechos Reservados

POLÍTICA DE PRIVACIDAD - AVISO LEGAL - POLÍTICA DE COOKIES

Inicia Sesión con tu Usuario y Contraseña

¿Olvidó sus datos?