Laboratorio
di Software per le Telecomunicazioni
Prima verifica - a.a. 2009-2010
La prova si divide in tre parti, di cui la prima, contiene domande a
carattere teorico, la seconda consiste nella analisi di un file di
cattura già pronto, e la terza nelle esecuzione di alcuni
comandi, e
nella cattura del traffico associato. Le risposte vanno fornite su carta.
Nome e Cognome
__________________________________________________________________
Prima parte
- 1- per che tipo di comunicazioni è da preferire la multiplazione con organizzazione di trama, e per cosa è preferibile la multiplazione
statistica delle comunicazioni a pacchetto ?
- 2 - quando viene inviata una richiesta ARP
?
- 3 - nei pacchetti ARP, è presente una intestazione IP?
- 4 - a chi sono inviati i pacchetti ICMP?
- 5 - se una sottorete è identificata come
171.200.200.160/27,
qual'è il relativo indirizzo di broadcast? (suggerimento:
si tenga conto che il numero decimale 160, equivale a 10100000 se
espresso in binario)
- 5 - che differenze ci sono tra uno Switch, un Router, un Firewall, un NAT ?
- 7 - qual'è lo scopo del campo protocollo della
intestazione IP ?
- 8 - perché il TCP è detto con connessione, e l'UDP no?
- 9 - cosa indica il flag ACK in un pacchetto TCP?
- la chiamata alla funzione listen()
- 10 - è eseguita da un client
o da un server?
- 11 - che effetto produce?
- 12 - a cosa serve la chiamata a gethostbyname() ?
Seconda parte - accessibile presso
http://192.168.100.234/labint/primaverifica.html
Leggere con il proprio
wireshark questo file di cattura, ottenuto
a partire dal computer con IP 151.100.122.171, connesso ad una LAN
descritta da una maschera di sottorete di 24 bit. Il computer
ospita un server web, ed è quindi destinatario di richieste
http. Al
tempo stesso, vengono visitati due siti esterni, uno in Australia (http://www.cdu.edu.au/), ed uno in
Italia (http://www.repubblica.it)
- 13 - Qual'è l'indirizzo IP del server DNS ?
- 14 - che protocollo di trasporto usa il DNS, e su che porta risponde?
- 15 - qual'è l'indirizzo IP del sito australiano ?
- 16 - Qual'è l'indirizzo Ethernet ed IP del default gateway ? (suggerimento:
il suo indirizzo ethernet è quello usato come destinazione MAC per i
pacchetti IP diretti fuori dalla LAN, mentre quello IP si trova
impostando un filtro di visualizzazione basato sull'indirizzo ethernet
trovato, quando usato come sorgente di richieste ARP)
- 17
- osserviamo il three way handshake ai pacchetti 51, 59 e 60: perché
tra i primi due si osserva un ritardo di circa un terzo di secondo,
mentre tra il secondo ed il terzo è qualsi nullo?
- 18 - costruiamo ora un display
filter,
scegliendo con il tasto destro del mouse, l'opzione follow TCP stream,
a partire dal pacchetto 51. Quanto è la massima dimensione di finestra, per quanto riguarda il controllo di flusso?
- 19 - rimuoviamo ora il display filter, ed individuiamo la
richiesta al DNS per il dominio www.repubblica.it,
e quindi, il primo pacchetto (SYN) della richiesta HTTP. Qual'è
il suo numero di pacchetto?
- 20 - indicare le dimensioni
delle intestazioni IP e TCP
- 21 - qual'è il numero di porta effimera TCP usata dal client
HTTP ?
- creiamo ora il grafico con Statistcs/IO
Graph.
- 22 - qual'è la velocità massima osservata ?
- 23 - aumentare la risoluzione orizzontale, e focalizzarsi sul primo picco. A quali richieste HTTP corrisponde?
Terza parte
Visitiamo con nautilus la directory condivisa /media/netkit/labs/official/netkit-labs_interdomain-routing/netkit-lab_bgp-small-internet/netkit-lab_bgp-small-internet, e copiamone il contenuto presso il proprio computer. Dopo aver inizializzato le variabili di ambiente
in modo da poter utilizzare i comandi messi a disposizione da Netkit,
apriamo una finestra terminale, poniamoci nella directory dove abbiamo
salvato il laboratorio small-internet, e lanciamo le 14 macchine
virtuali corrispondenti. Aspettando che che si carichino tutte,
prendiamo confidenza con la topologia della rete simulata:
Si tratta della interconnessione di 7 sistemi autonomi mediante router che prendono nome asArB
in cui A è un numero che corrisponde al numero di sistema autonomo, e B
differenzia tra i router ivi compresi. I router si scambiano, mediante
un apposito protocollo, le informazioni di raggiungibilità delle LAN
direttamente conesse, in modo che ogni router sappia a chi inoltrare i
pacchetti indirizzati verso destinazioni ignote. Una volta che le
macchine
virtuali sono partite:
- scegliamona una (o più), ed investighiamo sui processi di rete in esecuzione, mediante il comando netstat:
- 24 - quale opzione del comando netstat usiamo per visualizzare solo i servizi che utilizzano il trasporto TCP ?
- 25 - indicare il nome della Macchina Virtuale su cui stiamo operando
- 26 - con quale(i) computer remoto(i) è connessa, e con quali servizi remoti è collegata?
- 27 - quale opzione del comando netstat
usiamo per conoscere i numeri di porta, anziché il nome dei servizi?
(da usare obbligatoriamente, nel caso si ottenga il messaggio getnameinfo failed)
- 28 - qual'è la porta presso la quale sono offerti i servizi remoti?
- 29 - possiamo intuire qualche legame tra le connessioni TCP
individuate, e la topologia mostrata? Cosa potrebbe rappresentare il servizio
remoto a cui sono connessi i router?
- 30 - quale opzione del comando netstat usiamo per investigare i processi server in esecuzione localmente, i cui socket si trovano nella condizione di ascolto, e non connessi?
- 31 - quali servizi troviamo in ascolto? (indicare anche su che macchina stiamo operando)
- investighiamo ora, mediante il comando nmap, quali sono i servizi attivi su di una VM diversa da quella presso la quale impartiamo il comando:
- 32 - indicare verso quale macchina dirigiamo il comando, ed a partire da quale
- 33 - senza preoccuparci del warning relativo al dns, quali servizi troviamo sull'altra macchina?
- proviamo a connetterci via telnet ad una porta presso la quale è in ascolto un servizio remoto:
- 34 - che comando usiamo?
- 35 - che risposta otteniamo?
- 36 - come usciamo dal telnet?
- investighiamo sulla raggiungibilità reciproca della macchine: a partire da as100r2, eseguiamo dei ping verso gli indirizzi associati a as100r1, as30r1, e as40r1
- 37 - riportare gli indirizzi IP pingati, ed il valore medio del RTT osservato nei tre casi
- investighiamo sull'instradamento in essere tra as100r2 e le tre macchine precedentemente pingate
- 38 - che comando usiamo nei tre casi?
- 39 - indicare la sequenza di LAN (la lettera maiuscola iscritta in un cerchio) attraversate nei tre casi
- 40 - possiamo mettere in relazione l'RTT sperimentato, con il numero di router attraversati?
- copiamo ora i programmi talker e listener in versione modificata presso la propria macchina host, compiliamoli (ad es., eseguendo cc -o talker talker.c sull'host), e copiamoli in due macchine virtuali (ad es., eseguendo cp /hosthome/Scrivania/talker talker sulla VM) appartenenti a sistemi autonomi differenti e non contigui
- lanciamo listener su di una, impartiamo il comando tcpdump -i any -s 0 -w
/hosthome/cattura.pcap presso un router di transito (da individuare mediante il comando apposito), ed eseguiamo talker all'altro estremo:
- mediante talker, inviamo due messaggi, e verifichiamo che siano arrivati all'altro estremo;
- interrompiamo il tcpdump con control-c, ed apriamo con wireshark il file catturato, e presente sulla macchina host:
- 41 - indicare i nomi delle macchine sorgente, destinazione, e intermedia
- 42 - oltre al traffico prodotto da talker, che altri pacchetti troviamo?
- 43 - come mai i pacchetti da talker a listener sono presenti due volte?