Laboratorio Wireshark: TCP

Похожие документы
Il protocollo TCP. Obiettivo. Procedura

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

File, Modifica, Visualizza, Strumenti, Messaggio

Come configurare una casella di posta su Outlook Express

I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D

GUIDA AL SITO DELLE RIPARAZIONI BARWARE SOMMARIO

A cura del Prof. Pasquale Vastola. Iscrizione alla piattaforma virtuale MOODLE FASE 1. 1) Accedere al seguente indirizzo internet :

Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

1. ACCESSO AL DATABASE

Dispositivo Firma Digitale

Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

Proteggiamo il PC con il Firewall di Windows Vista

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Guida informatica per l associazione #IDEA

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo.

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

Guida in linea di Websense Secure Messaging

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

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

Servizio Feed RSS del sito CNIT

Procedura di iscrizione alla Piattaforma On Line

Come creare una connessione VPN e accedere al server con Windows7 (o similari)

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Reti di Telecomunicazione Lezione 8

L amministratore di dominio

1 Riconoscimento del soggetto richiedente da parte del sistema

UTILIZZO REGISTRO ELETTRONICO

Word processor funzione Stampa Unione

FtpZone Guida all uso

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

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

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

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Configurazione di Microsoft Outlook 2007

Visual basic base Lezione 01. L'ambiente di sviluppo

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

La posta elettronica (mail)

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

LEZIONE 6. Sommario LEZIONE 6 CORSO DI COMPUTER PER SOCI CURIOSI

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

GUIDA UTENTE MONEY TRANSFER MANAGER

Innanzitutto, esistono diversi modi per realizzare una rete o più reti messe insieme; vi illustro la mia soluzione :

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.


Guida alla registrazione on-line di un DataLogger

FtpZone Guida all uso Versione 2.1

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

COME RIOTTENERE L ACCESSO ALLA CASELLA PEC DI ARUBA

Registratori di Cassa

IL MIO PRIMO SITO: NEWS

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

ELENCO CLIENTI FORNITORI Patch1

LIFE ECOMMERCE OFF LINE Istruzioni per l uso

Manuale d uso Manutenzione impianti termici Ver [05/01/2015]

CERTIFICATI DIGITALI. Manuale Utente

- Il sito dedicato alle associazioni no-profit di Milano e provincia

Gestione della Connessione in TCP

Provincia di Livorno

Guida Microsoft Outlook Express, Creare e configurare l'account su dominio PEC generico

CREAZIONE E INVIO OFFERTA DI APPALTO DA FORNITORE

INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

FPf per Windows 3.1. Guida all uso

Client - Server. Client Web: il BROWSER

Configurazione account di posta elettronica certificata per Microsoft Outlook Express

Provincia di Siena UFFICIO TURISMO. Invio telematico della comunicazione dei prezzi e dei servizi: istruzioni per l uso

Guida Microsoft Outlook Express, Creare e configurare l'account su proprio dominio PEC

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Windows 2000, Windows XP e Windows Server 2003

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

TUTORIAL REGISTRO ELETTRONICO NUVOLA

Transmission Control Protocol

Portale Servizi Online Sogetras versione del 08/10/2010 Pagina 1 di 18

Procedura di aggiornamento del firmware Display Remoto IntellyGreenPV

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

Installazione di Zelio Soft 2 su Microsoft Windows Vista

INSTALLAZIONE JOOMLA

TUTORIAL PUBBLICARE e INVIARE CIRCOLARI (v 1.5) -- PRIMA FASE -- PUBBLICAZIONE DI UNA CIRCOLARE (e suoi eventuali allegati)

CINEMA 4D RELEASE 10. Guida per l Installazione 3D FOR THE REAL WORLD

Accise Settore Prodotti Alcolici Manuale d uso

MySidel application portal

TUTORIAL PER UTILIZZO CATALOGO RICAMBI WEB

DOCUMENTAZIONE POISSON

Guida all uso di Java Diagrammi ER

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

Configurazione gestore di posta elettronica Configurazione OUTLOOK EXPRESS POP3

Транскрипт:

