Politecnico di Milano Re# di Comunicazione e Internet



Documenti analoghi
Reti di Comunicazione e Internet

Re# di Comunicazione e Internet

Infrastrutture e Protocolli per Internet Laboratorio 1

Infrastrutture e Protocolli per Internet Laboratorio 1

Reti di Telecomunicazione Lezione 7

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Protocolli applicativi: FTP

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Teoria di un server di posta. Corso GNU/Linux Avanzato Torino,

TECN.PROG.SIST.INF. Livello APPLICAZIONE - TELNET. Roberta Gerboni

OSOR. Applicazioni di Rete

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Parte II: Reti di calcolatori Lezione 9

Reti di Calcolatori PROTOCOLLO FTP

Network Troubleshooting 101

Reti di Calcolatori PROTOCOLLO FTP. File. File Transfer Protocol Modello FTP Operazioni FTP Comandi del protocollo Esempi di Client FTP avanzati

Web e HTTP. path name. host name Realizzato da Roberto Savino.

Reti di Calcolatori:

Telematica II 13. Posta Elettronica

Reti di Calcolatori. Il Livello delle Applicazioni

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Parte II: Reti di calcolatori Lezione 7

Modulo 1: Posta elettronica

Le Reti Informatiche

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont)

FTP. Appunti a cura del prof. ing. Mario Catalano

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

SMSPortal. SMS-Gateway interfaccia SMTP. Versione , 2005, 2006 SMSPortal. Digitel Mobile Srl Via Raffaello, Pescara (Italy)

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Architetture Web Protocolli di Comunicazione

url uniform resource locator

Sicurezza delle applicazioni web: protocollo HTTP

Reti di Telecomunicazione Lezione 6

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

appunti delle lezioni Architetture client/server: applicazioni client

Protocolli per le . Impianti Informatici. Protocolli applicativi

PROTOCOLLI APPLICATIVI PER INTERNET

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Il Protocollo HTTP e la programmazione di estensioni Web

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Dal protocollo IP ai livelli superiori

Lucidi a cura di Andrea Colombari, Carlo Drioli e Barbara Oliboni. Lezione 4

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it

Posta elettronica DEFINIZIONE

. SMTP, POP, IMAP. mail server. smtp [RFC 821] Tre componenti: user agent mail server simple mail transfer protocol: smtp

Vediamo un esempio di spedizione e ricezione di , puntualizzando i passaggi.

Il livello delle applicazioni. Si trattano qui i servizi proposti agli utenti dalle reti

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Mac Application Manager 1.3 (SOLO PER TIGER)

Realizzazione siti web. Protocolli Internet

Configurazione di Outlook Express

Il Livello delle Applicazioni

Introduzione alle applicazioni di rete

Posta Elettronica e Web

Reti di calcolatori. Reti di calcolatori

Software di gestione della stampante

I Principali Servizi del Protocollo Applicativo

LABORATORIO DI TELEMATICA

Guida all Utilizzo dell Applicazione Centralino

I protocolli di posta elettronica

10110 Reti di Calcolatori IL LIVELLO APPLICAZIONI: DNS, FTP

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Lezione n 1! Introduzione"

TCP/IP: INDIRIZZI IP SIMBOLICI

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale

Posta Elettronica. Comunicare con . Definizione di . metodo di trasmissione dei messaggi tramite Internet:


Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account

PORTALE CLIENTI Manuale utente

Standard di comunicazione

Client - Server. Client Web: il BROWSER

Programmazione in Rete

Livello Applicazione. Davide Quaglia. Motivazione

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

La posta elettronica. Informazioni di base sul funzionamento

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per

InitZero s.r.l. Via P. Calamandrei, Arezzo

Architetture Applicative Il Web

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Il Web Server e il protocollo HTTP

Bibliografia: Utenti e sessioni

HTTP adaptation layer per generico protocollo di scambio dati

Console di Amministrazione Centralizzata Guida Rapida

Esercitazioni - 2. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Registratori di Cassa

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

I SERVIZI DI INTERNET: . Prof. Luca Salvini L.S. Prof. Luca Salvini 1 6L97

Applicazioni web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications)

Servizio di backup dei dati mediante sincronizzazione

ftp://ftp.bluegold.it

il trasferimento di file

Transcript:

