Guida verificata con Ubuntu: 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Wireshark è un analizzatore di protocolli (packet sniffer), che permette di monitorare e filtrare tutti i pacchetti che passano attraverso una o più interfacce di rete.
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 supportati
Wireshark è in grado di leggere un'enorme numero di protocolli, quasi tutti quelli utilizzati nel networking moderno.
I principali sono:
TCP: (Transmission Control Protocol) è un protocollo corrispondente al livello 4 (trasporto) del modello di riferimento OSI.
UDP: (User Datagram Protocol) è un protocollo di trasporto a pacchetto. È usato di solito in combinazione con il protocollo IP.
ICMP: (Internet Control Message Protocol) è un protocollo di servizio che si preoccupa di trasmettere informazioni riguardanti malfunzionamenti.
ARP: (Address Resolution Protocol) è un protocollo che fornisce la "mappatura" tra l'indirizzo IP di un calcolatore e il suo MAC address.
La lista completa dei protocolli supportati dall'applicazione si può visualizzare e modificare. Consultare il paragrafo di configurazione.
Installazione
Mantenere Wireshark aggiornato per beneficiare delle ultime correzioni di bug e funzionalità.
Ci sono principalmente due metodi per installare Wireshark su Ubuntu, tramite apt e tramite snap.
apt
Questo metodo è il più semplice e consigliato per la maggior parte degli utenti.
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
L'installazione tramite Snap può avere limitazioni nella cattura del traffico di rete e non è generalmente raccomandata per un uso professionale.
Digitare nel terminale il comando:
sudo snap install wireshark
- Riavviare la sessione.
Al termine dell'installazione sarà possible avviare Wireshark.
Avvio
Per avviare Wireshark digitare nel terminale il seguente comando:
wireshark
Si dovrebbe essere in grado di vedere 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 la scelta.
Eseguire nella riga di comando il seguente comando:
sudo dpkg-reconfigure wireshark-common
Selezionare Sì quando richiesto.
Aggiungere l'utente al gruppo wireshark
Per permettere all'utente di catturare pacchetti senza dover utilizzare sudo, è necessario aggiungerlo al gruppo wireshark.
Digitare nel terminale il seguente comando:
sudo usermod -aG wireshark [nome_utente]
sostituendo [nome_utente] con il nome dell'utente desiderato.
- 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 di rete
Questi comandi potrebbero non essere sufficienti e la performance potrebbe non essere ottimale per limitazioni di accesso.
Potrebbe essere necessario connettere manualmente alcune interfacce per permettere a Wireshark di accedere alla rete. Digitare nel terminale i comandi:
sudo snap connect wireshark:network-control sudo snap connect wireshark:network-observe sudo snap connect wireshark:raw-serial
Cattura monitoraggio pacchetti
Una volta configurato il programma, avviare il monitoraggio dei pacchetti, è sufficiente cliccare su 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....
Filtri
Analizzare tutto il traffico di rete senza filtri sarebbe come cercare un ago in un pagliaio. I filtri permettono di concentrarsi sui pacchetti che interessano, rendendo l'analisi molto più efficiente. Ora vediamo come introdurre i diversi tipi di filtri.
Alcuni filtri sono già preimpostati nel programma. È inoltre possibile crearne altri personalizzati.
Tipi di filtri
Wireshark offre due tipi principali di filtri:
Filtri di Cattura (Capture Filters): Applicati prima che i pacchetti vengano catturati. Questi filtri riducono la quantità di dati catturati, risparmiando spazio su disco e riducendo il carico sulla CPU. Sono più performanti ma meno flessibili dei filtri di visualizzazione.
Filtri di Visualizzazione (Display Filters): Applicati dopo che i pacchetti sono stati catturati. Permettono di nascondere i pacchetti che non interessano nella vista principale. Sono più flessibili ma meno performanti dei filtri di cattura.
Consultare la pagina wiki da sito ufficiale, per ulteriori informazioni alla loro configurazione.
A tale scopo si può procedere cliccando su Analizza → Filtri di visualizzazione.... Verrà visualizzata una finestra, all'interno della quale si trovano tutti i filtri già configurati.
Nella tabella di seguito vengono elencati i filtri più comuni:
Nome |
Filtro |
Descrizione |
IP address 192.168.0.1 |
ip.addr == 192.168.0.1 |
Filtrare tutte le righe che hanno a che fare con l'IP 192.168.0.1 |
No ARP |
not arp |
Visualizzare tutti i protocolli tranne ARP |
TCP only |
tcp |
Visualizzare solo il protocollo TCP |
No ARP and no DNS |
not arp and !(udp.port == 53) |
Non visualizza le informazioni riguardanti il protocollo ARP e tutte le porte UDP 53 |
Creare un filtro
Per creare un nuovo filtro è sufficiente cliccare su (+) Crea un nuovo filtro e assegnargli un nome.
Cliccare sull'icona "Opzioni di cattura" (ingranaggio) o nel menu "Cattura" -> "Opzioni...".
- Nella finestra selezionare l'interfaccia di rete da monitorare.
- Inserire il filtro di cattura nel campo "Filtro di cattura per le interfacce selezionate".
- Cliccare su "Avvia" per avviare la cattura.
Per esempio, si potrebbe decidere di creare un filtro che mostri il traffico dei pacchetti solo esclusivamente per la porta TCP 60754. All'interno di Wireshark Dsplay Filter, digitare il seguente testo all'interno della casella Filter name:
TCP porta 60754
Infine cliccare su Nuovo, dunque su Expression.... All'interno della finestra Wireshark Filter Expression scegliere la voce TCP → tcpsrcport - Source Port, dunque selezionare == all'interno di Relation, infine, in Value, impostare 60754 come numero della porta.
Risoluzione problemi
Permessi insufficienti
Se si riceve 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.
Verificare che l'utente sia effettivamente nel gruppo wireshark da terminale con il comando:
groups
Interfacce di rete non visualizzate
Se Wireshark non mostra le interfacce di rete, a seconda del metodo di installazione utilizzato:
APT: Assicurarsi di aver installato Wireshark e configurato correttamente i permessi.
Snap: Connettere le interfacce manualmente come descritto sopra.
Cattura in modalità monitor
Per catturare il traffico in modalità monitor (necessaria per analizzare il traffico wireless), si potrebbe aver bisogno di configurare ulteriormente la scheda di rete wireless.