Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Wireshark è un analizzatore in tempo reale di protocolli di rete per l'amministrazione, lo sviluppo di software e la sicurezza informatica. È in grado di monitorare tutti i pacchetti del traffico di una o più interfacce di rete.

Wireshark è uno strumento multipiattaforma, estremamente versatile e in continua evoluzione. Questa guida mostra come installarlo e configurare correttamente i permessi necessari su Ubuntu.

In questa guida non viene indicato come interpretare i dati monitorati, in quanto è necessaria un'approfondita conoscenza dei protocolli di rete e dei modelli ISO/OSI, nonché del protocollo TCP/IP.

Protocolli di rete supportati

Il supporto per i protocolli viene continuamente aggiornato e ampliato con le nuove versioni di Wireshark.

Wireshark supporta un'enorme quantità di protocolli (in pratica quasi tutti quelli utilizzati nel networking moderno). Di seguito una copiosa lista, non esaustiva, di protocolli che possono essere decodificati e analizzati; è inoltre possibile consultare la lista completa e aggiornata dei protocolli supportati sul sito di ufficiale o all'interno dell'applicazione stessa.

Wireshark può analizzare i metadati dei protocolli criptati (es. indirizzi IP, porte), ma non può decriptare il contenuto senza la chiave di decriptazione. Per esempio, può analizzare il traffico HTTPS, ma non vedere il contenuto delle pagine web a meno che non si forniscano le chiavi SSL/TLS.

Di seguito sono citati ulteriori protocolli:

La lista completa dei protocolli supportati dall'applicazione può essere visualizzata o modificata. Consultare a tal proposito il paragrafo relativo alla configurazione. Inoltre si ricorda che Wireshark permette di scrivere dissettori personalizzati (plugin) per analizzare protocolli non supportati di default.

Installazione

Si consiglia di mantenere Wireshark aggiornato per beneficiare delle ultime correzioni di bug e funzionalità.
L'installazione tramite apt è il metodo più semplice e consigliato per la maggior parte degli utenti.

Da repository

Installare il pacchetto wireshark

Al termine dell'installazione sarà possible avviare Wireshark.

Durante l'installazione, verrà chiesto di permettere agli utenti non-root di catturare pacchetti. È fortemente consigliato rispondere Sì a questa domanda.

Snap

  1. Digitare nel terminale il comando:

    sudo snap install wireshark
  2. Riavviare la sessione.

Al termine dell'installazione sarà possibile avviare Wireshark.

L'installazione tramite Snap può avere limitazioni e introdurre leggeri overhead di prestazioni nella cattura del traffico di rete. Quindi non è generalmente raccomandata per uso professionale.

Flatpak

  1. Consultare questa guida per abilitare flatpak e Flathub.

  2. Digitare in un terminale il comando:

    flatpak install flathub org.wireshark.Wireshark

Una volta installato, sarà possibile avviare il programma da menu oppure con il comando

flatpak run org.wireshark.Wireshark

Potrebbero essere notificati degli errori relativi ai permessi durante l'utilizzo del programma. Questo poiché i flatpak possono essere installati senza privilegi di amministrazione, vengono eseguiti in sandbox, di default non godono di diversi permessi. In tal caso consultare questa guida per modificare i permessi necessari e l'accesso all'hardware, oppure semplicemente utilizzare la versione nei repository.
Il pacchetto presente su FlatHub è mantenuto dalla community.

Avvio

Per avviare Wireshark, digitare nel terminale il seguente comando:

wireshark

Si dovrebbe essere in grado di visualizzare le interfacce di rete e iniziare a catturare pacchetti senza utilizzare privilegi di amministrazione.

Configurazione

Configurare i permessi per la cattura dei pacchetti

Se durante l'installazione tramite apt è stato risposto No alla richiesta di permettere agli utenti non-root di catturare pacchetti, è possibile modificare tale scelta.

  1. Eseguire nel terminale il seguente comando:

    sudo dpkg-reconfigure wireshark-common
  2. Selezionare quando richiesto.

