Wireshark: percorso completo da zero all'analisi per cybersecurity | Prof. Giagnotti
PROF GIAGNOTTI · TORNA A → · GUIDE
🛠️ GUIDE TOOL E AMBIENTI DI LAVORO · WIRESHARK
A cura del Prof. Giagnotti · Sistemi e Reti / Cybersecurity

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.

⏱️ 28 min di lettura 🟡 Principiante → Avanzato → Security 🧰 Wireshark · Npcap · .pcap/.pcapng
🎯 Obiettivi del percorso unico
✓Capire cosa è Wireshark, cosa fa uno sniffer e perché è centrale in Sistemi e Reti e Cybersecurity.
✓Installare correttamente su Windows (con Npcap) e Linux, abilitare permessi di cattura.
✓Usare l'interfaccia: Packet List, Details, Bytes e salvataggio in .pcap/.pcapng.
✓Distinguere capture filter (BPF) e display filter e applicare filtri DNS, TCP, HTTP, IP.
✓Svolgere 3 lab guidati: risoluzione DNS, three-way handshake TCP, confronto HTTP vs HTTPS/TLS.
✓Applicare tecniche avanzate: colorazione, timestamp, grafici I/O, analisi MAC, esportazione filtrata.
✓Ricostruire una comunicazione con Follow TCP Stream, leggere l'incapsulamento e ragionare come analista.

LIVELLO 1 - Cos'è Wireshark e perché studiarlo a scuola

📌 Definizione da ricordare

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.

01 · OSSERVA

Richiesta HTTP reale

Dal browser al server, header per header.

02 · CONFRONTA

HTTP vs HTTPS

Cosa è in chiaro e cosa è protetto da TLS.

03 · CAPISCE

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.

💬 Tip del docente

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

  1. Vai su https://www.wireshark.org → Download Windows installer
  2. Durante setup accetta installazione di Npcap (driver di cattura): fondamentale, senza non catturi nulla
  3. Completa installazione e avvia come amministratore la prima volta se le interfacce non compaiono

Linux (Debian/Ubuntu)

TERMINAL · LINUX
sudo apt update sudo apt install wireshark sudo usermod -aG wireshark $USER # poi logout/login per applicare gruppo

Su Linux è cruciale aggiungere l'utente al gruppo wireshark, altrimenti cattura disabilitata per permessi.

⚠️ Errore comune

Dimenticare Npcap su Windows o non aggiungere l'utente al gruppo su Linux. Sintomo: nessuna interfaccia elencata o errore “no permission”.

Screenshot 1 · Installazione Npcap + scelta interfacce
Screenshot installazione Npcap

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.

01 · PACKET LIST

Elenco pacchetti

Numero, tempo, sorgente, destinazione, protocollo, info.

02 · PACKET DETAILS

Dettaglio livelli

Frame > Ethernet II > IP > TCP > HTTP: incapsulamento visibile.

03 · PACKET BYTES

Esadecimale

Dump esadecimale + ASCII del pacchetto selezionato.

BUONA PRATICA
# Avvia cattura breve (30 sec), poi Stop (quadrato rosso) # File → Salva con nome → formato .pcapng (default) o .pcap per compatibilità
Screenshot 2 · Interfaccia principale Wireshark con 3 pannelli
Screenshot 3 pannelli Wireshark

LIVELLO 2 - Filtri: la differenza che salva l'analisi

📌 Capture vs Display

Capture filter (BPF) = deciso PRIMA, limita cosa viene catturato. Display filter (Wireshark) = deciso DOPO, nasconde/mostra solo visualmente. Sintassi diversa!

DISPLAY FILTER (in alto)

Esempi dopo cattura

dns
tcp
http
ip.addr == 192.168.1.10
tcp.port == 443
tcp.flags.syn == 1

CAPTURE FILTER (prima)

Sintassi BPF

tcp port 80
udp port 53
host 192.168.1.10
tcp port 443

⚠️ Domanda tipica verifica

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 displayCosa mostraUso didattico
dnsTraffico DNSRisoluzione nomi
tcpPacchetti TCPConnessioni affidabili
httpHTTP in chiaroHeader e metodi
tcp.port == 443Porta 443HTTPS/TLS su TCP
ip.addr == 192.168.1.10Host specificoSeguire un client
tcp.flags.syn == 1 && tcp.flags.ack == 0SYN puroInizio connessione
Screenshot 3 · Barra filtri Wireshark - display filter
Screenshot barra filtri

LIVELLO 2 - Lab 1: Osservare una risoluzione DNS

Protocollo semplice da riconoscere: collega azione utente (digitare dominio) a pacchetti reali.

🧪 Esercitazione guidata - dal nome alla risposta
  1. Avvia cattura sull'interfaccia attiva
  2. Genera traffico pulito: nslookup example.com o apri un sito nuovo (evita altro traffico)
  3. Applica filtro dns
  4. Individua query: osserva nome richiesto, tipo record (A, AAAA, CNAME)
  5. Individua response: quali IP/alias restituisce server DNS
QUERY

Quale nome?

Quale dominio chiede il client?

TIPO RECORD

A / AAAA / CNAME?

IPv4, IPv6 o alias?

RESPONSE

Cosa torna?

IP, TTL, authority.

🔎 Domanda di laboratorio

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.

Screenshot 4 · Query e Response DNS in Packet Details
Screenshot DNS

