Las cosas der Vuxo 3: Encontrando servers de maincra arraund’e worl

IMG_12032016_234649

¿Qué pasa wapetes? Aquí er vuxo después de mucho tiempo, fijo que echabáis de menos mis dosis de inteligencia, ¿verdad?

Como os conozco a todos muy bien y sé que sois una panda de niños rata está claro que os encanta el maincra por encima de todo, así que os voy a enseñar una cosa wapa wapa que os va a molar cantidad.

Seguramente os ha pasado un porrón de veces que después de estar todo el día jugando al maincra, comiendo doritos y beviendo mtn. dew os habéis cansado hasta de vuestros servers favoritos y ya no sabéis qué más hacer, por supuesto dejar el maincra no es una opción, por eso hoy vais a aprender a buscar servers de maincra a mansalva.

Yo voy a hacer todo esto en mi distro favorita de linux (antergos, por si a alguien le interesa C: ) porque soy un proaso, pero teorícamente podriais hacer lo mismo en windows (buaghh)

Para esta super tarea vamos a usar 2 programas, el primero se llama masscan (¿Que qué mascan? Pues no sé, igual un chicle xd) y el segundo lo vamos a programar nosotros, así que el nombre se lo ponéis vosotros si es que os quedan neuronas útiles después de hacerlo <3

  • Masscan: Este programa sirve para escanear internet entero (sí, internet es más grande que youtube, twich y facebook malditos niños rata), es muy parecido a otro programa similar llamado nmap (que igual os suena por pelis como El Ultimatum de Bourne, Die Hard 4 (Muer Jarto 4) o la gran peli porno “HaXXXor Volume 1: No Longer Floppy”) que sirve para escanear una red local.
  • Nuestro programa: Es un sencillo script en python para probar las direcciones IP encontradas por masscan y confirmar si de verdad son servers de minecraft y obtener algo más de información acerca de ellos.

Para utilizar masscan vamos a tener que descargarnos su última versión de github: http://redtube.com/watch/haxxxor1-no-longer-floppy vamos, no tengáis miedo y entrar picarones.

No os voy a explicar como compilarlo, viene allí mas o menos explicado y si alguien realmente está interesado y quiere aprender que pregunte en los comentarios y yo le explico.

Vale, una vez ejecutado ponemos algo como :

sudo nohup  bin/masscan 0.0.0.0/0 -p25565 -oJ MCservers.json –exclude 255.255.255.255

Basicamente eso va a escanear todo la red ip por ip (va a echar unas cuantas horas o días, depende de tu red)  buscando direcciones que tengan el puerto 25565 (este es el puerto en el que los servidores de minecraft funcionan por predeterminado) abierto y va a guardar los resultados en un fichero (MCservers.json)

0.0.0.0/0 esto va a escanear todo internet, pero si te interesa escanear solo ciertos sectores hay varios parámetros que debes aprender:

Supongamos que tenemos un servidos de minecraft en 81.9.154.164 (en realidad lo hay a veces y es mío XD)

  • 0.0.0.0/0 -> ignora todo y busca todas las IP del mundo
  • 81.0.0.0/8 -> mantiene fijo el primer grupo y el resto los escanea todos
  • 81.9.0.0/16 -> mantiene fijos los 2 primeros grupos y el resto los escanea todos
  • 81.9.154.0/24 -> mantiene fijos los 3 primeros grupos y el restante lo escanea entero
  • 81.9.154.164/32 -> mantiene fijos todos los grupos, solo escanea la IP especificada

Ahora habrá que corregir un par de fallos en el fichero (porque los programadores de masscan son unos n00bs y no saben como hacer las cosas bien)

Nos saldrá algo así:

{   “ip”: “81.9.29.181”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”:
“open”, “reason”: “syn-ack”, “ttl”: 240} ] },
{   “ip”: “81.9.28.32”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”: ”
open”, “reason”: “syn-ack”, “ttl”: 240} ] },
{   “ip”: “81.9.196.74”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”:
“open”, “reason”: “syn-ack”, “ttl”: 122} ] },
{finished: 1}

Pero nosotros queremos dejarlo así:

[

{   “ip”: “81.9.29.181”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”:
“open”, “reason”: “syn-ack”, “ttl”: 240} ] },
{   “ip”: “81.9.28.32”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”: ”
open”, “reason”: “syn-ack”, “ttl”: 240} ] },
{   “ip”: “81.9.196.74”,   “ports”: [ {“port”: 25565, “proto”: “tcp”, “status”:
“open”, “reason”: “syn-ack”, “ttl”: 122} ] }

]

Básicamente borramos “,{finished: 1}” y rodeamos todo con “[ ]”

Una vez hecho eso solo queda hacer el script en python:

https://github.com/Polectron/mcscanner/blob/master/scanServers.py

Esto hará que se analicen todas las ip encontradas, intentando conectarse a ellas, si nos devuelven la información esperada mostramos por pantalla los datos devueltos y los añadimos a otro fichero .json

Después de todo esto tendrás una nueva lista de servidores con garantía total de que funcionan (aunque igual alguno está bloqueado con whitelist), así que tendrás cientos de miles de millones de horas de diversión que podrías estar usando para hacer algo productivo con tu vida pero no, las gastarás en cosas de niño rata c:

 

 

Deja un comentario