Laboratorio Wireshark: TCP Versione 6.0 italiano 2005-2012 J.F. Kurose, K. W. Ross. All rights reserved. Traduzione italiana di G. Amato. Modifiche e adattamenti per il CLEII di G. Amato. In questo laboratorio esamineremo in dettaglio il funzionamento del protocollo TCP. Lo faremo analizzando una traccia dei segmenti TCP inviati e ricevuti durante il trasferimento di un file di 150KB (contenente il testo di Alice nel Paese delle Meraviglie di Lewis Carrol) dal vostro computer a un server remoto. Studieremo l'uso che fa TCP dei numeri di sequenza e riscontro per fornire un trasferimento affidabile dei dati; vedremo in azione gli algoritmi di controllo della congestione TCP, partenza lenta e congestion avoidance; esamineremo il meccanismo di controllo di flusso di TCP. Considereremo anche brevemente l'instaurazione della connessione TCP e investigheremo sulle prestazioni (throughput e round-trip time) della connessione TCP tra il vostro computer e il server. Prima di iniziare il laboratorio, è consigliabile riguardare le Sezioni 3.5 e 3.7 del libro di testo. 1 Cattura del trasferimento TCP Prima di iniziare la nostra esplorazione di TCP, avremo bisogno di usare Wireshark per ottenere un traccia del trasferimento TCP di un file dal vostro computer a un server remoto. Lo farete accedendo a una pagina Web che consente di trasferire al server un file memorizzato nel computer locale (che contiene il testo in ASCII di Alice nel Paese delle Meraviglie) usando il metodo HTTP POST (vedi Sezione 2.2.3 nel libro di testo). Usiamo il metodo POST anziché GET in quanto il file da trasferire è particolarmente grande. Naturalmente, eseguiremo Wireshark durante il trasferimento in modo da ottenere la traccia dei segmenti TCP inviati e ricevuti dal computer. ATTENZIONE!! Se state seguendo queste istruzioni dall'aula informatica, rimpiazzate tutte le occorrenze di gaia.cs.umass.edu con goemon. Fate quanto segue: Fate partire il browser, andate all'indirizzo http://gaia.cs.umass.edu/wireshark-labs/alice.txt e scaricate una copia ASCII di Alice nel Paese delle Meraviglie. Memorizzate questo file da qualche parte nel vostro computer locale. Andate su http://gaia.cs.umass.edu/wireshark-labs/tcp-wireshark-file1.html. Dovreste vedere una schermata come questa: 1 Tutti i riferimenti al libro di testo riguardano la 4^ edizione italiana.

