Qualche migliaio di anni fa Platone
ascolto' e poi trascrisse una serie di dialoghi che un simpaticone
faceva con la gente incontrata per strada. Il simpaticone era
Socrate e quella serie di dialoghi sono rimasti
una pietra miliare della filosofia ed il principale ricordo che si ha del grande
filosofo greco.
Veramente io ricordo molto bene anche la moglie Santippe, ma non faccio testo...
(NdA ed ancor piu' ora, per vicende molto piu' recenti della scrittura di questa pagina)
Nel tempo e' capitato anche a me di seguire interessanti dialoghi ed ho quindi deciso
di raccoglierli a futura memoria. Naturalmente l'importanza di questi dialoghi
e' infinitamente inferiore a quelli di Platone, ma forse vale comunque la pena
di riportarli.
I dialoghi sono avvenuti tra un sistemista triste che, forse non trovando adeguata compagnia tra gli umani, inizio' a parlare con dei demoni (i demoni sono programmi sempre attivi su un server Unix/Internet). Poiche' i dialoghi di Platone sono ricordati con il nome della persona o dell'argomento trattato, anch'io faro' lo stesso nei titoli.
In realta' parlare con i demoni non e' poi cosi' strano. E' una cosa che avviene continuamente. Utilizzando i normali programmi per accedere ai servizi di Internet o lavorando normalmente sui sistemi Unix si colloquia continuamente con i demoni. Tuttavia tale dialogo e' nascosto dal programma che stiamo utilizzando ed il protocollo di messaggi scambiato non e' generalmente visibile.
In realta' in qualche caso e' utile conoscere i messaggi scambiati tra i demoni dei servizi ed i programmi client per diagnosticare eventuali fault, per controllare il funzionamento di alcuni servizi, per risolvere problemi particolari o, infine, per capire come funzionano veramente le cose. Infatti quello che effettivamente viene scambiato sulla rete sono i messaggi del protocollo come puo' essere facilmente visto con uno sniffer o simili. Certo ad un non informatico puo' non interessare per nulla... ma spesso anche agli informatici non interessa affatto sapere come funzionano le cose. Non importa: ve lo racconto lo stesso!
Bene, ora che ho finalmente iniziato ad essere serio possiamo cominciare a parlare con i demoni.
In realta' il dialogo con il demone del protocollo telnet (il telnetd) non e' molto interessante. Il servizio offerto dal telnetd e' semplicemente quello dell'emulazione di terminale (quindi il risultato e' quello di fingere di essere su un terminale direttamente connesso sul sistema): insomma si tratta solo di trasmettere tutto quanto viene digitato sulla tastiera e riportare quanto visualizzare sullo schermo!
In realta' quello che mi interessa riportare
e' che il programma client del telnet puo' essere utilizzato per colloquiare
con tutti gli altri demoni: basta indicare il numero di porta cui si vuole parlare
(eg. 25 per il sendmail: telnet hostname 25).
E questo e' quello che si vedra' in tutti gli altri dialoghi.
Il servizio telnetd risponde alla porta 23, per richiamarlo e' sufficiente il
comando telnet hostname poiche' e' la porta di default.
La morale di questo dialogo? Perche' deve esserci sempre una morale o una ragione!?
Pero' un'insegnamento forse c'e': chiunque puo' imitarti.
Per quanto bravo tu sia, ci sara' sempre un modo per rifare quello che hai fatto.
Ma attenzione: la difficolta' sta nel fare le cose la prima volta, per poi capirle
e poterle ripetere.
Il servizio di POP e' uno dei piu' utilizzati
su Internet. Si tratta infatti del servizio di posta elettronica. Attraverso
tale servizio un mailer (eg. Eudora, Netscape-mail, Outlook, ...) raccoglie
le lettere dal mail server e le scarica su nostro "amato" PC. Attenzione: il
servizio di invio di posta e' un'altro ed utilizza un altro protocollo (si tratta
dell'SMTP che vedremo dopo, forse).
Mi capita in diverse occasioni di parlare direttamente con il demone POP.
Ogni tanto qualche buontempone mi manda email di dimensioni
galattiche. La cosa mi da fastidio se sono connesso via modem;
allora per controllare la casella di posta mi collego direttamente
al servizio e, se e' il caso, cancello la posta non desiderata...
Il servizio pop3 (l'ultima e piu' utilizzata versione del servizio
POP) risponde alla porta 110.
Dialogo | Commento |
# telnet hostname.domain 110 Trying IPAddress ... Connected to hostname. Escape character is '^]'. +OK POP3 (X.Y.Z-xxxx) at hostname.domain starting. user username +OK Password required for username. pass password +OK username has 2 messages (220312131 octets). list +OK 2 messages (220312131 octets) 1 220311307 2 824 . dele 1 +OK Message 1 has been deleted. quit +OK Pop server at hostname.domain signing off. Connection closed by foreign host. # |
Mi collego... Naturalmente si tratta dello username e della password di posta elettronica Quando lo pesco mi sente! Non si mandano email di queste dimensioni Altri comandi utili? RETR m TOP m n |
Capito perche' quando si configura la mail bisogna specificare una user ed una password? Il protocollo lo richiede!
Il protocollo ftp serve per scambiarsi dei
file. Presenta una complessita' poiche' vengono utilizzate due comunicazioni
parallele per i comandi e per la trasmissione dei dati (la cui porta viene definita
di comune accordo tra i due processi). Ma anche parlare sulla sola porta di
comandi con un demone ftp puo' essere utile (basta dire sul client che si e' passive).
Ad esempio si utilizza per riconoscere il sistema operativo o la versione di ftpd.
Il servizio ftpd risponde alla porta 21. Il servizio tftpd (che
e' la versione trucida dell'ftp) risponde ovviamente alla porta 69.
Dialogo | Commento |
# telnet hostname 21 Trying IPaddress ... Connected to localhost. Escape character is '^]'. 220 hostname FTP server (UNIX(r) ... user pippo 530 User pippo access denied. user username 331 Password required for username. pass password 230 User username logged in. dele pippo 250 DELE command successful. help 214-The following commands are recognized: USER PORT RETR MSND* ALLO DELE SITE* XMKD CDUP PASS PASV STOR MSOM* REST* CWD STAT* RMD XCUP ACCT* TYPE APPE MSAM* RNFR XCWD HELP XRMD STOU REIN* STRU MLFL* MRSQ* RNTO LIST NOOP PWD QUIT MODE MAIL* MRCP* ABOR NLST MKD XPWD 214 (*'s => unimplemented) quit 221 Goodbye. Connection closed by foreign host. # |
Mi collego... Risponde il demone dell'ftp server Cerco di collegarmi con un utente che non esiste Mi collego con un utente valido Serve la password Ho cancellato il file pippo!! Ecco il "protocollo" i comandi indicati sono compresi da server ftp Addio demone dell'ftp |
Internet e' rimasto un mondo sconosciuto a
tutti, se non ai pochi "addetti ai lavori", fino a quando non e' nato il demone
httpd. Questo servizio consente di pubblicare pagine sul web. Le pagine possono
contenere testi, immagini, script, ... e, soprattutto, collegamenti ad altre
pagine su qualsiasi altro sito web nel mondo (o dell'universo come dice il titolo).
Le pagine sono cosi' "navigabili" utilizzando un comune browser (Netscape,
Internet Explorer, Lynx, Mosaic, ...)
[NdE beh e' chiaro che questa pagina era un po' vecchiotta; browser piu' comuni adesso sono:
Edge, Chrome, Firefox, Safari, Opera, ... Tor, wget, curl].
L'idea di base del protocollo HTTP e'
semplicissima: il browser fa una domanda ed il demone risponde. E basta. Nessuna
connessione viene tenuta aperta, nessuna altra informazione passata... Ogni
volta che si chiede una pagina e' come se fosse la prima volta! In realta' c'e'
il modo per avere una memoria, ma questo va al di la' del semplice dialogo riportato.
Mi capita in diverse occasioni di parlare direttamente con un httpd
per verificare se sta funzionando o meno.
Il servizio httpd risponde alla porta 80 ma e' molto comune trovarlo
anche su altre porte.
Dialogo | Commento |
# telnet hostname 80 Trying IPAddress ... Connected to hostname. Escape character is '^]'. GET / <HTML> <HEAD> <TITLE>DEMO HOME PAGE<TITLE> <HEAD> <BODY> <center> <IMG SRC="/demo.gif"> <br> <H1><FONT COLOR=Maroon>DEMO Home Page<FONT><H1> <center> <BODY> <HTML> Connection closed by foreign host. # |
Mi collego... Chiedo una pagina Ecco una normale pagina in HTML! La connessione si chiude da sola. Il servizio e' connectionless |
L'smtp (Simple Mail Transfer Protocol) e'
il protocollo per inviare la posta elettronica o email. L'SMTP e' un protocollo
diffusissimo, ed ha resistito nel tempo nonostante i suoi difetti (ad esempio
non usa nessun meccanismo di validazione). Il programma sendmail (la
versione Unix del demone che tratta tale protocollo) fa di tutto compreso il
caffe': gestisce liste di indirizzi, effettua l'inoltro della corrispondenza,
puo' lanciare programmi alla ricezione di un'email... Ma non divaghiamo: con
il protocollo SMTP si mandano le e-mail. Si deve dire chi siamo (il servizio
si fida ciecamente di noi, quindi si possono tranquillamente mandare email a
nome di altri), a chi vogliamo mandare l'email e specificare il testo. Non c'e'
controllo quindi si possono tranquillamente mandare email a nome di altri: per
questo questo dialogo si chiama dell'apparenza.
Noi siamo quello che diciamo di essere... Non e' forse cosi'?
Non siamo in effetti quello che crediamo di essere?
La realta' e' la sostanza o quello che noi sentiamo?
Chiusa la ridicola parentesi filosofica
le email si mandano generalmente con i mailer (gli stessi del
POP:
Eudora, Netscape-mail, Outlook, ...)
ma nessuno ci puo' togliere il divertimento di "fare il mailer" noi stessi!
Per altro il servizio e' uno dei piu' gentili: se lo salutate con
HELO username vi saluta a sua volta!
Il servizio smtp risponde alla porta 25. In effetti lo uso di rado ma e' sempre
un piacere fare quattro chiacchere (NdT una volta c'era un bellissimo buco di
sicurezza nel sendmail: bastava utilizzare il DEBUG per ottenere i diritti di
root sul sistema: per questo lo usavi...) (NdA non
so nulla: mai parlato con un sendmail!)
Dialogo | Commento |
# telnet hostname 25 Trying IPAddress ... Connected to hostname. Escape character is '^]'. 220 hostname.domain ESMTP Sendmail 8... mail from: billy.clinton@whitehouse.org 250 billy.clinton@whitehouse.org... Sender ok rcpt to: mail@meo.bogliolo.name 250 mail@meo.bogliolo.name... Recipient ok data 354 Enter mail, end with "." on a line by itself Hi Meo, I read Your online documentation and it's great Keep on writing Your Billy . 250 LAA12251 Message accepted for delivery mail from: billy.gates@microsoft.com 250 billy.gates@microsoft.com... Sender ok rcpt to: mail@meo.bogliolo.name 250 mail@meo.bogliolo.name... Recipient ok data 354 Enter mail, end with "." on a line by itself Hi Meo, Monica and I would like to came and visit You on July Let me know which are the days You prefer Your Billy . 250 LAA12257 Message accepted for delivery help 214-This is Sendmail version 8.9.1 214-Topics: 214- HELO EHLO MAIL RCPT DATA 214- RSET NOOP QUIT HELP VRFY 214- EXPN VERB ETRN DSN 214-For more info use "HELP |
Beh forse nell'esagerare ho confuso qualcosa... |
Veramente non si tratta di un demone. Provare
per credere...
L'ignoranza (nel senso di non conoscenza e del desiderio di imparare)
la posso invece confermare!
Testo: Dialoghi Platonici: parlare con i
demoni Internet
Data: 1 Aprile 2000
Versione: 1.0.10 - 31 Giugno 2015
Autore: mail@meo.bogliolo.name