Wireshark: percorso completo dalla prima cattura all'analisi per cybersecurity
Un'unica guida progressiva che unisce base, avanzato e sicurezza: cos'è uno sniffer e perché studiarlo, installazione su Windows/Linux con Npcap, interfaccia a 3 pannelli, capture vs display filter, laboratori reali DNS/TCP/HTTP-HTTPS, colorazione, timestamp, grafici I/O, analisi MAC, Follow TCP Stream, incapsulamento e ricostruzione investigativa.
LIVELLO 1 - Cos'è Wireshark e perché studiarlo a scuola
Wireshark è un analizzatore di protocollo di rete (packet sniffer) open-source: cattura e decodifica i pacchetti che transitano su un'interfaccia, mostrando ogni campo di ogni livello.
Wireshark è tra gli strumenti più importanti nei corsi di informatica, telecomunicazioni e sistemi di rete. Molti studenti lo incontrano la prima volta in laboratorio e faticano a capirne lo scopo reale. Questa guida unificata nasce per spiegare in modo chiaro e graduale, partendo dalle basi fino all'uso in ottica sicurezza.
A differenza di una spiegazione teorica di TCP/IP, HTTP o DNS, Wireshark consente di vedere i pacchetti reali. È strumento didattico perché collega teoria e pratica.
Richiesta HTTP reale
Dal browser al server, header per header.
HTTP vs HTTPS
Cosa è in chiaro e cosa è protetto da TLS.
TCP e UDP sul campo
Flag, porte, ritrasmissioni e ordine dei pacchetti.
Hub vs Switch e analisi del traffico
Nelle reti con hub il traffico veniva inoltrato a tutte le porte: sniffare era banale. Con gli switch moderni i pacchetti vanno solo alla porta di destinazione. Per catturare traffico di altri host in laboratorio si usa port mirroring su switch gestito, oppure si analizza traffico proprio o file .pcap forniti.
Modalità promiscua: la scheda ascolta tutto ciò che vede sul mezzo. Da sola non basta in reti switched: serve mirroring o TAP. In classe lavoriamo sempre su traffico autorizzato.
LIVELLO 1 - Installazione corretta (Windows e Linux)
Windows
- Vai su https://www.wireshark.org → Download Windows installer
- Durante setup accetta installazione di Npcap (driver di cattura): fondamentale, senza non catturi nulla
- Completa installazione e avvia come amministratore la prima volta se le interfacce non compaiono
Linux (Debian/Ubuntu)
Su Linux è cruciale aggiungere l'utente al gruppo wireshark, altrimenti cattura disabilitata per permessi.
Dimenticare Npcap su Windows o non aggiungere l'utente al gruppo su Linux. Sintomo: nessuna interfaccia elencata o errore “no permission”.

LIVELLO 1 - Prima cattura: interfaccia e 3 pannelli
All'avvio Wireshark mostra elenco interfacce con grafico di attività. Doppio click su quella attiva (Wi-Fi/Ethernet) per avviare cattura.
Elenco pacchetti
Numero, tempo, sorgente, destinazione, protocollo, info.
Dettaglio livelli
Frame > Ethernet II > IP > TCP > HTTP: incapsulamento visibile.
Esadecimale
Dump esadecimale + ASCII del pacchetto selezionato.

LIVELLO 2 - Filtri: la differenza che salva l'analisi
Capture filter (BPF) = deciso PRIMA, limita cosa viene catturato. Display filter (Wireshark) = deciso DOPO, nasconde/mostra solo visualmente. Sintassi diversa!
Esempi dopo cattura
dns
tcp
http
ip.addr == 192.168.1.10
tcp.port == 443
tcp.flags.syn == 1
Sintassi BPF
tcp port 80
udp port 53
host 192.168.1.10
tcp port 443
Capture e display filter sono uguali? No: momento di applicazione e sintassi diversi. Se usi display filter dns i pacchetti non DNS non vengono cancellati, solo nascosti.
| Filtro display | Cosa mostra | Uso didattico |
|---|---|---|
dns | Traffico DNS | Risoluzione nomi |
tcp | Pacchetti TCP | Connessioni affidabili |
http | HTTP in chiaro | Header e metodi |
tcp.port == 443 | Porta 443 | HTTPS/TLS su TCP |
ip.addr == 192.168.1.10 | Host specifico | Seguire un client |
tcp.flags.syn == 1 && tcp.flags.ack == 0 | SYN puro | Inizio connessione |

