Reti di Comunicazione e Internet - Belluzzi-Fioravanti · Reti di Comunicazione e Internet...

32
Reti di Comunicazione e Internet Laboratorio 6. Wireshark e Protocolli Applicativi Politecnico di Milano Dipartimento di Elettronica e Informazione

Transcript of Reti di Comunicazione e Internet - Belluzzi-Fioravanti · Reti di Comunicazione e Internet...

Reti di Comunicazione e Internet

Laboratorio 6. Wireshark e Protocolli Applicativi

Politecnico di Milano

Dipartimento di Elettronica e Informazione

Reti di Comunicazione e Internet

2 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda della lezione

Wireshark

Protocolli applicativi:

File Transfer Protocol (FTP)

Simple Mail Transfer Protocol (SMTP)

Post Office Protocol (POP)

Reti di Comunicazione e Internet

3 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda: Wireshark

Laboratorio 6. Protocolli Applicativi e Wireshark

Reti di Comunicazione e Internet

4 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Packet sniffing

I pacchetti seguono normalmente il loro percorso nel nodo (routing, filtraggio, forwarding), ma vengono “osservati” da un tool di sniffing

I pacchetti sono visualizzati completamente dal tool di sniffing, con gli header di tutti i livelli ed il payload

È possibile compiere elaborazioni di vario tipo sui pacchetti, per raccogliere statistiche, ottenere informazioni....

Reti di Comunicazione e Internet

5 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Wireshark

È uno dei tool più comodi per sniffare pacchetti in rete

Contiene strumenti avanzati di analisi e filtraggio

È un tool multipiattaforma (Window, Linux, Mac) ed è liberamente scaricabile: http://www.wireshark.org/

Necessita dei permessi di root/Administrator per poter effettuare delle catture di pacchetti

Nella versione senza permessi, può però essere usato per analizzare catture già effettuate

Reti di Comunicazione e Internet

6 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Interfaccia di Wireshark

Reti di Comunicazione e Internet

7 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Alcune funzionalità utili

Filtri sui pacchetti: permette di creare filtri per vedere solo determinati pacchetti. Il filtraggio si può fare in base ai diversi campi degli header, o ai diversi protocolli

Follow TCP Stream: è possibile, selezionando un pacchetto TCP, chiedere a Wireshark di seguire il flusso TCP, concatenando i pacchetti e mostrando solo i payload. (ad es., seguite un flusso HTTP...)

Analisi degli Header: è possibile, per ogni pacchetto, effettuare analisi dettagliate degli header, aprendoli e vedendone il contenuto in formato esadecimale e formattato dalla GUI

Statistiche: è possibile ottenere delle statistiche sui flussi e diagrammi temporali

Reti di Comunicazione e Internet

8 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Filtri sui pacchetti e Follow TCP stream

Reti di Comunicazione e Internet

9 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Analisi degli header

Reti di Comunicazione e Internet

10 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Statistiche

Reti di Comunicazione e Internet

11 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Esercizi 1/2

Sul sito web del corso si trovano delle catture già fatte, analizzabili con

Wireshark, aprirle e verificare gli scambi di pacchetti dei vari protocolli:

HTTP, FTP, POP, SMTP

Cattura HTTP 1:

Quali client sono stati impiegati? Quante richieste di pagine web sono state fatte?

In tutti i casi è possibile visualizzare la pagina completa di tutte le parti?

Catttura HTTP 2:

Qual è lo Username e la password di accesso alla zona riservata del sito?

Che errore c'è nella struttura del sito web? (suggerimento: il web server risponde

negativamente ad una richiesta...)

Cattura FTP:

A che porta del server il client si è connesso per ricevere il file server.png?

Reti di Comunicazione e Internet

12 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Esercizi 2/2

Cattura POP 1:

Che client di posta è stato usato per inviare la mail?

Cattura POP 2:

Che tipo di encoding è usato per l'allegato?

Catture SMTP:

Che differenza c'è tra la cattura SMTP 1 e 2?

Reti di Comunicazione e Internet

13 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda: Protocolli applicativi

Laboratorio 6. Protocolli Applicativi e Wireshark

Reti di Comunicazione e Internet

14 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

HTTP

FTP

SMTP

POP3

Protocolli Applicativi

Reti di Comunicazione e Internet

15 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda: File Transfer Protocol

Laboratorio 6. Protocolli Applicativi e Wireshark

Reti di Comunicazione e Internet

16 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Il File Transfer Protocol (FTP) è un protocollo di condivisione e trasmissione di file tra host

RFC 959

Protocollo Client-Server

Completamente testuale

Opera direttamente sul filesystem del sistema

Connessione di controllo: porta 21

Generalità

Reti di Comunicazione e Internet

17 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Comandi necessari a comunicare via FTP:

Comandi FTP (1)

Connessione al server sulla porta 21 (connessione di controllo):

myhost$ telnet 192.168.0.98 21

Autenticazione:

USER <nomeutente>

PASS <password>

QUIT

Lista più completa di comandi: http://www.nsftools.com/tips/RawFTP.htm

HELP

STAT < NULL | nome_file>

SYST

Informazioni:

Reti di Comunicazione e Internet

18 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Comandi FTP (2) Movimenti:

PWD

CWD

LIST

QUIT

* IP del client a cui connettersi: a1.a2.a3.a4 - PORT a cui connettersi: p1*256 + p2