LIVELLO 2 - Lab 2: Riconoscere il TCP Three-Way Handshake

Dopo DNS, passo successivo: apertura connessione TCP.

FILTER CONSIGLIATO
tcp.flags.syn == 1
#FlagDirezioneSignificato
1SYNClient → ServerRichiesta apertura
2SYN + ACKServer → ClientRisposta e conferma
3ACKClient → ServerConferma finale
📌 Punto chiave

Il three-way handshake sincronizza parametri fondamentali (seq numbers, window) prima dei dati applicativi.

Anomalie semplici da cercare

RST

Reset TCP

Connessione interrotta/rifiutata. Contesto determina causa: porta chiusa, firewall, applicazione.

RETRANSMISSION

Ritrasmissione

Possibile perdita o mancato ACK. Singolo evento non prova guasto grave.

Screenshot 5 · Three-way handshake SYN SYN-ACK ACK
Screenshot TCP handshake

LIVELLO 2 - Lab 3: HTTP e HTTPS a confronto - lezione sicurezza

🔐 Confronto didattico centrale

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.

🧪 Domanda verifica

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.

HTTP

Cosa vedi

Metodo GET/POST, Host, User-Agent, Cookie (su traffico proprio!)

HTTPS / TLS

Cosa NON vedi in chiaro

Contenuto HTTP cifrato. Vedi ClientHello, ServerHello, certificato (parte), ma non body.

Screenshot 6 · Confronto HTTP in chiaro vs TLS handshake
Screenshot HTTP vs HTTPS

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).

Screenshot 7 · Coloring Rules + I/O Graph
Screenshot colori e grafici

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).

COMANDI UTILI
ipconfig /all # Windows → Physical Address = MAC ip a # Linux → link/ether arp -a # cache ARP locale

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
WIRESHARK CLI
mergecap -w unito.pcapng trace1.pcapng trace2.pcapng tshark -r input.pcap -Y "http" -w solo_http.pcapng
🎯 Esercitazioni avanzate suggerite

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.

Screenshot 8 · Esporta pacchetti filtrati + mergecap
Screenshot export pcap

LIVELLO 3 - Cybersecurity: Follow TCP Stream e lettura incapsulamento

Follow TCP Stream: ricostruire comunicazione

Quando TCP trasporta dati applicativi, Wireshark ricostruisce flusso.

  1. Seleziona pacchetto della comunicazione
  2. Click destro → Follow → TCP Stream
  3. Osserva dati ricostruiti client↔server
  4. Confronta con singoli pacchetti per capire segmentazione
⚠️ Uso didattico e etico

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.

Screenshot 9 · Follow TCP Stream - ricostruzione
Screenshot Follow Stream

Dal frame ai dati: leggere incapsulamento

Obiettivo centrale del lab cybersecurity: collegare struttura Wireshark a modello a strati.

STRUTTURA · PACKET DETAILS
▼ Frame (livello cattura) ▼ Ethernet II (L2 - MAC src/dst) ▼ Internet Protocol v4 (L3 - IP src/dst) ▼ Transmission Control Protocol (L4 - porte, flag, seq) ▼ Hypertext Transfer Protocol / TLS (L7 - dati applicativi)
📌 Concetto chiave

Wireshark rende visibile l'incapsulamento: protocollo di livello superiore trasportato nei dati di quello sottostante. Espandendo albero comprendi concretamente modello TCP/IP.

Screenshot 10 · Albero incapsulamento Ethernet/IP/TCP/HTTP
Screenshot incapsulamento

Laboratorio autonomo + Challenge investigativo finale

🧪 Esercizio autonomo - dalla cattura alla spiegazione

Usa cattura fornita dal docente o realizzata in lab autorizzato. Ricostruisci sequenza senza limitarti a protocolli.

01 · DNS

Nome richiesto?

Quale server risponde? Quale info restituita?

02 · TCP

Handshake?

Indirizzi e porte utilizzati?

03 · APPLICAZIONE

Quale protocollo L7?

Dati visibili o protetti da TLS?

04 · CONCLUSIONE

Ricostruzione

Scrivi breve report con evidenze.

Challenge finale

🎯 SFIDA DI LABORATORIO - SEQUENZA OSSERVATA
01 DNS query
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.

👨‍🏫 Osservazione del docente - metodo analista

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.

✅ SALVATAGGIO

.pcap / .pcapng

Cattura salvabile e condivisibile per esercizi.

✅ 3 PANNELLI

List / Details / Bytes

Tre livelli di osservazione.

✅ FILTRI

Capture ≠ Display

Scopi e sintassi diversi.

✅ DNS

Risoluzione nomi

Query → Response prima di TCP.

✅ TCP

Handshake

SYN, SYN-ACK, ACK e anomalie RST.

✅ HTTPS

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 tls o tcp.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

  1. Cosa fa un packet sniffer e differenza hub/switch per sniffing?
  2. Spiega differenza capture filter e display filter con esempio.
  3. Descrivi three-way handshake e flag coinvolti.
  4. Perché DNS precede TCP? Cosa mostra una risposta DNS?
  5. Cosa vedi con Follow TCP Stream e quando è utile?
  6. Confronta HTTP e HTTPS dal punto di vista di Wireshark.
  7. A cosa servono coloring rules e grafici I/O?

Lascia un commento