LIVELLO 2 - Lab 1: Osservare una risoluzione DNS
Protocollo semplice da riconoscere: collega azione utente (digitare dominio) a pacchetti reali.
- Avvia cattura sull'interfaccia attiva
- Genera traffico pulito:
nslookup example.como apri un sito nuovo (evita altro traffico) - Applica filtro
dns - Individua query: osserva nome richiesto, tipo record (A, AAAA, CNAME)
- Individua response: quali IP/alias restituisce server DNS
Quale nome?
Quale dominio chiede il client?
A / AAAA / CNAME?
IPv4, IPv6 o alias?
Cosa torna?
IP, TTL, authority.
Perché la risoluzione DNS avviene prima della comunicazione applicativa con quel server? Perché serve l'IP per aprire TCP. Attenzione: cache locali possono evitare nuova query.

LIVELLO 2 - Lab 2: Riconoscere il TCP Three-Way Handshake
Dopo DNS, passo successivo: apertura connessione TCP.
| # | Flag | Direzione | Significato |
|---|---|---|---|
| 1 | SYN | Client → Server | Richiesta apertura |
| 2 | SYN + ACK | Server → Client | Risposta e conferma |
| 3 | ACK | Client → Server | Conferma finale |
Il three-way handshake sincronizza parametri fondamentali (seq numbers, window) prima dei dati applicativi.
Anomalie semplici da cercare
Reset TCP
Connessione interrotta/rifiutata. Contesto determina causa: porta chiusa, firewall, applicazione.
Ritrasmissione
Possibile perdita o mancato ACK. Singolo evento non prova guasto grave.

LIVELLO 2 - Lab 3: HTTP e HTTPS a confronto - lezione sicurezza
HTTP non cifrato: se disponibile legittimamente in lab, Wireshark mostra richieste e header in chiaro. HTTPS/TLS: contenuto applicativo protetto, non visibile in chiaro. È l'esercizio che fa capire concretamente perché usiamo TLS.
Se filtro con http e non trovo nulla, il browser non ha comunicato? No: se usa HTTPS, traffico HTTP è dentro TLS, non identificato come http in chiaro. Ma vedo IP, porte, TCP, parametri TLS visibili.
Cosa vedi
Metodo GET/POST, Host, User-Agent, Cookie (su traffico proprio!)
Cosa NON vedi in chiaro
Contenuto HTTP cifrato. Vedi ClientHello, ServerHello, certificato (parte), ma non body.

LIVELLO 3 - Funzionalità avanzate: colore, tempo, grafici, MAC
Per chi ha già basi: Wireshark diventa strumento di analisi enterprise.
Regole di colorazione
Colori diversi per protocollo/condizione: View → Coloring Rules. Le regole predefinite aiutano a identificare TCP, UDP, DNS, HTTP. Puoi crearne custom (es. evidenzia ip.addr == tuoIP && tcp.flags.reset==1 in rosso). File colorfilters esportabile/importabile per classe.
Timestamp e gestione del tempo
- Colonna Time: secondi da inizio cattura di default
- Modificabile in View → Time Display Format: assoluto, relativo, data/ora, delta da pacchetto precedente
- Aggiungi più colonne timestamp per confrontare latenze
Grafici I/O
Statistiche → Grafici I/O: asse X tempo, Y pacchetti/sec o bytes. Utile per identificare picchi, DDoS didattici, anomalie. Puoi aggiungere grafici con filtri diversi (es. linea blu dns, rossa tcp).