MODE <Stream | Block |Compressed>

PASV

PORT a1, a2, a3, a4, p1, p2 *

Setup:

Manipolazione:

RETR

STOR

DELE

Modalità di impiego:

●Protocollo con 2 connessioni (2 telnet)

●I comandi vengono dati su connessione di controllo

●I trasferimenti avvengono sulla connessione dati

Reti di Comunicazione e Internet

19 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Sessione d’esempio

$ telnet 192.168.0.98 21

USER Anonymous

PASS

PASV

227 Entering Passive Mode

(192,168,0,98,46,204)

CWD /data $telnet 192.168.0.98 11980

Shell 1 Shell 2

Server

46*256+204 = 11980

LIST -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

PASV

227 Entering Passive Mode

(192,168,0,98,420,21)

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

[...]

$telnet 192.168.0.98 107541

RETR gpl.txt

Reti di Comunicazione e Internet

20 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

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”)

Esercizi

Reti di Comunicazione e Internet

21 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda: Simple Mail Transfer Protocol

Laboratorio 6. Protocolli Applicativi e Wireshark

Reti di Comunicazione e Internet

22 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Il Simple Mail Transfer Protocol (SMTP) è un protocollo di trasmissione di email

RFC 821 – Specifica base

Protocollo testuale

Inizialmente permetteva solo il trasferimento ASCII, è stato successivamente esteso per trasmettere informazioni binarie (estensione MIME, 8BITMIME,...)

Utilizza la porta 25

SMTP originariamente non prevede autenticazione:

SMTP-AUTH / Internet Mail 2000

IETF Anti-Spam Research Group

Generalità (1)

Reti di Comunicazione e Internet

23 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Generalità (2)

Sender Domain Receiver Domain

Relaying SMTP Destination SMTP

SENDER RECEIVER

Reti di Comunicazione e Internet

24 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Voglio inviare una mail ad un amico del dominio receivers.com

1) Mi connetto al server SMTP del dominio receivers.com

2) Dichiaro (nel mittente della mail) il dominio da cui scrivo: senders.com

3) Scrivo la mail e la deposito nella “cartella” di [email protected]

Non mi è stato chiesto USER o PASS!!! (no autenticazione)

I gestori del dominio receivers.com tuttavia 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 destinatario al posto nostro (gestendo il caso di server occupato, momenti di down,...)

Generalità (3)

Reti di Comunicazione e Internet

25 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Comandi di uso comune:

Comandi SMTP

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

Reti di Comunicazione e Internet

26 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

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:<[email protected]>

250 2.1.0 Ok

RCPT TO:<[email protected]>

250 2.1.5 Ok

DATA

354 End data with <CR><LF>.<CR><LF>

Subject: Verifica SMTP

From: [email protected]

To: [email protected]

Buongiorno

Questa mail serve a dimostrare che ho imparato SMTP.

.

250 2.0.0 Ok: queued as F41CC9F6EE

QUIT

221 2.0.0 Bye

Reti di Comunicazione e Internet

27 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Inviare una mail da un mittente falso ([email protected]) 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 mittenti e subject diversi (serve per un esercizio successivo)

[A CASA] provare a mandare delle mail al proprio indirizzo email da [email protected]

Esercizi

Reti di Comunicazione e Internet

28 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Agenda: Post Office Protocol

Laboratorio 6. Protocolli Applicativi e Wireshark

Reti di Comunicazione e Internet

29 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Il Post Office Protocol (detto anche POP) è un protocollo di accesso alla mailbox

RFC 1939

Protocollo testuale

Protocollo con Autenticazione

Utilizza la porta 110

Non è cifrato, per cui user e password passano in chiaro

Generalità

Reti di Comunicazione e Internet

30 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Comandi

Login in chiaro:

USER <username>

PASS <password>

●STAT

info sullo stato mbox

●LIST

elenca il # messaggi

●RETR n

leggi messaggio n

●DELE n

cancella messaggio n

●RSET

annulla cancellazioni

●QUIT

esce

●TOP n

mostra gli header della mail

Operazioni comuni:

-ERR

+OK

Risposte del server:

Reti di Comunicazione e Internet

31 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

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: <[email protected]>

X-Original-To: [email protected]

Delivered-To: [email protected]

Received: from studente.it (ip254 [192.168.0.254])

by www.labrci.lan (Postfix) with SMTP id F41CC9F6EE

for <[email protected]>; Wed, 26 Mar 2008 13:09:43 +0100 (CET)

Message-Id: <[email protected]>

Date: Wed, 26 Mar 2008 13:09:43 +0100 (CET)

From: [email protected]

To: undisclosed-recipients:;

Subject: Verifica SMTP

From: [email protected]

To: [email protected]

Buongiorno

Questa mail serve a dimostrare che ho imparato SMTP.

.

DELE 1 +OK Marked to be deleted.

QUIT +OK Logging out, messages deleted.

Reti di Comunicazione e Internet

32 21/1/2013

Lab 6: Wireshark e Protocolli Applicativi

Collegarsi al server POP della LAN dell'aula (l'IP è lo stesso dell'SMTP server, comunicato a lezione)

Username labrci<numeroPC>, password labrci<numeroPC>

Scaricare la mail precedentemente inviata dall'indirizzo [email protected]

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, definitivamente

Esercizi