Politecnico di Milano Re# di Comunicazione e Internet Wireshark e Protocolli Applica1vi

Agenda della lezione Wireshark Protocolli applica1vi: Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) Hyper- Text Transfer Protocol (HTTP) File Transfer Protocol (FTP) 2

Wireshark e Protocolli Applicativi Agenda: Wireshark Laboratorio 5. Protocolli Applica1vi e Wireshark 3

Packet sniffing I pacchem seguono normalmente il loro percorso nel nodo (rou1ng, filtraggio, forwarding), ma vengono osserva1 da un tool di sniffing I pacchem sono visualizza1 completamente dal tool di sniffing, con gli header di tua i livelli ed il payload È possibile compiere elaborazioni di vario 1po sui pacchem, per raccogliere sta1s1che, ouenere informazioni... 4

Wireshark È uno dei tool più comodi per sniffare pacchem in rete Con1ene strumen1 avanza1 di analisi e filtraggio È un tool mul1piauaforma (Window, Linux, Mac) ed è liberamente scaricabile: hup://www.wireshark.org/ Necessita dei permessi di root/administrator per poter effeuuare delle cauure di pacchem Nella versione senza permessi, può però essere usato per analizzare cauure già effeuuate 5

Interfaccia di Wireshark 6

Alcune funzionalità u#li Filtri sui pacchea: permeue di creare filtri per vedere solo determina1 pacchem. Il filtraggio si può fare in base ai diversi campi degli header, o ai diversi protocolli Follow TCP Stream: è possibile, selezionando un paccheuo TCP, chiedere a Wireshark di seguire il flusso TCP, concatenando i pacchem e mostrando solo i payload. (ad es., seguite un flusso HTTP...) Analisi degli Header: è possibile, per ogni paccheuo, effeuuare analisi deuagliate degli header, aprendoli e vedendone il contenuto in formato esadecimale e formauato dalla GUI Sta#s#che: è possibile ouenere delle sta1s1che sui flussi e diagrammi temporali 7

Filtri sui pacchea e Follow TCP stream 8

Analisi degli header 9

Sta#s#che 10

Esercizi 1/2 Sul sito web del corso si trovano delle cauure già faue, analizzabili con Wireshark, aprirle e verificare gli scambi di pacchem dei vari protocolli: HTTP, FTP, POP, SMTP Ca-ura HTTP 1: Quali client sono sta1 impiega1? Quante richiesta di pagine web sono state faue? In tum i casi è possibile visualizzare la pagina completa di tuue le par1? Ca-tura HTTP 2: Qual è lo Username e la password di accesso alla zona riservata del sito? 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 1po di encoding è usato per l'allegato? Ca-ure SMTP: Che differenza c'è tra la cauura SMTP 1 e 2? 12

Wireshark e Protocolli Applicativi Agenda: Protocolli applica#vi Laboratorio 5. Protocolli Applica1vi e Wireshark 13

Protocolli Applica#vi HTTP FTP SMTP POP3 14

Wireshark e Protocolli Applicativi Connessione remota via ssh Laboratorio 5. Protocolli Applica1vi e Wireshark 15

Generalità Il protocollo SSH (Secure Shell) è un procollo per il login da remoto, l esecuzione di comandi da remoto e altri servizi su una macchina remota tramite canale sicuro (connessione criuografata) E l evoluzione di TELNET Ha subito una lunga evoluzione, descriuo da mol1 RFC Protocollo client- server, porta 22 Su alcuni OS è fornito di default dalla linea di comando digitando ssh, su altri (e.g., Windows) occorre un applicazione apposita (e.g., PuTTY) 16

Login remoto ConneMamoci alla macchina remota da cui eseguire le successive amvità Configurazione: indirizzo IP macchina remota: 131.175.123.236 username: userlab password: userlab $ ssh userlab@131.175.123.236 userlab@131.175.123.236's password: Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64) * Documentation: https://help.ubuntu.com/ You have mail. userlab@imdea-latitude-d630:~$ 17

Wireshark e Protocolli Applicativi Agenda: Simple Mail Transfer Protocol Laboratorio 5. Protocolli Applica1vi e Wireshark 18