Aggiungere l'utente al gruppo wireshark

Per permettere all'utente di catturare pacchetti senza dover utilizzare sudo, è necessario aggiungerlo al gruppo wireshark.

  1. Digitare nel terminale il seguente comando:

    sudo usermod -aG wireshark [nome_utente]

    sostituendo [nome_utente] con il nome utente desiderato.

  2. Riavviare la sessione utente per applicare le modifiche al gruppo, oppure riavviare il sistema.

Il riavvio è essenziale affinché i nuovi permessi abbiano effetto.

Connessione delle interfacce (solo snap)

Questa procedura si riferisce esclusivamente all'installazione di Wireshark tramite Snap. Infatti con apt la configurazione dei permessi per l'accesso alle interfacce di rete è gestita a livello di sistema tramite dpkg-reconfigure e l'appartenenza al gruppo wireshark. Non è quindi necessario connettere le interfacce manualmente.
Al contrario, le applicazioni installate in snap sono eseguite in un ambiente isolato (sandbox), di default senza accesso diretto alle interfacce di rete del sistema.

I comandi indicati di seguito potrebbero non essere sufficienti e le performance potrebbero non essere ottimali per garantire lo stesso livello di accesso all'installazione tramite apt.

Se Wireshark è stato installato tramite snap è necessario connettere manualmente le interfacce per permettere di accedere alla rete.
Digitare nel terminale i seguenti comandi:

sudo snap connect wireshark:network-control
sudo snap connect wireshark:network-observe
sudo snap connect wireshark:raw-serial

Questi comandi vengono utilizzati per concedere esplicitamente le autorizzazioni, collegando così le interfacce necessarie al container Snap.

Cattura e monitoraggio dei pacchetti

Una volta configurato il programma, per avviare il monitoraggio dei pacchetti è sufficiente seguire il menu Cattura → Avvia.

Apparirà una finestra, dalla quale sarà possibile scegliere le singole interfacce per le quali avviare il monitoraggio.

Abilitare protocolli

La lista completa dei protocolli supportati dall'applicazione si può visualizzare e modificare dal menù Analizza → Abilita protocolli....

Utilizzo dei filtri

Analizzare tutto il traffico di rete senza l'utilizzo di filtri equivale letteralmente a cercare un ago in un pagliaio. I filtri permettono di concentrarsi sui pacchetti di proprio interesse, rendendo l'analisi molto più efficiente.

Di seguito sono introdotti diversi tipi di filtri con loro sintassi e degli esempi pratici.

Tipi di filtri

Wireshark offre due tipi principali di filtri:

Sintassi dei filtri

La sintassi dei filtri è simile per entrambi i tipi, ma con alcune differenze.

I filtri sono uno strumento essenziale per sfruttare appieno la potenza di Wireshark. Imparare ad usarli in modo efficace permetterà di analizzare il traffico di rete in modo più rapido e preciso.

Impostare i Filtri di Cattura

I filtri di cattura supportano solo una sintassi limitata. Non è possibile usare tutti i campi e gli operatori disponibili nei filtri di visualizzazione. Sono applicati a basso livello, quindi operano principalmente su indirizzi IP, porte e protocolli di base.

Per impostare filtri di cattura:

  1. Avviare Wireshark.

  2. Cliccare sull'icona Opzioni (a forma di ingranaggio) o seguire il menu Cattura → Opzioni.

  3. Nella finestra Opzioni di cattura selezionare l'interfaccia di rete da monitorare.

  4. Inserire il filtro di cattura nel campo Filtro di cattura per le interfacce selezionate:.

  5. Cliccare su Avvia per avviare la cattura.

Nella seguente tabella sono riportati degli esempi:

Filtro

Descrizione

tcp port 80

Cattura solo il traffico HTTP

host 192.168.1.100

Cattura il traffico da o verso un indirizzo IP specifico

tcp port 443 or tcp port 22

Cattura il traffico TCP sulla porta 443 (HTTPS) o sulla porta 22 (SSH)

icmp

Cattura solo il traffico ICMP (ping)

