Quizás el encierro por la cuarentena me esté poniendo melancólico. Quizás al pintar canas algunos recuerdos se vuelvan más dulces. Pero no puedo dejar de recordar con cariño la primera vez que nos vimos. Los nombres fueron cambiados para proteger a los involucrados.
Corría el año 1998. DOS
era el lugar de encuentro. Me entere de vos porque saliste en el archivo anarchist-cookbook.txt. Sección hacking.
Ibas completamente de negro. Letras de fósforo color ámbar haciendo juego. Me acerqué y te dije: telnet mail.coopelec.com.ar 25
. La música del módem sonaba a todo lo que daba. Me respondiste:
Trying 216.58.222.46...
Connected to mail.coopelect.com.ar.
Escape character is '^]'.
La descarga de endorfinas por la emoción del momento invadía todo mi ser. Amor a primera vista que se le dice. Aunque fue bueno mientras duró, no tuvimos un final feliz. Tuve que reiniciar (mal) la computadora porque no sabía cómo salir. Aún así, uno no se olvida del primer amor.
Telnet
(Teletype Network) es un protocolo para acceso remoto originalmente propuesto en 1969. Sobra decir que actualmente hay alternativas mucho mejores para conexiones remotas (ssh, vnc, etc). Sin embargo telnet
todavía puede sernos útil de cuando en cuando.
Microsoft desactivó telnet desde Windows 7. Sin embargo podemos activar el paquete:
Inicio -> Panel de control -> programas -> programas y características -> Activar o desactivar las características de Windows -> Tildar Cliente Telnet.
Si es muy complicado o no tenés ganas de dar muchas vueltas podés descargar el cliente de Telnet de PuTTY, PuTTYTel. Un binario, fácil y rápido.
En sistemas Linux/BSD ya viene instalado por defecto.
Los usuarios de OS X pueden instalarlo mediante Brew, ingresando en la terminal:
brew install telnet
Cómo es viejito, telnet per se, no tiene mucha dificultad. El programa se ejecuta en línea de comando con:
telnet
Luego ingresar
open [IP o dominio] [puerto]
Por ejemplo:
# (si no se pone el puerto se entiende que es el 23)
open avalon-rpg.com
O directamente con
telnet avalon-rpg.com
Para terminar la conexión hay que presionar Ctrl
+]
aka ^]
.
Lo interesante de telnet
radica en que puede ser usado para verificar puertos TCP o interactuar con algunos servicios. Si bien voy a mostrar algunos ejemplos, no van a ser en profundidad, lo suficiente cómo para generar curiosidad (espero) en usted, amable lector.
Podés tener una mirada más intima de HTTP usando telnet.
telnet google.com 80
Ahora estamos conectados a un servidor web de Google. Haciendo uso de los métodos de HTTP, podemos descargar el contenido del home de Google. Para esto ingresamos GET /
y el web server amablemente nos responde con el código 200 OK
.
Trying 172.217.172.110...
Connected to google.com.
Escape character is '^]'.
GET /
# Esta es la respuesta de Google
HTTP/1.0 200 OK
Date: Wed, 03 Jun 2020 15:13:25 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Set-Cookie: 1P_JAR=2020-06-03-15; expires=Fri, 03-Jul-2020 15:13:25 GMT; path=/; domain=.google.com; Secure
Set-Cookie: NID=204=uj2MNUj0459B85wFC9vQxtS_b8rNXNwZDjmkZGTz-IIDh-8W7uGbbtMo0Tas_6uhtedY7MQFEO-0jvq2U-pkoSvEYtDkz4FZ31xmIZQ3pPGAvCMqhVWaw-OIST2k8BuEnooDv88XgbJCM5ySQN-MRb5X8Ht4cDP_9bzD7aKz4Jk; expires=Thu, 03-Dec-2020 15:13:25 GMT; path=/; domain=.google.com; HttpOnly
Accept-Ranges: none
Vary: Accept-Encoding
[...]
Connection closed by foreign host.
Esto puede ser útil para testear instalaciones de web servers y firewalls.
Ahora podemos ir un poco más allá y conocer más sobre el protocolo SMTP.
telnet mail1.fabrikam.com 25
Trying 64.233.186.108
Connected to smtp.gmail.com.
Escape character is '^]'.
220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at Fri, 5 Aug 2016 16:24:41 -0700
EHLO contoso.com
250-mail1.fabrikam.com Hello [172.16.0.5]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST
MAIL FROM: <chris@contoso.com>
250 2.1.0 Sender OK
RCPT TO: <kate@fabrikam.com> NOTIFY=success,failure
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
SUBJECT: Prueba de mail
Estoy probando el envio por TELNET.
.
250 2.6.0 <c89b4fcc-3ad1-4758-a1ab-1e820065d622@mail1.fabrikam.com> [InternalId=5111011082268, Hostname=mail1.fabrikam.com] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel
El ejemplo anterior extraido de acá nos muestra un intercambio con el servidor de SMTP para enviar un mail
Enter
, luego punto (.
) y otra vez Enter
.Cómo se puede apreciar uno podría poner cualquier dirección de origen en MAIL FROM
... ¿Alguien dijo spoofing?, se escuchó algo en el fondo. En la vida real (actual) no es tan fácil, pero es algo así. Queda de tarea al lector buscar más data por ahí. Y ya que estamos en tema email...
Ahora vamos a leer nuestro correo desde la terminal usando el protocolo POP3.
telnet pop.midominio.com 110
Trying 10.39.243.134...
Connected to pop.midomino.com.
Escape character is '^]'.
+OK Dovecot ready.
USER micorreo@midominio.com
+OK
PASS Tremenda contraseña
+OK Logged in.
LIST
+OK 4 messages:
1 5177
2 32760
3 16757
4 2643
.
RETR 4
+OK 2643 octets
Return-path: <admin@midominio.com>
Envelope-to: micorreo@midominio.com
Delivery-date: Wed, 03 Jun 2020 13:20:23 -0300
[...]
POP3 es bastante fácil de utilizar al sólo poder leer la bandeja de entrada. A continuación los comandos
RETR 4
muestra el contenido del mail con ID 4.Otros comandos de POP3
QUIT
.id
indicado por n
. Ejemplo: TOP 2 8 (muestra las primeras ocho líneas del cuerpo del mensaje 2).Cómo podemos ver, a pesar de contar con varios años encima y ser superado por otros programas y protocolos, telnet
todavía tiene algunos usos. Para cerrar algunos links de interes: