Laboratorio
di Software per le Telecomunicazioni
Verifica finale
Al termine del secondo ciclo di corso, svolgiamo questa esercitazione
guidata, verificando le nozioni e le capacità apprese. Le risposte
devono essere inviate per email all'indirizzo alef@teoriadeisegnali.it,
citando nell'oggetto "verifica finale", e devono contenere il numero
della domanda a cui si riferiscono: per questo, ci si può basare
su questo file preimpostato.
Inoltre, saranno allegati (a fine esercitazione !) i files di
configurazione dei server interessati, e quelli di visualizzazione,
ossia
- /etc/postfix/main.cf
- /home/labsoftel/public_html/testemail.estensione
- /home/labsoftel/public_html/testemail-15.estensione
- /etc/apache2/apache2.conf
- /etc/apache2/mods-enabled/userdir.conf
- se presente, il file /home/labsoftel/public_html/.htaccess
- /home/labsoftel/public_html/corso.css
Configurazione server SMTP locale
Sulla propria macchina, dovrebbe essere già presente un sever SMTP
Postfix, impostato come descritto nella relativa esercitazione.
Qualora ciò non fosse vero, eseguire i passi ivi previsti,
relativamente ai punti Configurazione
di un server SMTP - Postfix, Invio
verso
l'esterno, Ricezione
locale. Per provare l'avvenuta configurazione:
- apriamo il client di posta Evolution, e creiamo (Edit/Prefences/Account di posta)
una identità che usi l'indirizzo 127.0.0.1 come server SMTP;
- catturiamo il traffico diretto alla porta 25 con wireshark, e teniamo d'occhio il
file di log con il comando tail
-f /var/log/mail.log;
- spediamo una email a noi stessi, ovvero a labsoftel@labsoftelXX, in cui
XX corrisponde al numero del computer che stiamo usando (o quello
di casa, nel caso in cui la prova avvenga in differita);
- 1. riportiamo nel file delle risposte, la riga che osserviamo nel
log, anche se segnala errore, e tentiamo di capire qual'è il
problema (se c'é);
- in assenza di errori, verifichiamo che l'email ci è
arrivata, accedendo direttamente al file della posta ricevuta in
locale, mediante
il comando less
/var/spool/mail/labsoftel;
Creazione di una email HTML, con lettere accentate, e con allegati
- configuriamo Evolution
per creare messaggi in HTML (Edit/Prefences/Preferenze
di composizione/Format messages in HTML);
- Creiamo una email da inviare (come prima) a noi stessi, in HTML,
che contenga
- dei caratteri accentati come àèéìòù
- un titolo H1, e
del testo in corsivo
- un link ad una URI (ad es, a questa pagina)
- una immagine (ad es. /home/labsoftel/Examples/logo-Kubuntu.png)
Analisi del formato email
osserviamo il formato della email ricevuta, accedendo direttamente al
file dove è stata salvata, con il comando gedit /var/spool/mail/labsoftel
- 2. riportiamo le intestazioni di questa email, nel file di
risposte
- 3. Individuiamo l'ESMTP id che compare sia nel log che nelle
intestazioni, e riportiamolo
- 4. cosa troviamo scritto nell'Header
Content-Type?
- 5. quanti e quali boundary
sono stati usati?
- 6. cosa rappresentano le parti associate al boundary più esterno?
- 7. dove viene usato, il Content-ID
che identifica l'ultima parte del messaggio?
- 8. qual'è il Transfer-Encoding
dell'immagine? cosa vuol dire ?
Analisi della codifica di carattere
Confrontiamo la parte in text/plain
con quella in text/html:
- 9. ci sono differenze tra i charset
e Transfer-Encoding usati?
- 10. ci sono differenze tra come appaiono le lettere accentate nei
due casi?
- 11. quanti bytes occorrono per rappresentare in UTF-8
i caratteri Latin-1, non ASCII ?
- 12. tenendo presenti il codici assegnati dall'encoding ISO
8859-1 alle lettere accentate in questione, cosa possiamo dire
della rappresentazione delle stesse, all'interno della parte HTML ?
Ora, selezionare nell'editor solo le righe contenenti il messaggio,
completo di header,
copiarle, creare un nuovo documento, incollarle, e
salvarlo il nuovo file come /home/labsoftel/public_html/testemail.txt,
utilizzando un charset encoding
UTF-8. Salvare quindi l'email una seconda volta, con il nome testemail-15.txt, utilizzando
ora un charset encoding
ISO-8859-15.
Configurazione della autenticazione
Come svolto nelle esercitazioni,
la directory /home/labsoftel/public_html/
è stata protetta dall'accesso web, mediante una password. Ora
è giunto il momento di toglierla. Modificare quindi la
configurazione di Apache, e/o il file nascosto .htpassword presente nella
directory, in modo che non venga più richiesta autenticazione.
- 13. verificare con wireshark
che non venga richiesta autenticazione, e copiare nel file di risposte
le intestazioni della risposta HTTP
- 14. specificare le modifiche apportate o, nel caso in cui il
proprio server Apache non fosse stato modificato, cosa avremmo
dovuto fare per aggiungere
l'autenticazione
Salvataggio della email e successivo recupero via web
- Selezionare nell'editor solo le righe contenenti il messaggio,
copiarle, creare un nuovo documento, incollarci il messaggio, e
salvarlo come /home/labsoftel/public_html/testemail.txt,
utilizzando un charset encoding
UTF-8.
- Salvare quindi l'email una seconda volta, con il nome testemail-15.txt, utilizzando
ora un charset encoding
ISO-8859-15.
- Visitare l'indirizzo http://127.0.0.1/labsoftel/ (nel caso non sia stato definito l'alias,
ripetere le operazioni indicate alle esercitazioni)
e, tenendo aperto wireshark e
catturando sulla intefaccia lo, cliccare
sul file testemail.txt
contenente l'email
- 15. qual'è il valore della intestazione ETag della risposta HTTP?
- 16. cosa indica l'Header Content-Type,
sempre della risposta HTTP?
- 17. cosa significa l'Header Connection: Keep-Alive ?
- 18. si vedono le lettere accentate? e se clicco sull'altro
file (testemail-15.txt),
si vedono?
Configurazione del MIME Type per la corretta gestione della email
Come illustrato nelle esercitazioni,
il server Apache assegna l'header Content-Type
in base alle estensioni di file definite in /etc/mime.types. Sapendo che il
Mime-Type per le email, è message/rfc822,
- 19. cercare in /etc/mime.types
l'estensione da attribuire alle email salvate
in modo che Apache le associ al Mime-Type
corretto, e modificare coerentemente l'estensione (al posto di txt) usata per i nostri nuovi
files. Poi, impartire il comando touch /home/labsoftel/public_html/testemail*,
in modo da aggiornarne la data. Inoltre, chiudere e riaprire firefox.
Quindi, tenendo aperto wireshark
e catturando sulla intefaccia lo, cliccare
sul file http://127.0.0.1/labsoftel/testemail.??? contenente
l'email.
- 20. qual'è ora, il valore della intestazione ETag della risposta HTTP?
- 21. cosa indica ora l'Header Content-Type?
Quel che manca ora, è di poter visualizzare l'email mediante un
lettore di email, anzichè mediante l'editor di testo. A questo
scopo, scarichiamo mediante Synaptic
il package mozilla-thunderbird,
e visitiamo di nuovo il link http://127.0.0.1/labsoftel/testemail.???. Quando il
browser ci chiede con cosa aprirlo, rispondiamo dunque /usr/bin/mozilla-thunderbird.
- 22. che formato di email osservamo ora (dentro thunderbird) ?
- 23. l'imagine allegata è visibile/scaricabile ?
- 24. le lettere accentate sono visibili?
Proviamo a modificare View/Message
body as (HTML/Plain Text) e Display
attachments inline (on/off),
provando l'uno o l'altro file, finchè non siamo in grado di
salvare l'immagine sul desktop, e di vedere le accentate.
- 25. che configurazione abbiamo usato per vedere le accentate?
- 26. che configurazione abbiamo usato, per riuscire a salvare
l'immagine ?
Un tentativo di CGI per spedire un file per email
E' stato predisposto un modulo di invio file.
- qual'è l'effetto dell'attributo method="post" dell'elemento form?
- qual'è l'effetto dell'attributo enctype="multipart/form-data"
dell'elemento form?
Salvare il file html
contenente il modulo (visualizza
sorgente + salva con nome), nella propria directory public_html, assieme al file
contenente il foglio di stile. Quindi,
modifichiamoli.
- aprire inviofiles.html
nell'editor di testo, e modificare il path al foglio di stile
- cambiare la action, modificandola in secondocgi.cgi
- copiare secondocgi.cgi
dal link riportato sopra, alla propria directory public_html. Assicurarsi che i
permessi del file siano corretti, come indicato nelle esercitazioni
- visitare http://127.0.0.1/labsoftel/inviofiles.html,
inserire dei dati (scegliere un file piccolo :-)), e cliccare su invia
- 27. copiare ed incollare l'output prodotto da secondocgi.cgi
Applicazione di un foglio di stile alla pagina
Scaricare con Synaptic
l'editor HTML nvu, con questo
aprire il file /home/labsoftel/public_html/inviofiles.html,
e quindi attivare tools/css editor.
- apriamo il css della
pagina (in alto a sinistra), e selezioniamo l'elemento table.pre. Di questo, possiamo
provare a cambiare colore dello sfondo (background) e del bordo.
- aprendo invece td.pre,
possiamo ad es modificare la dimensione del testo dentro al riquadro (text/font size)
- proviamo quindi, a definire uno stile per l'elemento h1:
occorre
- selezionare Rule,
quindi stile applicato a tutti gli
elementi del tipo, ed inserire il nome dell'elemento, ossia h1, e quindi selezionare crea stile.
- a questo punto, dalla linguetta text, possiamo variare ad es. il font size (es x-large) ed il font weight (es bold), dalla
linguetta background possiamo
cambiare colore ed opacità, e dalla linguetta box, possiamo ad es modificare il padding
- al termine, salvare
- 28. allegare alla email il foglio di stile così realizzato