JUGANDO CON EL TELNET ( PARTE I ) - By AcidBorg


Éste es el primero de una serie de artículos que espero sirvan para que os hagáis una idea de cómo funciona la comunicación entre máquinas conectadas a internet utilizando el protocolo TCP/IP.

El programa TELNET es una herramienta para la comunicación entre ordenadores a través de internet utilizando el protocolo TCP/IP. Básicamente su funcionamiento se reduce a abrir una conexión entre nuestro ordenador y otro ordenador de internet en el puerto del otro ordenador que le indiquemos (suponiendo que ese puerto esté abierto, claro está). Por ejemplo, si alguien quisiese comprobar si tenéis el puerto del NETBIOS abierto solo tendría que utilizar el telnet para conectarse a vuestra IP en el puerto 139 a traves del comando:

TELNET xxx.xxx.xxx.xxx 139 (Donde xxx.xxx.xxx.xxx es vuestra IP)

Ésto nos lleva a la conclusión de que si queremos saber si un puerto está abierto y es accesible desde el exterior sólo tenemos que hacer un telnet a dicho puerto y comprobar si se establece la conexión.Puede que el puerto esté abierto pero se encuentre detrás de un firewall que impida el acceso a dicho puerto, pero eso es harina de otro costal.

En el artículo de hoy nos vamos a centrar en algo tan rutinario como es leer el correo electrónico (e-mail). Para ello necesitamos una cuenta de correo POP como las que nos regalan nuestros proveedores de acceso a internet al contratarlos, es decir, no valen las cuentas que se consultan a través de páginas web tipo HOTMAIL, YAHOO, etc, ya que estas cuentas utilizan el protocolo IMAP (Internet Message Access Protocol).

Las cuentas POP toman su nombre del protocolo Post Office Protocol, ya sea en su versión 3, la más extendida, o en cualquiera de sus anteriores versiones. Los servidores de correo que ofrecen cuentas POP se encuentran por defecto en el puerto 110 (POP3) o en el 109(POP2). Supongamos que no disponemos de ninguno de los programas que se utilizan para descargar y gestionar el correo de las cuentas POP, como puede ser Outlook o Mozilla Mail. Para poder tener accesso a nuestro correo sólo tendriamos que ejecutar:

TELNET nombre-de-nuestro-servidor-de-correo 110

Si hemos introducido correctamente el nombre de nuestro servidor de correo (normalmente suele ser pop.nombre-del-servidor.es ), debería salirnos una bienvenida del estilo:

+OK Welcome to our POP3 server (nombre-de-servidor)

A continuación el servidor esperará que nos identifiquemos como usuarios del mismo, lo que se consigue mediante el siguiente comando:

USER nombre-de-usuario

A lo que el ordenador responderá con algo del estilo:

+OK Password required for nombre-de-usuario.

Y nosotros, obviamente, tendremos que proporcionarle nuestra contraseña mediante el comando:

PASS nuestra-contraseña

Si hemos hecho todo bien saldrá algo del estilo:

+OK nombre-de-usuario has X visible messages (Y hidden) in Z octets.

Si hemos escrito mal el nombre de usuario o la contraseña saldrá algo del estilo:

-ERR Password supplied for nombre-de-usuario is incorrect.

Si hemos escrito mal cualquiera de los dos comandos nos saldrá algo del estilo:

-ERR Unknown command: comando-erroneo

Y si hemos sido muy lentos y hemos hecho esperar demasiado al servidor de correo antes de identificarnos, nos saldrá algo del estilo:

-ERR POP Timeout from nombre-de-servidor

Hasta aquí se puede sacar una conclusión muy clara pero muy valiosa: Los servidores de correo POP comienzan sus respuestas por +OK si hemos hecho las cosas bien o por -ERR si hemos hecho algo mal o algo ha fallado.

Una vez estamos ya identificados como usuarios de una cuenta de correo vamos a comprobar si efectívamente tenemos algún e-mail. Como ya hemos visto antes, el propio servidor nos informa del numero de mails que tenemos en la linea de respuesta después de introducir la contraseña ( +OK nombre-de-usuario has X visible messages (Y hidden) in Z octets. ). Si queremos informacion sobre cuántos mensajes tenemos y cuánto ocupan en total solo tenemos que teclear el comando:

STAT

Y el servidor de correo nos contestará:

+OK numero-de-mensjaes tamaño-de-los-mensajes

Si queremos una lista numerada de nuestros mensajes y ver lo que ocupa cada uno, usaremos:

LIST

Y la respuesta por parte del servidor de correo sera una lista del tipo:

+OK X visible messages (Y octets)
1 z
2 K
.

Donde z y k es lo que ocupan los mensajes 1 y 2 respectivamente. La respuesta al comando LIST siempre termina con un punto.

Ahora que ya sabemos el numero de e-mails que tenemos vamos a leerlos, que para algo fueron mandados. Para ello utilizaremos el comando:

RETR numero-de-mensaje (Donde numero-de-mensaje es el numero de mensaje obtenido con el comando LIST)

Esto nos mostrará por pantalla la totalidad del mensaje X, lo cual presenta un problema, ya que si no disponemos de barra de desplazamiento vertical en nuestra aplicación telnet y el mensaje es bastante largo, no podremos leerlo entero. Esta situación se resuelve mediante el comando:

TOP numero-de-mensaje numero-de-lineas

Ahora que ya hemos leído todos nuestros mensajes lo más seguro es que queramos borrar los que no nos interesan. Esto se consigue mediante el comando:

DELE numero-de-mensaje

Para acabar con la explicación de los comando más utilizados, vamos a ponernos en el caso de que recibamos un e-mail mientras estamos leyendo el resto. Ese e-mail no estaba en la lista que obtuvimos con el comando LIST, por lo que no sabemos que ha llegado y no conocemos su numero. Para buscar mensajes nuevos una vez estamos dentro, se utiliza el comando:

RSET

Tras haber hecho todo lo que teníamos que hacer en nuestro buzón de correo, para salir simplemente hay que teclear:

QUIT

Hasta aquí puede parece que este artículo no haya servido para nada, ya que todas estas cosas las automatiza cualquier programa de gestion de correo electrónico que se precie. No voy a negar la evidencia pero...

Pregunta 1: ¿Y si no contamos con ninguno de estos programas, bien porque no podemos instalarlos o bien porque nos llevaría mucho más tiempo instalarlos y aprender a utilizarlos que simplemente hacer un telnet a nuestro servidor de correo?

Respuesta 1: A tirar de telnet.

Pregunta 2: ¿Y si tenemos nuestro buzón de correo lleno de mails con SPAM y no queremos perder el tiempo descargando basura para a continuación borrarla?

Respuesta 2: A tirar de telnet.

Pregunta 3: ¿Y si queremos tener un dominio total sobre la función que estamos llevando a cabo (en este caso leer el correo) sin tener que dejarla en manos de programas que no sabemos cómo funcionan ni sabemos cual va a ser el resultado?

Respuesta 3: A tirar de telnet.

Como comprobaréis los que me habéis seguido hasta aquí, ésto nos abre un abanico de posibilidades que antes no teníamos y, por tanto, no ha sido en vano el tiempo invertido en la lectura de este texto. Ademas, el saber no ocupa lugar y nunca está de más aprender cosas nuevas :-P


[INICIO] [ARTÍCULOS] [PROGRAMAS] [ENLACES]

OTROS ARTICULOS: [TELNET2] [COOKIES] [SNIFFERS] [ARP SPOOFING]


Todos los contenidos de esta web están bajo una licencia de Creative Commons salvo que se indique expresamente lo contrario.