
Chi lavora con reti, debugging o sicurezza conosce bene il peso e la complessità di strumenti completi come Wireshark. In molti casi però serve qualcosa di più rapido, leggero e immediato da usare direttamente da terminale. mShark punta proprio a questo obiettivo: offrire un packet sniffer minimale sviluppato in Go, semplice da compilare e capace di catturare traffico di rete senza interfacce grafiche elaborate.
Il progetto creato da shadowy-pycoder su GitHub permette di monitorare pacchetti in tempo reale, applicare filtri BPF e salvare i dati catturati in diversi formati compatibili con altri strumenti di analisi. Nonostante le dimensioni contenute, include supporto a numerosi protocolli comuni utilizzati ogni giorno nelle infrastrutture moderne.
Cattura pacchetti rapida e supporto ai protocolli più usati
mShark funziona tramite riga di comando e utilizza una sintassi molto diretta. È possibile scegliere l’interfaccia di rete, limitare il numero di pacchetti, impostare timeout e definire filtri specifici con espressioni BPF. Questo approccio lo rende pratico sia per troubleshooting veloci sia per attività di monitoraggio più mirate.
Tra i protocolli supportati compaiono:
- Ethernet
- IPv4 e IPv6
- TCP e UDP
- DNS
- HTTP
- TLS
- SSH
- FTP
- ICMP e ICMPv6
- SNMP
- ARP
Il programma può scrivere l’output direttamente sul terminale oppure generare file TXT, PCAP e PCAPNG. Quest’ultima opzione risulta particolarmente utile perché consente di aprire successivamente le catture con Wireshark per un’analisi approfondita.
Uno degli esempi più interessanti riportati dal progetto usa il filtro port 53 per intercettare richieste DNS sull’interfaccia eth0, salvando contemporaneamente i dati in più formati.

Una soluzione pratica per chi vuole controllare traffico sospetto, verificare query DNS o analizzare problemi di connettività senza dover avviare strumenti più pesanti.
Uno strumento leggero pensato per terminale e automazione
Essendo scritto in Go, mShark beneficia della portabilità tipica del linguaggio e può essere compilato facilmente su più piattaforme. L’assenza di dipendenze grafiche lo rende interessante anche per server remoti, VPS e ambienti minimalisti dove un analizzatore completo sarebbe eccessivo.
Tra le opzioni disponibili spiccano la modalità promiscua, la gestione della dimensione della coda dei pacchetti e il controllo dello snapshot length. Parametri che permettono di adattare la cattura sia a piccoli controlli occasionali sia a flussi di traffico più consistenti.
L’opzione -D consente inoltre di elencare rapidamente tutte le interfacce disponibili sul sistema, mentre -v abilita una visualizzazione dettagliata dei pacchetti direttamente in console. Questo comportamento lo avvicina ad altri strumenti da terminale molto apprezzati nel mondo Linux e Unix.
mShark non punta a sostituire completamente Wireshark, ma rappresenta una valida alternativa per chi preferisce strumenti compatti, scriptabili e immediati. In scenari DevOps, laboratori di rete, debugging rapido o ambienti cloud, un tool del genere può diventare estremamente utile per ottenere informazioni sul traffico senza appesantire il sistema.