Telnet è il principale
protocollo di Internet per realizzare delle
connessioni con macchine in remoto. Da la possibilità di essere
fisicamente sul proprio sistema e lavorare su un altro che può essere
nella stanza accanto come dall'altra parte del mondo, la propria
macchina (locale) diventa così un terminale remoto: tecnicamente
l'operazione è definita Remote Login.
Ad esempio: se ci si trova lontani dal proprio ambiente di lavoro e si ha bisogno di controllare la posta elettronica, basta trovare un qualsiasi accesso ad Internet con servizio di telnet e collegarsi al proprio server di posta elettronica. Esistono due tipi di server per la posta elettronica: SMTP e POP3 che potrebbero anche essere la stessa macchina. SMTP è la sigla che indica i server di posta in uscita, POP3 i server di posta in entrata. In poche parole, con un server SMTP si mandano le email, con un server POP3, invece, si ricevono le email sul proprio computer client.
Il nostro client può inviare la nostra missiva grazie ad una opportuna sessione Telnet, tramite questa si manda il nostro messaggio al server SMTP il quale a sua volta lo manda al server POP3 di destinazione e, tramite una sessione Telnet compiuta dal ricevente, è possibile scaricarla nel computer client dell'amico che riceverà la lettera elettronica.
Definiamo anche cos'è un HOST, un HOST non è altro che un codice alfanumerico che identifica un computer in rete, per esempio pp1518.actarus.it è un Host, esso ci serve per distinguere quel computer da tutti gli altri che si trovano in rete. Ad ogni Host corrisponde un indirizzo IP.
Per usufruire del comando Telnet da ambienti linux, unix, mac osx, windows con dos aprire un terminale (ovvero una shell, ovvero una riga di comando, ovvero una finestra dos) e digitare la parola telnet. Da ambienti windows dipende dalla versione usata, per esempio da vista è possibile attivare telnet (seguire questa guida), da xp da qualche parte dovrebbe esserci una riga di comando.
Vediamo un esempio di spedizione e ricezione di email, puntualizzando i passaggi.
Supponiamo che actarus@vega.it mandi una mail a venusia@venus.it, il computer client di actarus apre una sessione Telnet e manda la mail attraverso il server di posta in entrata di tipo SMTP smtp.vega.it. Il server SMTP la recapita al server di posta in uscita di tipo POP3 venus pop.venus.it il quale a sua volta lo fa ricevere a Venusia sul suo client tramite una propria sessione Telnet.
Tutti i passaggi che un messaggio ha subito da un server all'altro compaiono negli 'Headers'. Fatta questa breve descrizione generale di come avviene la spedizione di una email, vediamo il comando telnet nella sua essenza.
La sintassi per connettersi ad un servizio qualsiasi è la seguente:
telnet provider.it porta
Un server ha un nome unico (es: pippo.it), ma ad ogni servizio che esso offre è associata una corrispettiva porta (es. 25 SMTP, 21 FTP, 110 POP3, 119 NNTP, 23 Telnet, 80 HTTP etc.), quindi se ci colleghiamo alla porta 25 ci risponderà (sempre perché è un numero unico valido per tutti i server) il servizio SMTP, ovviamente il servizio deve essere attivo sul server cioè ci deve essere "qualcuno" in ascolto sulla porta 25.
Per collegarci a un server SMTP del provider Libero.it, digiteremo telnet libero.it 25.
Comandi SMTP
Notate infatti che come risposta del saluto "helo", il server smtp vi dice il nome del vostro computer e anche l'IP, questi dati verranno aggiunti alla vostra email dal server e quindi la ricevente li potrà vedere. Al massimo potete confondere la mittente aggiungendo dei dati fasulli all'interno del comando "data" ma un occhio esperto capirà che siete stati voi a spedire la missiva. (Per risalire al computer che ha mandato la email è spesso, ma non sempre, necessario ricorrere a dati sensibili e quindi solo la magistratura può in pratica risalire a voi).
Comandi POP3
Una piccola nota, il server POP3 di Libero.it è popmail.libero.it. Si tenga conto che quasi tutti i server smtp pretendono di inviare solo la posta dei propri utenti e rifiutano gli estranei. Nel caso di libero e altri occorre collegarsi via modem all'ISP Libero (cioè "telefonare" a Libero) per spedire la corrispondenza tramite i suoi server.
ViCisLAcK mi ha gentilmente permesso di pubblicare un suo articolo (Login autenticato per spedire email) in cui descrive come autenticarsi in quei casi in cui il server SMTP permetta questa procedura.
Una guida più da esperti descrive sia come inviare allegati sia come inviare email HTML sia come inviare email miste.
Un altro articolo di questo sito tratta dell'uso di telnet per spedire messaggi sui gruppi di discussione di Usenet chiamati newsgroups. In gergo si può dire che si può postare con telnet.
L'articolo interattivo che permette di usare Telnet, Il meteo con Telnet, da la possibilità di interrogare un server remoto e di avere le previsioni del tempo di una qualunque città del mondo.
Un altro articolo interattivo permette di usare Telnet per accedere a un qualsiasi sito internet così come fa un browser.
Come può servire oggigiorno o in futuro un sistema così antiquato? Le risposte sono molteplici ma una può essere avere sotto controllo totale la posta. Praticamente può essere usato per cancellare i messaggi troppo grandi verificando le prime linee in modo da essere certi che sia spam.
Senza dimenticare che tutti i mailer usano una sessione telnet per gestire la posta con i comandi che abbiamo visto anzi con molti meno, quindi l'azione diretta sul server da possibilità di ordine superiore.
Ultimamente mi capita di essere bersaglio di computer infetti che mandano virus sul mio server di posta elettronica con nomi a caso e come dominio kensan.it, mi sono arrivate decine di megabyte in poche ore intasandomi la mailbox.
In questi casi la soluzione migliore è accedere con una sessione telnet alla casella elettronica, cancellare un po' di messaggi con il comando DELE e poi agire a livello di webmail per cancellare la rimanente parte di spam. In questo modo ho evitato di scaricare lo spam per liberare la mia mailbox.
Ad esempio: se ci si trova lontani dal proprio ambiente di lavoro e si ha bisogno di controllare la posta elettronica, basta trovare un qualsiasi accesso ad Internet con servizio di telnet e collegarsi al proprio server di posta elettronica. Esistono due tipi di server per la posta elettronica: SMTP e POP3 che potrebbero anche essere la stessa macchina. SMTP è la sigla che indica i server di posta in uscita, POP3 i server di posta in entrata. In poche parole, con un server SMTP si mandano le email, con un server POP3, invece, si ricevono le email sul proprio computer client.
Il nostro client può inviare la nostra missiva grazie ad una opportuna sessione Telnet, tramite questa si manda il nostro messaggio al server SMTP il quale a sua volta lo manda al server POP3 di destinazione e, tramite una sessione Telnet compiuta dal ricevente, è possibile scaricarla nel computer client dell'amico che riceverà la lettera elettronica.
Definiamo anche cos'è un HOST, un HOST non è altro che un codice alfanumerico che identifica un computer in rete, per esempio pp1518.actarus.it è un Host, esso ci serve per distinguere quel computer da tutti gli altri che si trovano in rete. Ad ogni Host corrisponde un indirizzo IP.
Per usufruire del comando Telnet da ambienti linux, unix, mac osx, windows con dos aprire un terminale (ovvero una shell, ovvero una riga di comando, ovvero una finestra dos) e digitare la parola telnet. Da ambienti windows dipende dalla versione usata, per esempio da vista è possibile attivare telnet (seguire questa guida), da xp da qualche parte dovrebbe esserci una riga di comando.
Vediamo un esempio di spedizione e ricezione di email, puntualizzando i passaggi.
Supponiamo che actarus@vega.it mandi una mail a venusia@venus.it, il computer client di actarus apre una sessione Telnet e manda la mail attraverso il server di posta in entrata di tipo SMTP smtp.vega.it. Il server SMTP la recapita al server di posta in uscita di tipo POP3 venus pop.venus.it il quale a sua volta lo fa ricevere a Venusia sul suo client tramite una propria sessione Telnet.
Tutti i passaggi che un messaggio ha subito da un server all'altro compaiono negli 'Headers'. Fatta questa breve descrizione generale di come avviene la spedizione di una email, vediamo il comando telnet nella sua essenza.
La sintassi per connettersi ad un servizio qualsiasi è la seguente:
telnet provider.it porta
Un server ha un nome unico (es: pippo.it), ma ad ogni servizio che esso offre è associata una corrispettiva porta (es. 25 SMTP, 21 FTP, 110 POP3, 119 NNTP, 23 Telnet, 80 HTTP etc.), quindi se ci colleghiamo alla porta 25 ci risponderà (sempre perché è un numero unico valido per tutti i server) il servizio SMTP, ovviamente il servizio deve essere attivo sul server cioè ci deve essere "qualcuno" in ascolto sulla porta 25.
Per collegarci a un server SMTP del provider Libero.it, digiteremo telnet libero.it 25.
Comandi SMTP
Una volta che ci siamo connessi al server smtp possiamo cominciare a digitare comandi. Eccone una lista:
HELO provider.it
Questo comando serve per salutare il server SMTP il quali ci riconoscerà dal nostro IP. Il server SMTP non permette l'autenticazione, per questa funzione accorre usare il server POP3 che vedremo più avanti.
MAIL FROM: <nick_proprio@provider.it>
Questo comando serve per indicare l'indirizzo email del mittente, è nostra cura dare l'email esatta, in caso contrario il destinatario potrà non riconoscerci. Non omettere le parentesi angolari.
RCPT TO: <nick_destinatario@provider.it>
Questo comando serve per indicare l'indirizzo email del destinatario. Anche qui non omettere le parentesi angolari.
DATA
A questo comando segue una riga vuota che va riempita con la prima riga del nostro messaggio, per terminare l'inserimento è sufficiente una riga contenete il solo punto: ".".
VRFY: <nick@provider.it>
Questo comando serve per accettarsi dell'esistenza di un indirizzo email.
HELP oppure HELP <comando>
Fornisce la lista dei comandi disponibile oppure da informazioni su un singolo comando.
Vediamo una sessione di Telnet per spedire una email, supposto che l'autenticazione sia già stata fatta, in caratteri monospace e in grassetto i comandi da digitare e di seguito la risposta del server.
Supposto di avere un programma di posta elettronica normale tipo Mozilla, Thunderbird o OutLook, ci autentichiamo facendo un semplice "get message" ovvero "scarica la posta" sul nostro account di posta, in alternativa ci si può autenticare con telnet tramite una sessione di collegamento al POP3 che vedremo più avanti.
SESSIONE SMTP:
telnet smtp.vega.it 25
Trying 100.99.198.97...
Connected to vega.it.
Escape character is '^]'.
220 vega.it ESMTP Sendmail 8.12.9 ready at Sun, 01 Sep 2003 00:00:00 +0200 (CEST)
helo vega.it
250 vega.it Hello <Nome del proprio pc> [<IP del proprio pc>], pleased to meet you
help
214-2.0.0 This is sendmail version 8.12.9
214-2.0.0 Topics:
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN VERB ETRN DSN AUTH
214-2.0.0 STARTTLS
214-2.0.0 For more info use "HELP <topic>".
214-2.0.0 To report bugs in the implementation send email to
214-2.0.0 sendmail-bugs@sendmail.org.
214-2.0.0 For local information send email to Postmaster at your site.
214 2.0.0 End of HELP info
mail from: <actarus@vega.it>
250 2.1.0 <actarus@vega.it>... Sender ok
rcpt to: <venusia@venus.it>
250 2.1.5 <venusia@venus.it>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject: Importante!
ciao!
Ci vediamo stasera?
baci.
.
250 2.0.0 <codice del messaggio> Message accepted for delivery
quit
221 2.0.0 vega.it closing connection
Connection closed by foreign host.
Se non abbiamo eseguito l'autenticazione il server ci risponderà con:
550 5.7.1 actarus@vega.it... SMTP relay denied, authenticate via POP/IMAP first
Kensan.it
Avrete sicuramente notato che siete stati voi a inserire il mittente che può essere così facilmente falsificato. Fate attenzione che il server SMTP comunque aggiunge agli header dell'email il vostro indirizzo IP.Notate infatti che come risposta del saluto "helo", il server smtp vi dice il nome del vostro computer e anche l'IP, questi dati verranno aggiunti alla vostra email dal server e quindi la ricevente li potrà vedere. Al massimo potete confondere la mittente aggiungendo dei dati fasulli all'interno del comando "data" ma un occhio esperto capirà che siete stati voi a spedire la missiva. (Per risalire al computer che ha mandato la email è spesso, ma non sempre, necessario ricorrere a dati sensibili e quindi solo la magistratura può in pratica risalire a voi).
Comandi POP3
Connettiamoci al nostro ISP con telnet, esattamente al suo server di posta in entrata:
telnet pop.venus.it 110
la porta 110 è ovviamente quella del server che ci da il sevizio POP3.
Ecco la lista dei comandi:
user venusia
pass segreto
(il nostro nome utente e la nostra password.)
LIST oppure STAT
per ottenere la lista e la dimensione dei messaggi, List da la lista completa mentre Stat da il valore complessivo.
RETR: <nr del messaggio>
per leggere il messaggio desiderato.
TOP <nr del messaggio> <nr righe da vedere>
permette di vedere solo le prime nr righe del messaggio nr.
DELE: <nr del messaggio>
per cancellare un messaggio. Anche se esso viene effettivamente eliminato solo dopo essere usciti dalla connessione con QUIT.
RSET
per eliminare la marcatura fatta con "DELE". All'uscita, "QUIT", non verrà cancellata alcuna email.
QUIT
la connessione termina e vengono cancellati i messaggi selezionati con DELE.
Ecco una sessione Telnet per prelevare la posta:
SESSIONE POP3:
telnet pop.venus.it 110
Trying 193.70.192.70...
Connected to pop.venus.it.
Escape character is '^]'.
+OK POP3 server ready (7.0.019) <xxx@pop.venus.it>
user venusia
+OK Password required
pass segreta
+OK 4 messages
list
+OK
1 871
2 6533
3 3980
4 743
.
fornisce la lista delle email in ordine di arrivo al server pop3 e la loro lunghezza in byte
retr 4
+OK 743 bytes
Return-Path: <actarus@vega.it>
Received: ....
Date: Sun, 01 Sep 2003 00:00:00 +0200 (CEST)
From: actarus@vega.it
Message-Id: <<codice del messaggio>@vega.it>
subject: Importante!
ciao!
Ci vediamo stasera?
baci.
.
abbiamo scaricato l'ultimo messaggio che è arrivato al server: il numero 4 da 743 byte.
dele 4
+OK message marked for deletion
stat
+OK 3 11384
3 messaggi rimanenti con la lunghezza complessiva
quit
+OK POP3 server closing connection
Connection closed by foreign host.
solo all'uscita i messaggi marcati vengono cancellati
Una piccola nota, il server POP3 di Libero.it è popmail.libero.it. Si tenga conto che quasi tutti i server smtp pretendono di inviare solo la posta dei propri utenti e rifiutano gli estranei. Nel caso di libero e altri occorre collegarsi via modem all'ISP Libero (cioè "telefonare" a Libero) per spedire la corrispondenza tramite i suoi server.
ViCisLAcK mi ha gentilmente permesso di pubblicare un suo articolo (Login autenticato per spedire email) in cui descrive come autenticarsi in quei casi in cui il server SMTP permetta questa procedura.
Una guida più da esperti descrive sia come inviare allegati sia come inviare email HTML sia come inviare email miste.
Un altro articolo di questo sito tratta dell'uso di telnet per spedire messaggi sui gruppi di discussione di Usenet chiamati newsgroups. In gergo si può dire che si può postare con telnet.
L'articolo interattivo che permette di usare Telnet, Il meteo con Telnet, da la possibilità di interrogare un server remoto e di avere le previsioni del tempo di una qualunque città del mondo.
Un altro articolo interattivo permette di usare Telnet per accedere a un qualsiasi sito internet così come fa un browser.
Come può servire oggigiorno o in futuro un sistema così antiquato? Le risposte sono molteplici ma una può essere avere sotto controllo totale la posta. Praticamente può essere usato per cancellare i messaggi troppo grandi verificando le prime linee in modo da essere certi che sia spam.
Senza dimenticare che tutti i mailer usano una sessione telnet per gestire la posta con i comandi che abbiamo visto anzi con molti meno, quindi l'azione diretta sul server da possibilità di ordine superiore.
Ultimamente mi capita di essere bersaglio di computer infetti che mandano virus sul mio server di posta elettronica con nomi a caso e come dominio kensan.it, mi sono arrivate decine di megabyte in poche ore intasandomi la mailbox.
In questi casi la soluzione migliore è accedere con una sessione telnet alla casella elettronica, cancellare un po' di messaggi con il comando DELE e poi agire a livello di webmail per cancellare la rimanente parte di spam. In questo modo ho evitato di scaricare lo spam per liberare la mia mailbox.
Commento:
Grazie