Politecnico di Milano Dipar#mento di Ele8ronica e Informazione Re# di Comunicazione e Internet Laboratorio 5. Wireshark e Protocolli Applica5vi
Agenda della lezione Wireshark Protocolli applica5vi: File Transfer Protocol (FTP) Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) 2
Lab 5: Wireshark e Protocolli Applicativi Agenda: Wireshark Laboratorio 5. Protocolli Applica5vi e Wireshark 3
Packet sniffing I paccheo seguono normalmente il loro percorso nel nodo (rou5ng, filtraggio, forwarding), ma vengono osserva5 da un tool di sniffing I paccheo sono visualizza5 completamente dal tool di sniffing, con gli header di tue i livelli ed il payload È possibile compiere elaborazioni di vario 5po sui paccheo, per raccogliere sta5s5che, oxenere informazioni... 4
Wireshark È uno dei tool più comodi per sniffare paccheo in rete Con5ene strumen5 avanza5 di analisi e filtraggio È un tool mul5piaxaforma (Window, Linux, Mac) ed è liberamente scaricabile: hxp://www.wireshark.org/ Necessita dei permessi di root/administrator per poter effexuare delle caxure di paccheo Nella versione senza permessi, può però essere usato per analizzare caxure già effexuate 5
Interfaccia di Wireshark 6
Alcune funzionalità u#li Filtri sui pacchee: permexe di creare filtri per vedere solo determina5 paccheo. Il filtraggio si può fare in base ai diversi campi degli header, o ai diversi protocolli Follow TCP Stream: è possibile, selezionando un pacchexo TCP, chiedere a Wireshark di seguire il flusso TCP, concatenando i paccheo e mostrando solo i payload. (ad es., seguite un flusso HTTP...) Analisi degli Header: è possibile, per ogni pacchexo, effexuare analisi dexagliate degli header, aprendoli e vedendone il contenuto in formato esadecimale e formaxato dalla GUI Sta#s#che: è possibile oxenere delle sta5s5che sui flussi e diagrammi temporali 7
Filtri sui pacchee e Follow TCP stream 8
Analisi degli header 9
Sta#s#che 10
Esercizi 1/2 Sul sito web del corso si trovano delle caxure già faxe, analizzabili con Wireshark, aprirle e verificare gli scambi di paccheo dei vari protocolli: HTTP, FTP, POP, SMTP Ca-ura HTTP 1: Quali client sono sta5 impiega5? Quante richiesta di pagine web sono state faxe? In tuo i casi è possibile visualizzare la pagina completa di tuxe le par5? Ca-tura HTTP 2: Qual è lo Username e la password di accesso alla zona riservata del sito? Che errore c'è nella struxura del sito web? (suggerimento: il web server risponde nega=vamente ad una richiesta...) Ca-ura FTP: A che porta del server il client si è connesso per ricevere il file server.png? 11
Esercizi 2/2 Ca-ura POP 1: Che client di posta è stato usato per inviare la mail? Ca-ura POP 2: Che 5po di encoding è usato per l'allegato? Quan5 bit vengono usa5 per l'encoding? Ca-ure SMTP: Che differenza c'è tra la caxura SMTP 1 e 2? 12
Lab 5: Wireshark e Protocolli Applicativi Agenda: Protocolli applica#vi Laboratorio 5. Protocolli Applica5vi e Wireshark 13
Protocolli Applica#vi HTTP FTP SMTP POP3 14
Lab 5: Wireshark e Protocolli Applicativi Agenda: File Transfer Protocol Laboratorio 5. Protocolli Applica5vi e Wireshark 15
Generalità Il File Transfer Protocol (FTP) è un protocollo di condivisione e trasmissione di file tra host RFC 959 Protocollo Client- Server Completamente testuale Opera direxamente sul filesystem del sistema Connessione di controllo: porta 21 16
Comandi FTP (1) Comandi necessari a comunicare via FTP: Connessione al server sulla porta 21 (connessione di controllo): myhost$ telnet 192.168.0.98 21 Auten5cazione: Informazioni: USER <nomeutente> PASS <password> QUIT HELP STAT < NULL nome_file> SYST Lista più completa di comandi: http://www.nsftools.com/tips/rawftp.htm 17
Comandi FTP (2) PWD CWD LIST QUIT RETR STOR DELE Movimenti: Manipolazione: Setup: MODE <Stream Block Compressed> PASV PORT a1, a2, a3, a4, p1, p2 * Modalità di impiego: Protocollo con 2 connessioni (2 telnet) I comandi vengono dati su connessione di controllo I trasferimenti avvengono sulla connessione dati * IP del client a cui connettersi: a1.a2.a3.a4 - PORT a cui connettersi: p1*256 + p2 18
Sessione d esempio Shell 1 $ telnet 192.168.0.98 21 USER Anonymous PASS Server PASV 227 Entering Passive Mode Shell 2 46*256+204 = 11980 (192,168,0,98,46,204) CWD /data $telnet 192.168.0.98 11980 LIST PASV 227 Entering Passive Mode (192,168,0,98,420,21) RETR gpl.txt -rw-r--r-- 1 620 620 826322 Mar 26 13:03 gnome_is_people.png -rw-r--r-- 1 620 620 35147 Mar 26 13:03 gpl.txt $telnet 192.168.0.98 107541 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 [...] 19
Esercizi Loggarsi sul server FTP messo a disposizione in laboratorio (l'indirizzo di tale server verrà fornito durante il laboratorio USER anonymous, PASS <anything> ) Provare a scaricare un'immagine Provare l'altro metodo di connessione, PORT (con p1=128, p2= 204): funziona? (per aprire una porta TCP si può usare il tool netcat nel seguente modo: nc - l PORT oppure nc - l - p PORT ) 20
Lab 5: Wireshark e Protocolli Applicativi Agenda: Simple Mail Transfer Protocol Laboratorio 5. Protocolli Applica5vi e Wireshark 21
Generalità (1) Il Simple Mail Transfer Protocol (SMTP) è un protocollo di trasmissione di email RFC 821 Specifica base Protocollo testuale Inizialmente permexeva solo il trasferimento ASCII, è stato successivamente esteso per trasmexere informazioni binarie (estensione MIME, 8BITMIME,...) U5lizza la porta 25 SMTP originariamente non prevede auten5cazione: SMTP- AUTH / Internet Mail 2000 IETF An5- Spam Research Group 22
Generalità (2) Sender Domain Receiver Domain Relaying SMTP Destination SMTP SENDER RECEIVER 23
Generalità (3) Voglio inviare una mail ad un amico del dominio receivers.com 1) Mi connexo al server SMTP del dominio receivers.com 2) Dichiaro (nel mixente della mail) il dominio da cui scrivo: senders.com 3) Scrivo la mail e la deposito nella cartella di friend@receivers.com Non mi è stato chiesto USER o PASS!!! (no auten5cazione) I gestori del dominio receivers.com tuxavia possono operare alcuni controlli, ad esempio bannando degli indirizzi IP o loggando ogni accesso I provider offrono server SMTP che si occupano delle consegne alla mailbox del des5natario al posto nostro (gestendo il caso di server occupato, momen5 di down,...) 24
Comandi SMTP Comandi di uso comune: HELO <domain> MAIL FROM:<reverse-path> RCPT TO:<forward-path> DATA RSET VRFY <string> HELP [<string>] QUIT I comandi sono Case Insensitive, tranne nel reverse e forward path, che sono Sensitive 25
Sessione d esempio albertux@antlab101:~$ telnet 192.168.0.98 25 220 www.labrci.lan ESMTP Postfix (Debian/GNU) HELO studente.it 250 www.labrci.lan MAIL FROM:<matr666999@studente.it> 250 2.1.0 Ok RCPT TO:<labrci001@labrci.lan> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: Verifica SMTP From: matr666999@studente.it To: professore@labrci.it Buongiorno Questa mail serve a dimostrare che ho imparato SMTP.. 250 2.0.0 Ok: queued as F41CC9F6EE QUIT 221 2.0.0 Bye 26
Esercizi Inviare una mail da un mixente falso (pippo@disney.it) all'indirizzo email labrci<numeropc>@labrci.lan (l'ip del server SMTP verrà comunicato a lezione) (numeropc è di tre cifre, ad es: 001) Inviare, sempre allo stesso indirizzo mail, altre 2 mail usando mixen5 e subject diversi (serve per un esercizio successivo) [A CASA] provare a mandare delle mail al proprio indirizzo email da pippo@disney.it 27
Lab 5: Wireshark e Protocolli Applicativi Agenda: Post Office Protocol Laboratorio 5. Protocolli Applica5vi e Wireshark 28
Generalità Il Post Office Protocol (dexo anche POP) è un protocollo di accesso alla mailbox RFC 1939 Protocollo testuale Protocollo con Auten5cazione U5lizza la porta 110 Non è cifrato, per cui user e password passano in chiaro 29
Comandi Login in chiaro: USER <username> PASS <password> Risposte del server: -ERR +OK STAT info sullo stato mbox LIST elenca il # messaggi RETR n leggi messaggio n DELE n cancella messaggio n RSET annulla cancellazioni QUIT esce Operazioni comuni: CAPA mostra le capabilities del server 30
Sessione d esempio albertux@antlab101:~$ telnet 192.168.0.98 110 +OK Dovecot ready. USER labrci001 +OK PASS labrci001 +OK Logged in. LIST +OK 1 messages: 1 598. RETR 1 +OK 598 octets Return-Path: <matr666999@studente.it> X-Original-To: labrci001@labrci.lan Delivered-To: labrci001@labrci.lan Received: from studente.it (ip254 [192.168.0.254]) by www.labrci.lan (Postfix) with SMTP id F41CC9F6EE for <labrci001@labrci.lan>; Wed, 26 Mar 2008 13:09:43 +0100 (CET) Message-Id: <20080326121008.F41CC9F6EE@www.labrci.lan> Date: Wed, 26 Mar 2008 13:09:43 +0100 (CET) From: matr666999@studente.it To: undisclosed-recipients:; Subject: Verifica SMTP From: matr666999@studente.it To: professore@labrci.it Buongiorno Questa mail serve a dimostrare che ho imparato SMTP.. DELE 1 +OK Marked to be deleted. QUIT +OK Logging out, messages deleted. 31
Esercizi Collegarsi al server POP della LAN dell'aula (l'ip è lo stesso dell'smtp server, comunicato a lezione) Scaricare la mail precedentemente inviata dall'indirizzo pippo@disney.it Con il comando TOP verificare gli header della mail Cancellare le 3 mail inviate in precedenza Annullare la cancellazione con il comando RSET Cancellarle di nuovo, defini5vamente 32