Wireshark

Cattura, filtri e dissezione dei pacchetti

GUI • Packet Details/Bytes • Filtri • HTTP/ARP/DNS • Follow Stream
Wireshark: cos’è e a cosa serve

Wireshark è uno strumento software per catturare ed interpretare i dati che transitano su una rete. In una rete transitano dati sottoforma di frame, datagrammi, pacchetti o segmenti a seconda del loro contenuto: possiamo comunque riferirci genericamente al termine pacchetti di dati.

Wireshark è un analizzatore di rete scaricabile dal sito www.wireshark.org, disponibile per diverse piattaforme. Cattura i dati dall’interfaccia selezionata, li suddivide in pacchetti, interpreta e presenta i campi secondo il protocollo riconosciuto. Le catture possono essere analizzate subito oppure salvate (PCAP) per analisi successive.

Il cuore di Wireshark sono i dissettori, che decodificano i protocolli e mostrano i campi in modo leggibile (operazione detta dissezione).
GUI di Wireshark e avvio cattura

All’avvio, la GUI presenta elementi fondamentali per scegliere:

  • Interfaccia su cui catturare (Wi-Fi, Ethernet, ecc.)
  • Filtro di cattura (cosa catturare)
  • Filtro di visualizzazione (cosa mostrare tra i pacchetti catturati)
GUI Wireshark
Interfaccia, filtro di cattura e filtro di visualizzazione.

Senza filtri, cliccando sull’interfaccia attiva la cattura parte e i pacchetti compaiono nella lista centrale.

Time Source Destination Protocol Length Info

Lista pacchetti
Packet list: vista generale dei pacchetti catturati.
Stop cattura
Stop cattura: utile quando i pacchetti diventano molti.
Packet Details e Packet Bytes

Selezionando un pacchetto nella lista, puoi osservare:

  • Packet Details: struttura ad albero dei protocolli e dei campi
  • Packet Bytes: dati grezzi (offset, HEX, ASCII)
Sottoalberi e bytes
Selezionando un campo, Wireshark evidenzia i byte corrispondenti.
Offset e ASCII
Offset, bytes in HEX e colonna ASCII.
Frame vs pacchetto: “pacchetto” tipicamente si riferisce al livello 3 (IP), “frame” al livello 2 (Ethernet). L’incapsulamento aggiunge header/tail ai vari livelli.
ISO/OSI vs TCP/IP
Incapsulamento
Filtri di cattura e visualizzazione

I filtri permettono di ridurre i dati e concentrarsi su ciò che interessa:

  • Filtri di cattura: agiscono durante la cattura, sintassi BPF
  • Filtri di visualizzazione: agiscono solo sulla vista (display filter)
Filtri di cattura
Espressioni filtro display

Filtri di cattura (BPF)

Filtro Significato
host 172.18.5.4 Traffico in entrata e uscita dall’host
net 192.168.0.0/24 Traffico da/per la rete indicata
src net 192.168.0.0/24 Traffico proveniente dalla rete
dst net 192.168.0.0/24 Traffico destinato alla rete
port 53 Traffico su porta 53
tcp dst port 22 TCP destinato alla porta 22
tcp portrange 1501-1549 TCP su range porte
arp Solo ARP
ip Solo IPv4
ip6 Solo IPv6
ether broadcast Broadcast Ethernet

Filtri di visualizzazione (display)

Operatore In C Descrizione
eq == Uguale a
ne != Diverso da
gt > Maggiore di
lt < Minore di
ge >= Maggiore o uguale di
le <= Minore o uguale di
contains Il campo contiene il valore
matches Match su regex
and && Entrambe vere
or || Almeno una vera
not ! Negazione
Cattura in LAN: HTTP, ARP, DNS

Avvia la cattura sull’interfaccia attiva. Per generare traffico, apri un browser e visita un sito (es. www.ebay.it). Dopo qualche secondo premi STOP e applica filtri di visualizzazione.


Esempio HTTP e livelli TCP/IP

Pacchetto HTTP
Livelli evidenziati
  • Frame (numero pacchetto, lunghezza, interfaccia)
  • Ethernet II (MAC sorgente/destinazione)
  • IP (IP sorgente/destinazione)
  • TCP (porte, sequenze, flag)
  • HTTP (dati applicativi)
Destinazione MAC
Bytes evidenziati
Sorgente MAC
Header IP dettagli

Esempio ARP

Filtra con arp e apri un pacchetto: ARP serve ad associare IP e MAC nella LAN.

Pacchetto ARP
Nota pratica
ARP lavora in broadcast sulla LAN: è fondamentale per spedire il frame Ethernet all’host corretto quando conosci l’IP ma non il MAC.

Esempio DNS

Filtra con dns e osserva query/response: nomi di dominio e record con indirizzi IP.

DNS response
Dettaglio frame
Seguire il flusso dati

Dal menu contestuale su un pacchetto puoi usare Segui per ricostruire il flusso tra client e server. Wireshark applica automaticamente un filtro, ad esempio tcp.stream eq 2.

Menu segui flusso
Follow TCP Stream
Alternativa: tasto destro → Applica come filtro / Prepara filtro.