Lab di Fondamenti di Comunicazione e Internet (AA 2020/21)
Laboratorio di Fondamenti di Comunicazione e Internet
Ogni sessione di Laboratorio sarà caratterizzata da 3 Fasi principali, secondo il modello della "Blended Classroom", con l'obiettivo di ridurre il tempo dedicato a lezioni di tipo frontale ed aumentare le attività pratiche durante le ore di laboratorio. Di seguito una breve descrizione delle 3 Fasi:
A) Prima del Laboratorio: la prima fase copre il periodo PRECEDENTE la sessione di Laboratorio. Vi assegneremo del materiale utile per familiarizzare con gli argomenti che tratteremo insieme durante la sessione. E' importante perciò che il materiale fornito venga visionato prima che di arrivare in aula.
B) Durante il Laboratorio: la seconda fase copre il periodo trascorso in aula durante la sessione di Laboratorio vera e propria. Prima consolideremo e chiariremo insieme quello che avete compreso guardando il materiale preparatorio per poi successivamente introdurre nuovi partendo da ciò che avete già assimilato.
C) Dopo il Laboratorio: durante la sessione di Laboratorio vi verranno assegnati degli esercizi pratici, che dovrete svolgere singolarmente o a gruppi a seconda delle richieste. Per alcuni di questi esercizi, le soluzioni verranno fornite qualche giorno dopo la sessione di laboratorio, per permettervi di completarli autonomamente.
Durante i laboratori ed anche alcune lezioni sui protocolli applicativi useremo diversi strumenti software per l'analisi delle prestazioni di reti. Per facilitarvi la vita, abbiamo preparato un'immagine di una macchina virtuale Linux che contiene già tutti gli strumenti che serviranno durante il corso. Per attivare la macchina virtuale:
- scaricare un ambiente di virtualizzazione (consigliato VirtualBox) per il vostro sistema operativo ed installarlo
- scaricare l'immagine della Immagine macchina virtuale linux (Link backup Dropbox) (MD5: 3f25a933eb08e4d790d2025082b36e40); importare la macchina virtuale in VirtualBox (menu file -> importa applicazione virtuale, seguire procedura guidata, avviare macchina con doppio clic su FIR Lab. Una volta avviata la macchina virtuale, accedere con password "labfir")
Qui potete trovare un documento con le istruzioni per importare la macchina virtuale e con soluzioni ad errori comuni: Guida Installazione Macchina Virtuale.
NOTA: Se avete problemi ad importare matplotlib nella macchina virtuale provate a riscaricare la macchina virtuale (altamente consigliato) oppure aprite un terminale (icona LXTerminal su Desktop) e copiate e incollate i seguenti comandi:
- sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
- sudo apt update
- sudo apt install python3-matplotlib
Se non volete usare la macchina virtuale (altamente consigliato) potete sempre installare in locale tutti gli strumenti che servono:
- Wireshark
- PyCharm (moduli di python richiesti: requests, matplotlib, socket)
- cURL
- matplotlib python library
- Simulatore di rete (PT)
LABORATORIO 1
Prima del laboratorio:
Di seguito una lista di video utili di introduzione alla programmazione in Python, che DEVONO ESSERE VISTI PRIMA della 1° sessione di laboratorio:
Corso Python
- Introduzione e Installazione di Python 3.6
- IDLE e Operazioni Numeriche
- Variabili e Stringhe
- Conversioni di Tipo, Print(), Input() e Primo Programma
- Diagrammi Di Flusso, Logica Booleana e Operatori di Comparazione
- Controllo di Flusso: if, elif ed else!
- Il Ciclo While e le Istruzioni break e continue
- Il Ciclo For e la Funzione range()
- CheckPoint: Costruiamo una Calcolatrice con Python (Opzionale, utile per mettere in pratica le cose viste)
- I Moduli della Standard Library
- Scrivi le Tue Funzioni
- Variabili Globali e Variabili Locali
- A prova di crash - Come gestire gli Errori (Opzionale)
- Liste e Tuple
- Similarità tra Liste e Stringhe
Inoltre, DEVE ESSERE OBBLIGATORIAMENTE VISTO PRIMA della 1° sessione di laboratorio il video che trovate al seguente link: https://youtu.be/mC3TYAlzMig
Vi consigliamo di familiarizzare con gli esempi che trovate ai link sopra, riproducendoli con gli strumenti che trovate sulla Macchina Virtuale oppure con i software che avete installato localmente sul vostro PC.
Qui potete trovare altri puntatori ad altri corsi o slide:
- SoloLearn: Piattaforma per imparare numerosi linguaggi con esercizi interattivi, c'è anche l'applicazione per smartphone (Android e iPhone) (Inglese)
- Slides di introduzione a Python (Italiano)
- Altre slide introduttive su Python: (Italiano)
Durante il laboratorio:
- Introduzione (A.A. 20/21) SLIDES
- Scripting con Python SLIDES
- Soluzione Es. 1.1 SLIDES
- Registrazione lezione
Dopo il laboratorio:
- Soluzione Es 1.2: SLIDES
LABORATORIO 2
Prima del laboratorio:
- DEVE ESSERE OBBLIGATORIAMENTE VISTO PRIMA della 2° sessione di laboratorio il video che trovate al seguente link: https://youtu.be/ULfTqXg1rVA
- SLIDES
Durante il laboratorio:
Dopo il laboratorio:
- Soluzione Es. 2.4: SLIDES
LABORATORIO 3
Prima del laboratorio:
- DEVE ESSERE OBBLIGATORIAMENTE VISTO PRIMA della 3° sessione di laboratorio il video che trovate al seguente link: https://youtu.be/RnIznDmm764
- SLIDES
Durante il laboratorio:
Dopo il laboratorio:
LABORATORIO 4
Prima del laboratorio:
- DEVE ESSERE OBBLIGATORIAMENTE VISTO PRIMA della 4° sessione di laboratorio il video che trovate al seguente link: https://youtu.be/N6Ipsc8JxLM
Il video è diviso in due parti, la prima introduce Packet Tracer, la seconda a partire dal minuto 9:25 riguarda l'esercizio 4.1 effettuato passo-passo su Packet Tracer nella VM. - SLIDES
Durante il laboratorio:
Dopo il laboratorio:
LABORATORIO 5
Prima del laboratorio:
- DEVE ESSERE OBBLIGATORIAMENTE VISTO PRIMA della 5° sessione di laboratorio il video che trovate al seguente link: https://youtu.be/zzFBSSmOU88
- SLIDES
Durante il laboratorio:
Dopo il laboratorio:
LABORATORIO 6
Durante il laboratorio:
- Slides
- Registrazione laboratorio
- Esercizi extra (Python Socket Programming + Packet Tracer)
PKT soluzioni di tutti gli esercizi di laboratori: Soluzioni_Esercizi_PT_Lezioni.zip
Materiale extra (Materiale del corso A.A 2018/2019)
LAB 1: Analisi di Rete con Python
- Video lezione (NON COMPLETA): VIDEO
- Python per analisi di rete: slide, file utile (listati.py)), video
- Listati completi (Mirror: listati completi)
- Extra: Wireshark slides
LAB 2 e LAB 3: Programmazione socket
LAB 4 e LAB5: Packet Tracer
- Slides introduttive su Packet Tracer e configurazione router
- Slides su configurazione routing, NAT, port forwarding e DHCP
- Materiale aggiuntivo
- Extra: esercizi di esempio (soluzioni)