Analisi indirizzi MAC
MAC identifica dispositivo a livello 2. Su PC locale: ipconfig /all (Windows) o ip a (Linux). Analizzare MAC e IP di gateway aiuta a capire percorso. Strumento complementare: Zenmap per scanning rete e servizi (solo su reti autorizzate).
LIVELLO 3 - Lavorare con file .pcap avanzati
In azienda si lavora spesso su file forniti, non catturando live.
- Espressioni complesse:
ip.src==192.168.1.10 && tcp.port==80,!dns && !arp - Salvare solo filtrati: File → Esporta pacchetti specificati → Displayed
- Confrontare sessioni: apri più file .pcap in finestre separate o uniscili con
mergecap
Cattura tra più dispositivi con port mirroring · Analizza HTTPS per handshake e certificati · Crea filtri + colorazione custom per casi complessi · Grafici I/O per performance.

LIVELLO 3 - Cybersecurity: Follow TCP Stream e lettura incapsulamento
Follow TCP Stream: ricostruire comunicazione
Quando TCP trasporta dati applicativi, Wireshark ricostruisce flusso.
- Seleziona pacchetto della comunicazione
- Click destro → Follow → TCP Stream
- Osserva dati ricostruiti client↔server
- Confronta con singoli pacchetti per capire segmentazione
Analisi di credenziali, cookie o dati personali SOLO su traffico proprio, file PCAP forniti dal docente o ambienti di laboratorio autorizzati. Mai su rete scolastica reale di altri utenti.

Dal frame ai dati: leggere incapsulamento
Obiettivo centrale del lab cybersecurity: collegare struttura Wireshark a modello a strati.
Wireshark rende visibile l'incapsulamento: protocollo di livello superiore trasportato nei dati di quello sottostante. Espandendo albero comprendi concretamente modello TCP/IP.

Laboratorio autonomo + Challenge investigativo finale
Usa cattura fornita dal docente o realizzata in lab autorizzato. Ricostruisci sequenza senza limitarti a protocolli.
Nome richiesto?
Quale server risponde? Quale info restituita?
Handshake?
Indirizzi e porte utilizzati?
Quale protocollo L7?
Dati visibili o protetti da TLS?
Ricostruzione
Scrivi breve report con evidenze.
Challenge finale
02 DNS response
03 TCP SYN
04 TCP SYN-ACK
05 TCP ACK
06 TLS traffic (ClientHello, ServerHello...)
Domanda: quale sequenza logica ricostruisci? Perché TLS compare dopo handshake?
Mostra soluzione
Client fa prima risoluzione DNS per ottenere IP server. Poi avvia TCP con SYN → SYN-ACK → ACK. Solo dopo canale TCP stabilito può iniziare TLS che protegge traffico applicativo HTTPS. Sequenza mostra collaborazione tra protocolli per singola comunicazione applicativa.
Quando analizzi cattura è facile concentrarsi solo su pacchetti “interessanti”. Buona analisi parte da domande: chi comunica, con chi, usando quale protocollo, in quale ordine e con quale risultato. Formulare domande è più importante che memorizzare 50 filtri.
Riepilogo, errori comuni e verifica
.pcap / .pcapng
Cattura salvabile e condivisibile per esercizi.
List / Details / Bytes
Tre livelli di osservazione.
Capture ≠ Display
Scopi e sintassi diversi.
Risoluzione nomi
Query → Response prima di TCP.
Handshake
SYN, SYN-ACK, ACK e anomalie RST.
TLS protegge
Contenuto non in chiaro vs HTTP.
Errori frequenti da evitare (per verifica)
- Confondere capture e display filter: sintassi BPF vs Wireshark
- Cercare http quando traffico è https: filtra
tlsotcp.port==443 - Avviare cattura senza traffico controllato: troppo rumore, difficile isolare. Genera traffico mirato
- Dimenticare Npcap / gruppo wireshark: interfacce vuote
- Analizzare traffico altrui senza permesso: violazione etica e regolamento d'istituto
Domande tipiche interrogazione
- Cosa fa un packet sniffer e differenza hub/switch per sniffing?
- Spiega differenza capture filter e display filter con esempio.
- Descrivi three-way handshake e flag coinvolti.
- Perché DNS precede TCP? Cosa mostra una risposta DNS?
- Cosa vedi con Follow TCP Stream e quando è utile?
- Confronta HTTP e HTTPS dal punto di vista di Wireshark.
- A cosa servono coloring rules e grafici I/O?