Impostare i Filtri di Visualizzazione (Display Filters)

Per impostare filtri di visualizzazione:

  1. Avviare Wireshark.

  2. Cliccare sull'icona Opzioni (a forma di ingranaggio) o seguire il menu Cattura → Opzioni.

  3. Nella finestra Opzioni di cattura aprire un file di cattura esistente.

  4. Inserire il filtro di visualizzazione nella barra dei filtri sopra la lista dei pacchetti.
  5. Premere Invio per applicare il filtro.

Wireshark mostrerà solo i pacchetti che corrispondono al filtro.

Nella seguente tabella sono riportati degli esempi:

Filtro

Descrizione

http

Mostra solo il traffico HTTP

ip.src == 192.168.1.100

Mostra il traffico con un indirizzo IP sorgente specifico

ip.dst == 192.168.1.200

Mostra il traffico con un indirizzo IP di destinazione specifico

tcp.srcport == 8080

Mostra il traffico TCP con porta sorgente 8080

tcp.dstport == 443

Mostra il traffico TCP con porta di destinazione 443 (HTTPS)

tcp contains "password"

Mostra il traffico che contiene la stringa "password" nel payload (da non eseguire su reti non sicure!)

tcp.analysis.flags

Mostra solo i pacchetti con errori TCP (es.: retransmission)

http.request.method == "GET"

Mostra le richieste HTTP GET

http.response.code == 404

Mostra le risposte HTTP con codice di stato 404 (Not Found)

dns.flags.response == 1 && dns.qry.type == 1

Mostra il traffico DNS con tipo di record A (indirizzo IPv4). (il dns.flags.response == 1 indica che è una risposta DNS).

frame.len > 1000

Mostra i pacchetti che hanno una lunghezza maggiore di 1000 byte

!dns

Mostra il traffico che non è DNS

Di seguito degli esempi con filtri combinati:

Filtro

Descrizione

http and ip.src == 192.168.1.100

Mostra il traffico HTTP proveniente da un determinato IP

tcp.dstport == 80 or tcp.dstport == 443

Mostra il traffico TCP con porta di destinazione 80 o 443

Di seguito degli esempi con espressioni regolari:

Filtro

Descrizione

http.user_agent matches "Mozilla.*Firefox"

Usa l'operatore matches o ~= per confrontare un campo con un'espressione regolare

frame contains 0x48545450

Trova pacchetti con un particolare valore esadecimale nel payload (corrisponde a "HTTP" in esadecimale)

ip.src == 192.168.1.0/24

Trova il traffico proveniente da una rete specifica (subnet)

Risoluzione dei problemi

Permessi insufficienti

Se si ricevono errori relativi ai permessi durante la cattura dei pacchetti, assicurarsi di aver seguito correttamente i passaggi per configurare i permessi e di aver riavviato la sessione utente.
Per verificare che l'utente sia effettivamente nel gruppo wireshark, digitare nel terminale il comando:

groups

Interfacce di rete non visualizzate

Se Wireshark non mostra le interfacce di rete, a seconda del tipo di installazione:

Cattura in modalità monitor

Per catturare il traffico in modalità monitor (necessaria per analizzare il traffico wireless), potrebbe essere necessario configurare ulteriormente la scheda di rete Wi-Fi. Per maggiori informazioni consultare questa guida.

Filtro non valido

Controllare attentamente la sintassi del filtro. Wireshark verrà in ausilio evidenziando gli errori.

Nessun pacchetto visualizzato

Assicurarsi che il filtro sia corretto e che ci siano pacchetti che corrispondano al filtro nel file di cattura.

Prestazioni rallentate

Filtri molto complessi possono rallentare Wireshark, soprattutto con file di cattura di grandi dimensioni. Cercare di semplificare i filtri quando possibile. Valutare l'utilizzo di filtri di cattura per ridurre la quantità di dati da analizzare.

Ulteriori risorse


CategoryServer CategoryInternet

Server/Wireshark (l'ultima modifica è del 26/05/2025 18.24.40, fatta da andreas-xavier)