Generalità (1) Il Simple Mail Transfer Protocol (SMTP) è un protocollo di trasmissione di email RFC 821 Specifica base Protocollo testuale Inizialmente permeueva solo il trasferimento ASCII, è stato successivamente esteso per trasmeuere informazioni binarie (estensione MIME, 8BITMIME,...) U1lizza la porta 25 SMTP originariamente non prevede auten1cazione: SMTP- AUTH / Internet Mail 2000 IETF An1- Spam Research Group 19

Generalità (2) Sender Domain Receiver Domain Relaying SMTP Destination SMTP SENDER RECEIVER 20

Generalità (3) Voglio inviare una mail ad un amico del dominio receivers.com 1) Mi conneuo al server SMTP del dominio receivers.com 2) Dichiaro (nel miuente 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 auten1cazione) I gestori del dominio receivers.com tuuavia 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 des1natario al posto nostro (gestendo il caso di server occupato, momen1 di down,...) 21

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 22

Sessione d esempio albertux@antlab101:~$ telnet localhost 25 220 localhost ESMTP Postfix (Debian/GNU) HELO studente.it 250 localhost MAIL FROM:<matr666999@studente.it> 250 2.1.0 Ok RCPT TO:<userlab@localhost> 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 23

Esercizi Inviare una mail da un miuente falso (pippo@disney.it) all'indirizzo email userlab@localhost Inviare, sempre allo stesso indirizzo mail, altre 2 mail usando miuen1 e subject diversi (serve per un esercizio successivo) [A CASA] provare a mandare delle mail al proprio indirizzo email da pippo@disney.it 24

Wireshark e Protocolli Applicativi Agenda: Post Office Protocol Laboratorio 5. Protocolli Applica1vi e Wireshark 25

Generalità Il Post Office Protocol (deuo anche POP) è un protocollo di accesso alla mailbox RFC 1939 Protocollo testuale Protocollo con Auten1cazione U1lizza la porta 110 Non è cifrato, per cui user e password passano in chiaro 26

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 27

Sessione d esempio albertux@antlab101:~$ telnet localhost 110 +OK Dovecot ready. USER userlab +OK PASS userlab +OK Logged in. LIST +OK 1 messages: 1 598. RETR 1 +OK 598 octets Return-Path: <matr666999@studente.it> X-Original-To: userlab@localhost Delivered-To: userlab@localhost Received: from studente.it (ip254 [192.168.0.254]) by localhost (Postfix) with SMTP id F41CC9F6EE for <labrci001@labrci.lan>; Wed, 26 Mar 2008 13:09:43 +0100 (CET) Message-Id: <20080326121008.F41CC9F6EE@localhost> 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. 28

Esercizi Collegarsi al server POP sulla macchina remota Scaricare le mail precedentemente inviate Con il comando TOP verificare gli header della mail Cancellare le mail inviate in precedenza Annullare la cancellazione con il comando RSET Cancellarle di nuovo, defini1vamente 29

Wireshark e Protocolli Applicativi Agenda: Hyper- Text Trasfer Protocol Protocolli Applica1vi e Wireshark 30

Generalità Protocollo fondamentale del World Wide Web (WWW) RFC 1945 (HTTP/1.0) RFC 2068 e RFC 2616 (HTTP/1.1) Protocollo Client- Server Completamente testuale Protocollo Stateless (ma il server può implementare tecniche per mantenere lo stato quali i cookies, le sessioni, campi nascosj nei form, URL redirecjon,...) U1lizza la Porta 80 31

Scambio di messaggi Il client invia una richiesta contenente un metodo al server Il server risponde alla richiesta 32

Richieste HTTP Le richieste sono composte da tre par1: Riga di richiesta (request line) Intestazione (header) Corpo del messaggio (body) 33

Header richieste HTTP 34

Risposte HTTP La struuura delle risposte è analoga a quella delle domande. La riga di richiesta prende il nome di Status Line. 35

