NetMeter controllare il consumo di rete su Linux, anche per singola applicazione

  • Categoria dell'articolo:Software
  • Articolo pubblicato:1 Ottobre 2026
NetMeter Linux

Tenere sotto controllo il traffico di rete di un computer Linux può essere particolarmente utile quando si dispone di una connessione con un limite mensile, si utilizza una rete mobile oppure si vuole semplicemente capire quali programmi stanno trasferendo più dati. NetMeter nasce proprio con questo obiettivo, offrendo un’interfaccia desktop attraverso cui analizzare download, upload e traffico complessivo.

L’applicazione è sviluppata utilizzando Tauri, con un backend scritto in Rust e un’interfaccia realizzata con TypeScript e React. A occuparsi della raccolta dei dati è inoltre netmeterd, un piccolo demone di sistema capace di continuare il monitoraggio fin dall’avvio del computer, anche quando la finestra principale di NetMeter non è aperta.

Uno degli aspetti più interessanti riguarda il metodo utilizzato per raccogliere le informazioni. NetMeter non effettua packet sniffing e non analizza il contenuto delle comunicazioni. Utilizza invece i contatori messi a disposizione dal kernel Linux e, per il monitoraggio per applicazione, alcune sonde eBPF sulle operazioni TCP e UDP.

L’interfaccia principale raccoglie diverse informazioni in un’unica schermata. È possibile vedere il consumo degli ultimi 30 giorni, il traffico della giornata corrente, le velocità di download e upload e un grafico dedicato agli ultimi 60 secondi. Sono inoltre disponibili statistiche separate per le diverse interfacce di rete.

Particolarmente utile è la distinzione tra interfacce registrate e interfacce effettivamente conteggiate nel totale. VPN, container e altre configurazioni virtuali possono infatti provocare una contabilizzazione multipla dello stesso traffico. NetMeter registra le interfacce, ma considera normalmente nel totale soltanto Ethernet, Wi-Fi e connessioni mobili, escludendo il loopback.

Statistiche di rete e monitoraggio delle applicazioni

La sezione dedicata alle applicazioni permette di individuare quali programmi hanno utilizzato la rete e quantificare separatamente download, upload e traffico complessivo. L’elenco può essere filtrato per nome e ordinato attraverso le diverse colonne, mentre le applicazioni possono essere accompagnate dalla propria icona recuperata dai file .desktop installati nel sistema.

NetMeter permette di analizzare il traffico attraverso diversi intervalli temporali: oggi, ieri, ultimi 7 o 30 giorni, mese corrente, mese precedente, anno corrente oppure un intervallo personalizzato.

Selezionando una singola applicazione è inoltre possibile visualizzare la relativa cronologia. Una voce particolarmente interessante è quella dedicata al protocol overhead, che rappresenta il traffico trasferito dalle interfacce ma non attribuibile direttamente a una determinata applicazione. In questa categoria possono rientrare intestazioni dei pacchetti, acknowledgement e ritrasmissioni.

Questo approccio permette di evitare una situazione frequente nei software di monitoraggio: la somma dei dati delle applicazioni non coincide con il traffico realmente transitato sull’interfaccia. NetMeter rende invece esplicita la differenza.

I dati possono essere esportati in formato CSV e JSON, rendendo possibile utilizzare le statistiche anche con altri strumenti. La sezione dedicata all’utilizzo nel tempo propone grafici e tabelle dettagliate, con la possibilità di passare dai dati giornalieri a quelli mensili.

Un ulteriore elemento importante riguarda i periodi nei quali il monitoraggio non era attivo. NetMeter non interpreta automaticamente l’assenza di dati come consumo pari a zero: il traffico avvenuto quando nessun componente stava effettuando il conteggio viene indicato separatamente.

NetMeter usa eBPF senza catturare il contenuto dei pacchetti

Il componente netmeterd può funzionare come servizio di sistema e raccogliere i dati dall’avvio. I contatori delle interfacce vengono registrati ogni cinque secondi, mentre sei probe eBPF permettono di rilevare il traffico associato alle operazioni di invio e ricezione TCP e UDP.

Dal punto di vista dei privilegi, il demone utilizza CAP_BPF e CAP_PERFMON, senza ricorrere a un binario setuid o a una shell root. Il servizio non può inoltre aprire una propria connessione di rete e comunica con l’applicazione attraverso un socket locale.

Quando il demone non è disponibile, NetMeter può continuare a funzionare effettuando autonomamente il campionamento dei contatori delle interfacce mentre l’applicazione è aperta. In questa modalità, però, non è disponibile il monitoraggio per singola applicazione.

La gestione dei dati tiene conto anche di situazioni che potrebbero rendere inaffidabile un semplice calcolo delle differenze tra due rilevazioni. Reset dei contatori, riavvii, comparsa o scomparsa delle interfacce, sospensione del computer e modifiche dell’orologio vengono gestiti esplicitamente. Quando una variazione non può essere considerata attendibile, NetMeter preferisce scartare il campione invece di produrre una stima.

Le statistiche delle applicazioni rappresentano i byte del payload, quindi risultano naturalmente inferiori al traffico complessivamente trasferito dalle interfacce. La differenza viene mantenuta come voce separata.

Anche il consumo delle risorse appare contenuto: una lettura di /proc/net/dev richiede circa 190 microsecondi e, secondo i dati del progetto, un anno di registrazioni relative a quattro interfacce occupa circa 2,4 MB nel database.

Installare NetMeter

NetMeter è disponibile per Linux attraverso pacchetti deb, rpm e con file binario precompilato. Abbiamo testato il software su Debian 13 con ambiente desktop GNOME.

Completano il programma le impostazioni per scegliere le interfacce conteggiate, configurare un limite mensile e ricevere notifiche desktop al raggiungimento dell’80% e del 100% della soglia. È inoltre possibile configurare l’avvio automatico e decidere il comportamento della finestra quando viene chiusa, mantenendo NetMeter attivo nell’area di notifica.

Lascia un commento