Actualizado el 14-01-2007
versión para imprimir
Una sesion de correo con telnet
Podemos leer nuestro correo en una sesion de telnet. ¿Utilidad? piensa por ejemplo en la posibilidad de ver una lista de todos los mensajes nuevos en el servidor, antes de descargarlos, o borrarlos alli sin necesidad de bajarlos, o incluso consultar el correo desde cualquier ordenador, sin necesidad de configurar el programa de mail.
Para ello iniciaremos una sesion telnet, pero no por el puerto habitual, sino
por el específico POP3 (110) que es donde escucha el server de correo. Toma nota
de que esto sirve para los e-mails ordinarios, pero no para el correo-web
(hot-mail y similares). Para mas detalles puedes estudiar aqui
la especificación POP3.
Una vez conseguida la conexión con el servidor de
correo, este nos indica que esta listo para recibir comandos, por ejemplo:
+OK POP3 server ready
Iniciamos la sesion introduciendo nuestro nombre de usuario y password:
USER nombre_usuario PASS password
Y
obtendras contestación del servidor acerca de si has sido o no autenticado.
Ten
en cuenta que el servidor puede dar respuesta positiva aunque metas un nombre de
usuario inexistente. Solo cuando recibas respuesta positiva a ambos, nombre y
contraseña, podrás operar con el servidor.
Recuerda que en la
especificación POP3 los comandos son una sola palabra (de tres o cuatro letras
maximo), que puede ir seguida o no de argumentos. El comando y su argumento iran
separados por un solo espacio.
Cada comando introducido obtendrá una
respuesta del servidor, que será positiva o negativa. La respuesta puede ir o no
seguida de una explicación
+OK comando introducido correctamente -ERR comando erróneo
Cuando el servidor emite a nuestro comando una respuesta con varias lineas, la ultima linea consistirá en un punto ("."). Y en el caso de que alguna de las lineas de la respuesta a su vez comenzase con un punto, se añade un punto adicional para distinguirla de la ultima linea.
comandos utiles:
STAT (status) solicita el estado de tu buzón de
correos. El servidor responderá informando de cuantos mensajes hay a la espera,
en el siguiente formato: +OK mm bb, donde mm es el numero de
mensajes, y bb el numero de bytes del total.
LIST te lista todos
los mensajes (identificador más el tamaño). Puedes ejecutarlo solo (ofrecera el
numero total de mensajes) o con un argumento (numero de mensaje) y solo
obtendras como respuesta el tamaño de ese mensaje:
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
LIST 2
+OK 2 200
LIST 3
-ERR no such message, only 2 messages in maildrop
TOP nn nl para ver las cabeceras y primeras lineas del mensaje (nn
sería el numero del mensaje que quieras ver, nl el numero de lineas de la
cabecera, p ej: TOP 1 ALL)
RETR # para ver un mensaje, debe
especificarse su numero en la lista
DELE # borra el mensaje
elegido. El borrado no es al enviar el comando, sino al terminar la sesión
RSET recupera los mensajes marcados para borrado
NOOP (No Operation) instruye al servidor para que no ejecute
ninguna acción, salvo responder con un mensaje de confirmación
(+OK).
UIDL (Unique Identifier List) sirve para asignar un
identificador unico a todos los mensajes o a uno especifico.
APOP
(Authenticate Post Office Protocol) Este comando puede ser usado como sustituto
del binomio USER - PASS para identificar y validar un usuario. Su utilidad es
evitar que el password del usuario viaje por la red de forma no encriptada. La
sintaxis es: APOP (nombre) (codigo).
QUIT cierra la conexión. Si
se cierra la sesión sin este comando, los mensajes marcados para borrado no se
destruiran.
Una sesion típica: en negrita, el tecto tecleado por
nosotros.
+OK mx0.redestb.es POP3 server (Post.Office v2.0 0813 with ZPOP version 1.0) ready Sun, 22 Oct 2000 20:23:15 +0100 user minombre +OK Password required for minombre pass micontraseña +OK Maildrop has 0 messages (0 octets) quit +OK mx0.redestb.es POP3 server closing connection
y ahora una con mensaje : ))
conectamos:
+OK Hello there. user minombre +OK Password required. pass micontraseña +OK logged in. stat +OK 1 1756 top 1 5 +OK headers follow. Return-Path: <*****@******.es> Received: from tsmtp3.ldap.isp (unknown [195.235.113.141]) by pomerol.nexen.net (Postfix) with ESMTP id 5AFBD82DC for <****@nexen.net>; Mon, 23 Oct 2000 21:18:31 +0200 (CEST) Received: from ******** ([***.**.***.**]) by tsmtp3.ldap.isp (Netscape Messaging Server 4.1) with SMTP id G2WDI902.M4D for <******@nexen.net>; Mon, 23 Oct 2000 21:15:45 +0200 Message-ID: <000c01c03d26$14f49a00$3e6760d5@teleline> From: "irv" <*****@******.es> To: <******@nexen.net> Subject: probando. Esto es el "asunto" del mensaje Date: Mon, 23 Oct 2000 21:18:52 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0009_01C03D36.D807EBE0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 This is a multi-part message in MIME format. .
Bueno, hemos conectado, solicitado status y recibido cabecera. Ahora a recuperar el mensaje, y borrarlo del servidor (y hacer QUIT para el borrado efectivo):
retr 1 +OK 1756 octets follow. Return-Path: <******@*******.es> Received: from tsmtp3.ldap.isp (unknown [195.235.113.141]) by ******.*****.net (Postfix) with ESMTP id 5AFBD82DC for <*****@****.net>; Mon, 23 Oct 2000 21:18:31 +0200 (CEST) Received: from teleline ([***.**.***.***]) by tsmtp3.ldap.isp (Netscape Messaging Server 4.1) with SMTP id G2WDI902.M4D for <****@****.net>; Mon, 23 Oct 2000 21:15:45 +0200 Message-ID: <000c01c03d26$14f49a00$3e6760d5@teleline> From: "*****" <****@*****.es> To: <*****@****.net> Subject: probando. Esto es el "asunto" del mensaje Date: Mon, 23 Oct 2000 21:18:52 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0009_01C03D36.D807EBE0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50. 4133.2400 This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C03D36.D807EBE0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Prueba de mensaje recuperado con telnet. Esto es el CUERPO del mensaje ------=_NextPart_000_0009_01C03D36.D807EBE0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2> Prueba de mensaje recuperado con = telnet. Esto es el=20 CUERPO del mensaje</FONT></DIV></BODY></HTML> ------=_NextPart_000_0009_01C03D36.D807EBE0-- . dele 1 +OK Deleted. quit +OK Bye-bye.
irc por telnet
Si, por que no?. Las conversaciones no serán tan fáciles de seguir, pero es perfectamente posible:
$ telnet irc.lleida.net 6667 Trying 194.149.73.7... Connected to irc.lleida.net. Escape character is '^]'. :jupiter2.irc-hispano.org NOTICE IP_LOOKUP :*** Found your hostname (CACHED!). user pepe localhost localhost :soy pepe nick io22 PING :1199599470 pong :1199599470 :jupiter2.irc-hispano.org 001 io22 :Welcome to the IRC-Hispano Internet Relay Network io22 :jupiter2.irc-hispano.org 002 io22 :Your host is jupiter2.irc-hispano.org, running version u2.10.H.09.25 :jupiter2.irc-hispano.org 003 io22 :This server was created dl oct 10 2005 at 16:11:59 CEST :jupiter2.irc-hispano.org 004 io22 jupiter2.irc-hispano.org u2.10.H.09.25 dioswkgxXrRhSB biklmnopstvrRM :jupiter2.irc-hispano.org 005 io22 CHANMODES=b,k,l,imnpstrRM CHANTYPES=#&+ KICKLEN=160 MAXBANS=75 :are supported by this server :jupiter2.irc-hispano.org 005 io22 MAXCHANNELS=25 CHANNELLEN=64 MAXTARGETS=20 MODES=6 NICKLEN=15 :are supported by this server :jupiter2.irc-hispano.org 005 io22 PREFIX=(ov)@+ SILENCE=15 TOPICLEN=240 WALLCHOPS WHOX :are supported by this server :jupiter2.irc-hispano.org 005 io22 USERIP CPRIVMSG CNOTICE CHARMAPPING=rfc1459 NETWORK=IRC-Hispano :are supported by this server :jupiter2.irc-hispano.org 005 io22 MAP SAFELIST QUITLEN=250 AWAYLEN=160 XMODE FNC GHOST WATCH=96 :are supported by this server :jupiter2.irc-hispano.org 251 io22 :There are 10869 users and 3173 invisible on 25 servers :jupiter2.irc-hispano.org 252 io22 36 :Helper(s), 12 IRCop(s) and 8 official bot(s) online :jupiter2.irc-hispano.org 253 io22 2 :unknown connection(s) :jupiter2.irc-hispano.org 254 io22 10703 :channels formed :jupiter2.irc-hispano.org 255 io22 :I have 1037 clients and 1 servers :jupiter2.irc-hispano.org 265 io22 :Current local users: 1037 Max: 1842 (29 de Marzo de 2006 -- 22:07 +02:00, since 20051128-17:46) :jupiter2.irc-hispano.org 266 io22 :Current global users: 14042 Max: 16253 (16 de Enero de 2006 -- 22:47 +01:00, since 20051128-17:46) :jupiter2.irc-hispano.org 422 io22 :MOTD File is missing :jupiter2.irc-hispano.org NOTICE io22 :on 1 ca 1(2) ft 10(10) :io22 MODE io22 :+x
Si quieres probarlo, algunos consejos: tras conectar con el server, necesitas hacer login; para eso teclea user tunombre hostname servername :nombre_real y pulsa ENTER. En la línea siguiente (el server no habrá dado todavía ninguna respuesta) teclea nick tunick
Y ya estarás dentro. Los comandos son los mismos que los que puedas usar con cualquier programa de chat, pero sin necesidad de la barra /. Cada vez que quieras hablar (coun un canal, con otro nick) debes escribir el comando PRIVMSG
Un par de detalles mas: al escribir cualquier cosa que tenga mas de dos palabras, precede la frase con dos puntos: PRIVMSG #ayuda_irc :Hola al canal. Y lo mas divertido de todo: no olvides contestar a los PING del servidor con un PONG (con el mismo número recibido) o se cortará la conexión.