Risposte HTTP: status codes Ripor1amo alcuni esempi 1pici di status code di HTTP L'elenco completo è definito nell'rfc 2616 ( h-p://www.w3.org/protocols/rfc2616/rfc2616- sec10.html ) 36

Sessione d esempio Ci connemamo al server web sulla porta 80 $ telnet localhost 80 Trying 127.0.0.0... Connected to 127.0.0.0. Escape character is '^]'. Richiediamo una pagina web (è necessaria una riga vuota alla fine della richiesta: dare 2 [INVIO] ) GET /testpage.html HTTP/1.0 La pagina viene scaricata e la connessione viene chiusa 37

Analisi della risposta HTTP/1.1 200 OK Date: Fri, 23 Jan 2015 10:15:43 GMT Server: Apache/2.4.7 (Ubuntu) Last-Modified: Thu, 22 Jan 2015 13:21:39 GMT ETag: "3fb-50d3d8d5a2fc2" Accept-Ranges: bytes Content-Length: 1019 Vary: Accept-Encoding Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title> RCI Test Page </title> <meta name="author" content="docente rci"/> <meta name="description" content="pagina di prova per lo studio del protocollo HTTP - Corso RCI"/> <link rel="stylesheet" type="text/css" href="style_rci.css"> </head> <body> <div class="striscione"> <div class="box"> Questa e' una pagina di prova per testare il protocollo HTTP.<br> Contiene del testo e delle immagini.<br> <br><br> </div> </body> </html> 38

Sessione d esempio È stata scaricata la pagina, ma non gli elemen1 non HTML che la compongono: in questo caso, mancano le immagini! Dal codice HTML leggiamo che si chiamano img/logo_poli_small.png e img/logo-antlab.png Ci connemamo ancora al server web $ telnet localhost 80 [...] Scarichiamo la prima immagine GET /img/logo_poli_small.png HTTP/1.0 (ovviamente l'immagine è un file binario, per cui comparirà a monitor un insieme di cara-eri) 39

HTTP: Keep Alive È possibile rendere persistente una connessione HTTP, in modo che tum i messaggi passino sulla stessa connessione! 40

Download HTTP/1.1 Scarichiamo una pagina usando HTTP/1.1 Ci connemamo al server web sulla porta 80 $ telnet localhost 80 [...] Richiediamo una pagina web GET /testpage.html HTTP/1.1 Usando HTTP/1.1, c'è un header obbligatorio (Host), che con1ene il nome del dominio Host: 131.175.123.236 41

(cont d) Download HTTP/1.1 La pagina viene scaricata, ma la connessione rimane aperta! Scarichiamo allora la prima immagine: GET /img/logo_poli_small.png HTTP/1.1 Host: : 131.175.123.236 Scarichiamo la seconda immagine, chiudendo la connessione: GET /img/logo-antlab.png HTTP/1.1 Host: : 131.175.123.236 Connection: Close La connessione ha un 1meout, scaduto il quale viene chiusa! 42

GET condizionato Per risparmiare banda, HTTP/1.1 prevede l'uso di GET condizionato: GET /testpage.html HTTP/1.1 Host: 131.175.123.236 If-Modified-Since: Thu, 22 Jan 2015 13:30:00 GMT Il server risponde col messaggio 200 OK e invia la pagina se essa è stata modificata dopo il 22/01/2015, altrimen1 risponde con un 304 Not- Modified: HTTP/1.1 304 Not Modified Date: Thu, 22 Jan 2015 13:30:00 GMT 43

Wireshark e Protocolli Applicativi Agenda: File Transfer Protocol Protocolli Applica1vi e Wireshark 44

Generalità Il File Transfer Protocol (FTP) è un protocollo di condivisione e trasmissione di file tra host RFC 959 Protocollo Client- Server Completamente testuale Opera direuamente sul filesystem del sistema Connessione di controllo: porta 21 45

Comandi FTP (1) Comandi necessari a comunicare via FTP: Connessione al server sulla porta 21 (connessione di controllo): myhost$ telnet ftp.elet.polimi.it 21 Auten1cazione: USER <nomeutente> PASS <password> QUIT Informazioni: HELP STAT < NULL nome_file> SYST Lista più completa di comandi: http://www.nsftools.com/tips/rawftp.htm 46

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 47

Sessione d esempio Shell 1 $ telnet ftp.elet.polimi.it 21 USER Anonymous PASS Server Shell 2 PASV 227 Entering Passive Mode (131,175,31,10,46,204) 46*256+204 = 11980 CWD outgoing/ilario.filippini $telnet 131.175.31.10 11980 LIST PASV 227 Entering Passive Mode (131,175,31,10,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 131.175.31.10 107541 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 [...] 48

Esercizi Loggarsi al server FTP xp.elet.polimi.it (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 #porta oppure nc - l - p #porta ) 49