Usate il pulsante Browse presente in questa form per cercare il nome del file che avete salvato al primo punto. Non premete ancora il pulsante Upload alice.txt file. Lanciate Wireshark ed iniziate la cattura dei pacchetti. Ritornate al browser, e premete il pulsante Upload alice.txt file per spedire il file al server gaia.cs.umass.edu. Una volta che il file è stato caricato, comparirà un breve messaggio di congratulazioni nella finestra del vostro browser. Interrompete la cattura dei pacchetti. Se non siete in grado di eseguire Wireshark su una connessione dal vivo, potete scaricare un file contenente una traccia di pacchetti, catturati seguendo i passi di cui sopra da uno dei computer degli autori 2. Potreste trovare utile scaricare comunque questa traccia anche se siete riusciti ad ottenere la vostra, e usare questa assieme alla vostra quando dovrete rispondere alle domande qui sotto. Un primo sguardo alla traccia catturata Prima di analizzare il comportamento della connessione TCP in dettaglio, impostiamo una visualizzazione della traccia ad alto livello. Dapprima, filtriamo i pacchetti visualizzati nella finestra di Wireshark immettendo tcp (minuscolo, senza virgolette, e non dimenticate di premere invio dopo l'immissione!) nella finestra di specifica del filtro in cima alla finestra Wireshark. In aula informatica, vi sono varie applicazioni sempre in esecuzione che scambiano pacchetti TCP con il resto del mondo. Per evitare di essere confusi dai dati scambiati da queste applicazioni, inserire tcp.port==80 nel campo del filtro, invece di tcp. In questo modo, verranno visualizzati solo i pacchetti TCP diretti a (o provenienti dalla) porta 80 (quella del web). La vostra finestra Wireshark dovrebbe essere simile a questa: 2 Scaricare il file http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip ed estraete il file tcp-ethereal-trace-1. Le tracce in questo file zip sono state raccolte da Wireshark in esecuzione su uno dei computer degli autori, eseguendo i passi indicati qui sopra. Una volta scaricata la traccia, la potete caricare ed esaminare in Wireshark usando il menù a discesa File, scegliendo Open, e selezionando il file tcp-ethereal-trace-1.

Quello che dovreste vedere è una serie di messaggi TCP e HTTP scambiati tra il vostro computer e gaia.cs.umass.edu. Dovreste vedere l'handshake a tre vie iniziale contenente un messaggio SYN. Subito dopo, dovrebbe esserci un segmento TCP che trasporta l'inizio del messaggio HTTP (ovvero il comando POST... controllate nella finestra più in basso, quella con il contenuto in esadecimale ed ASCII dei pacchetti). A seconda della versione di Wireshark che state usando, potreste vedere una serie di messaggi HTTP Continuation inviati dal vostro computer a gaia.cs.umass.edu. Ricordate dalla nostra discussione nel laboratorio di Wireshark su HTTP che non esiste un messaggi HTTP Continuation questo è solo il modo che usare Wireshark per indicare che ci sono molteplici segmenti TCP usati per trasportare lo stesso messaggio HTTP. Nelle versioni più recenti di Wireshark, vedrete invece la scritta [TCP segment of a reassembled PDU] nella colonna Info della lista di pacchetti per indicare che quel pacchetto TCP contiene dati che appartengono a un messaggio di un protocollo di livello superiore (nel nostro caso HTTP). Dovreste anche vedere i segmenti TCP ACK restituiti da gaia.cs.umass.edu al vostro computer. Verso la fine dell'elenco, in corrispondenza del pacchetto che trasferisce l'ultima parte di Alice nel Paese delle Meraviglia, Wireshark dovrebbe accorgersi che il messaggio HTTP è completo e mostrare una riga con tale protocollo. Rispondete alle seguenti domande, usando la traccia di pacchetti tcp-etherealtrace-1 in http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip (ovvero, scaricate e aprite la traccia in Wireshark; vedere nota 2 a piè di pagina). Dove possibile, quando rispondete ad una domanda, dovreste consegnare la stampa del/dei pacchetti, all'interno della traccia, che avete usato per rispondere alla domanda. Annotate la stampa per spiegare la risposta. Per stampare un pacchetto usate File Print, scegliete Selected packet only, scegliete Packet summary line e selezionate la minima quantità di dettagli di cui avete bisogna per rispondere alla domanda.

1. Qual è l'indirizzo IP e la porta TCP usata dal client (sorgente) che sta trasferendo il file a gaia.cs.umass.edu? 2. Qual è l'indirizzo IP di gaia.cs.umass.edu? Da quale porta sta spedendo e ricevendo i segmenti TCP per questa connessione? Se siete stati in grado di creare la vostra traccia, rispondete alla seguente domanda: 3. Qual è l'indirizzo IP e la porta TCP usata dal vostro client (sorgente) per trasferire il file a gaia.cs.umass.edu? Poiché questo laboratorio è su TCP piuttosto che HTTP, cambiamo la maniera con cui Wireshark visualizza l'elenco dei pacchetti, in modo che mostri le informazioni sui segmenti TCP contenenti messaggi HTTP piuttosto che sui messaggi HTTP. Per far ciò, selezionare il menù Analyze Enabled Protocols. Togliere il segno di spunta da HTTP e selezionare OK. Ora dovreste vedere un output come quello che segue, senza HTTP Continuation, [TCP segment of a reassembled PDU] e senza messaggi HTTP. Questo è quello che stiamo cercando una serie di segmenti TCP tra il vostro computer e gaia.cs.umass.edu. Nel resto di questo laboratorio useremo la traccia di pacchetti che avete catturato (e/o la traccia tcp-ethereal-trace-1 in http://gaia.cs.umass.edu/wireshark-labs/wiresharktraces.zip; vedi nota precedente) per studiare il comprtamento di TCP. Fondamenti di TCP Rispondete alle seguenti domande sui segmenti TCP: 4. Qual è il numero di sequenza del segmento TCP SYN che è utilizzato per inizializzare la connessione TCP tra il computer client e gaia.cs.umass.edu? Cosa è che identifica quel

segmento come un segmento SYN? Nota. Attenzione che il numero di sequenza visualizzato da Wireshark non è il vero numero di sequenza del pacchetto TCP, ma la differenza tra il numero di sequenza del pacchetto e il numero di sequenza iniziale della connessione... per sapere il vero numero di sequenza, cliccare sul campo Sequence number nel dettaglio pacchetti, e controllare il numero evidenziato nella finestra con l'output in esadecimale. 5. Qual è il numero di sequenza del segmento SINACK inviato da gaia.cs.umass.edu al computer client come risposta al segmento SYN? Qual è il valore del campo ACK nel segmento SYNACK? Come è stato determinato questo valore? Cosa identifica questo segmento come un segmento SYNACK? Nota. Vale per il valore di acknowledgment quello già detto per il numero di sequenza. 6. Qual è il numero di sequenza TCP del segmento contenente il comando HTTP POST? Notate che, per trovare il comando POST, dovete controllare la finestra con il contenuto esadecimale, alla ricerca di un segmento con la scritta POST. 7. Considerate il segmento TCP contenente il comando HTTP POST come il primo segmento nella connessione TCP. Quali sono i numeri di sequenza dei primi 6 segmenti nella connessione TCP (incluso il segmento contenente il comando HTTP POST)? In che momento è stato inviato ognuno di questi segmenti? Quando sono stati ricevuti gli ACK corrispondenti? Date le differenze tra quando un segmento TCP è stato inviato, e quando il suo ACK è stato ricevuto, qual è il valore di RTT per ognuno dei sei segmenti? Qual è il valore di EstimatedRTT (vedi pag. 223 del libro di testo) dopo la ricevuta di ogni ACK. Assumete che il valore di EstimatedRTT per il primo segmento sia uguale al valore misurato di RTT, e calcolate il valore per gli altri segmenti con la formula a pag. 226. Nota. Wireshark ha una funzionalità interessante che consente di disegnare l'rtt di ogni segmento TCP inviato. Seleziona un segmento TCP, inviato dal client al server, dalla lista dei pacchetti catturati. Quindi seleziona: Statistics TCP Stream Graph Round Trip Time Graph. 8. Qual è la lunghezza di ognuno dei primi sei segmenti TCP? 3 9. Qual è il minimo ammontare di buffer disponibile pubblicizzato dal ricevente per l'intera traccia? Accade mai che la mancanza di spazio nel buffer ricevente rallenti la trasmissione? 10. Ci sono dei segmenti ritrasmessi nella traccia? Cosa avete controllato per rispondere a questa domanda? 11. Quanti dati riscontra il ricevente di solito con un singolo ACK? Potete riconoscere dei casi in cui il ricevente manda un solo ACK cumulativo per due o più segmenti? (vedi Tabella 3.2 alla pagina 234 del libro di testo). 12. Qual è il throughput (byte trasferiti per unità di tempo) per questa connessione? Spiegate come avete calcolato il valore. 3 I segmenti TCP nel file tcp-ethereal-trace-1 sono tutti più piccoli di 1460 byte. Questo accade perché il computer sul quale questa traccia è stata ottenuta ha una interfaccia Ethernet, che limita la lunghezza dei pacchetti IP a 1500 byte (40 byte per l'intestazione TCP/IP e 1460 byte di dati). Questo valore di 1500 byte è la massima lunghezza consentita da Ethernet. Se la vostra traccia indica una lunghezza TCP superiore a 1500, e il vostro computer sta usando una connessione Ethernet, allora Wireshark sta restituendo una dimensione errata; probabilmente a questo punto mostrerà anche un unico grosso segmento TCP invece che molti segmenti TCP più piccoli. Al contrario, il vostro computer probabilmente sta spedendo molti pacchetti piccoli, come indicato dagli ACK che ricevete. Questa inconsistenza è dovuta all'interazione tra i driver della scheda Ethernet e il software Wireshark. Nel caso si verifichi questa inconsistenza, raccomandiamo che portiate avanti il laboratorio usando il file di traccia fornito dagli autori del libro.

Controllo della congestione in azione Consideriamo ora la quantità di dati che vengono spediti per unità di tempo dal client al server. Piuttosto che calcolare (cosa molto noiosa) questi valori dai dati nella finestra Wireshark, useremo una delle funzionalità grafiche di Wireshark Time-Sequence-Graph(Stevens) per ottenere un grafico dai dati. Selezionate un segmento TCP nell'elenco dei pacchetti catturati. Quindi, selezionate il menù Statistics TCP Stream Graph Time-Sequence- Graph(Stevens). Dovreste vedere un grafico simile al seguente, che è stato creato dai pacchetti catturati con la traccia tcp-ethereal-1 in http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip (vedi nota 2 a piè di pagina): Nel grafico, ogni punto rappresenta un segmento TCP, posto all'incrocio tra il suo numero di sequenza e il momento dall'inizio della connessione in cui è stato spedito. Notare che una serie di punti posizionati uno sapro l'altro rappresenta una serie di pacchetti che sono stati spediti uno dopo l'altro dal client. Rispondete alle seguenti domande, usando la traccia di pacchetti tcp-etherealtrace-1 in http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip. 13. Usa il tool grafico Time-Sequence-Graph(Stevens) per visualizzare il grafico dei segmenti TCP spediti dal client al server gaia.cs.umass.edu, visualizzati sulla base del numero di sequenza e del tempo di spedizione. Potete identificare i punti dove inizia e finisce la fase di partenza lenta, e dove entra in azione il meccanismo di congestion avoidance? Commentare circa il modo in cui i valori misurati differiscono dal quelli ideali del comportamento TCP

che abbiamo studiato nel libro di testo. 14. Rispondete alle domande qui sopra usando la traccia di pacchetti che avete catturato voi stessi.