Telnet e Mail

Nota

Prerequisti: OS, terminale

Argomenti trattati: Telnet, SMTP, POP, IMAP

Introduzione

Telnet è un piccolo client da terminale, disponibile su ogni sistema operativo, che serve per simulare connessioni in chiaro a qualsiasi socket desideriamo. La sua utilità sta nel fatto che permette di dialogare con qualunque protocollo del livello superiore che utilizza testo semplice per le sua sintassi.

A pensarci bene, tutti i protocolli del livello superiore che abbiamo studiato (o che studieremo) utilizzano dati codificati in ASCII, quindi… telnet può essere un semplice strumento per provare ad analizzarli!

La sua sintassi è semplicissima:

$ telnet HOST PORT

Da dopo l’avvenuta connessione bisogna scrivere.. nella lingua del servizio con cui vogliamo dialogare, ovvero bisogna usare le specifiche del protocollo!

Telnet e SMTP

Per estrema semplicità simulerò semplicemente una connessione ad un MTA generico, di cui elenco le caratteristiche:

  • host: scuola.lan
  • porta: 25
  • user1: pippo
  • pass1: attentialcane
  • user2: ciccio
  • pass2: pescegatto

Tramite telnet l’utente pippo proverà ad inviare una mail all’utente ciccio.

$ telnet scuola.lan 25

... risposta ...

HELO pippo

... risposta ...

MAIL FROM: pippo@scuola.lan

... risposta ...

RCPT TO: ciccio@scuola.lan

... risposta ...

DATA

... risposta ...

Subject: Titolo
Una mail con testo qualsiasi che termina quando
andate a capo, scrivete un punto e riandate a capo.
.

... risposta ...

QUIT

Se avete scritto tutto bene (lo capite osservando le risposte) avete inviato una mail scrivendo a mano le istruzioni SMTP per l’MTA!!! Avete notato che non avete mai inserito la password???

TELNET e IMAP

Adesso proviamo a consultare la mail dell’utente ciccio per trovare la mail che ha ricevuto. Facciamo prima con IMAP così il messaggio rimane sul server e proviamo successivamente provare con POP ;)

$ telnet scuola.lan 143

... risposta ...

a1 LOGIN ciccio pescegatto

... risposta ad a1 ...

a2 LIST "" "*"

... risposta ad a2 ...

a3 EXAMINE INBOX

... risposta ad a3 ...

a4 FETCH 1 BODY[]

... risposta ad a4 ...

a5 LOGOUT

Ecco qua! Avanti…

TELNET e POP3

Adesso proviamo a consultare la mail dell’utente ciccio con POP, cancellando il messaggio alla fine della consultazione.

$ telnet scuola.lan 110

... risposta ...

USER ciccio

... risposta ...

PASS pescegatto

... risposta ...

LIST

... risposta ...

RETR 1

... risposta ...

DELE 1

... risposta ...

QUIT

Come avete intuito leggendo i comandi, vi siete connessi al server POP con le credenziali di ciccio, avete elencato i suoi messaggi, avete letto (e poi cancellato) il messaggio numero 1.