Vai al contenuto
ProjectLab

NotaSoftware

NetStat: inventario e documentazione della rete di casa

Un programma per Windows che scansiona la rete locale, tiene l'inventario dei dispositivi nel tempo, esporta e reimporta la documentazione in Excel e scrive i nomi sul Fritz!Box. Cosa fa, funzione per funzione.

Antonello10 min di lettura

NetStat è un programma per Windows che censisce i dispositivi collegati alla rete locale e ne mantiene l’inventario nel tempo: nomi, categorie, note, credenziali e storia degli indirizzi. Si distribuisce come eseguibile singolo, non richiede installazione né alcun servizio esterno.

Non è solo uno scanner: la scansione è il punto di partenza, ma il programma è costruito attorno a un ciclo di lavoro completo — rilevare, documentare in Excel, reimportare risolvendo i conflitti, e riscrivere i nomi corretti sul router.

In breve

PiattaformaWindows (eseguibile singolo, nessuna installazione)
Interfacciagrafica (Qt), in italiano
Router supportatiAVM Fritz!Box via TR-064 (facoltativo)
Formato documentazioneExcel .xlsx, con reimportazione
Datitutti in locale, accanto all’eseguibile
Rete verso l’esternonessuna, tranne la ricerca vendor facoltativa

La scansione

La scheda Scansione di NetStat: parametri di rete, integrazione Fritz!Box, catalogo dei dispositivi e riquadro con lo stato dell'inventario

La finestra principale è divisa in quattro sezioni sulla barra laterale. Da Scansione si impostano l’intervallo di indirizzi da sondare e i parametri del router, e si avvia la ricerca.

Il rilevamento procede in tre fasi:

  1. Ping su tutto l’intervallo, con due tentativi per indirizzo. Un solo tentativo sottostima i dispositivi trovati: un apparecchio Wi-Fi in risparmio energetico spesso non risponde in tempo al primo pacchetto.
  2. Lettura della tabella ARP del sistema, che recupera anche gli host che bloccano il ping.
  3. Risoluzione del nome a cascata: catalogo locale, DNS inverso, mDNS (query multicast diretta, a cui rispondono la maggior parte di telefoni, TV, stampanti e dispositivi IoT) e infine NetBIOS per gli altri PC Windows.

Il produttore viene ricavato dal MAC tramite un piccolo elenco locale, con ricerca online facoltativa e messa in cache per le scansioni successive.

Interfacce web

Con l’opzione attiva, ogni dispositivo che ha risposto al ping viene controllato su quaranta porte selezionate: oltre a 80 e 443, quelle tipiche di router, NAS, stampanti, telecamere e dei servizi autogestiti che spesso convivono sullo stesso mini-server in container diversi. Le porte aperte compaiono in una colonna e un doppio click apre la pagina nel browser.

L’elenco è volutamente corto e viene provato solo sugli host raggiungibili, per non trasformare una verifica di pochi secondi in un’operazione di minuti. Per cercare su un intervallo ampio esiste un’azione separata, su un singolo dispositivo e mai automatica.

La tabella dei risultati

La tabella dei risultati con quattordici dispositivi: nome, indirizzo, MAC, stato, stabilità dell'indirizzo, categoria e credenziali

Ogni riga è un dispositivo. Lo stato è una pillola colorata, la categoria un chip, e la colonna che sceglie cosa scrivere sul router una casella di spunta. Le colonne sono ordinabili, il campo di ricerca in alto filtra su tutti i campi, e un selettore sceglie fra due densità: Essenziali (entra tutto nella finestra) e Tutte le colonne, che aggiunge le note, le tre fonti di nome, il tipo di indirizzo e le interfacce web.

Diverse celle sono modificabili direttamente: doppio click su Dispositivo per rinominare o scegliere fra le fonti disponibili, click su Categoria per assegnarla, doppio click su Note per un testo libero.

La colonna Stato

Un dispositivo può essere acceso senza rispondere al ping — telecamere, prese smart e telefoni in standby ignorano ICMP per scelta. Lo stato riporta quindi l’evidenza più diretta disponibile:

StatoSignificato
Onlineha risposto al ping: prova diretta
Online, senza pingil router lo dà connesso in questo momento
Rilevato (ARP)presente solo nella cache ARP, nessuna conferma che sia attivo
Attivo (solo router)il router lo dà attivo ma la scansione non l’ha visto
Noto al router (non attivo)il router lo conosce, non risulta collegato

Le righe attenuate sono i dispositivi non raggiungibili in quel momento. Quelli mai visti prima sono evidenziati in ambra, con un badge «Nuovo» accanto al nome.

Integrazione con il Fritz!Box

Collegando il router via TR-064 (facoltativo, la password non viene mai salvata su disco) diverse informazioni smettono di essere supposizioni:

  • il nome che ogni dispositivo ha comunicato al router in fase di DHCP, spesso più leggibile di qualunque hostname;
  • quali dispositivi sono attivi, anche se non rispondono al ping;
  • l’elenco completo dei dispositivi noti al router, compresi quelli irraggiungibili in quel momento;
  • il pool DHCP reale del router, letto direttamente invece di fidarsi dell’intervallo digitato nella scheda Scansione.

Tipo di indirizzo

Il programma distingue quattro casi, ricavati da due campi che il router espone:

ValoreCome viene stabilito
IP statico (sul dispositivo)il router dichiara AddressSource = Static
DHCP riservato (IP fisso)viene dal DHCP ma senza lease che scade
DHCP (dinamico)viene dal DHCP con un lease in scadenza
DHCP (non determinato)il router non ha riportato il dato

A separare una riserva da un lease dinamico è LeaseTimeRemaining, non l’appartenenza al pool: una riserva può stare — e di norma sta — dentro il pool. Un lease normale ha un conto alla rovescia; un indirizzo che il router tiene fisso su un dispositivo non ha nulla da far scadere e viene riportato come zero.

Per questo la tabella ha anche una colonna Stabilità IP, che non interroga nessuno e riporta solo il comportamento osservato scansione dopo scansione — stesso IP da 143 gg, oppure cambiato 2 volte. È una verifica indipendente, ed è l’unica informazione del genere disponibile quando il router non è collegato.

Diagnostica

La finestra di diagnostica: per ogni dispositivo i campi grezzi restituiti dal router accanto alla classificazione ricavata

Una finestra dedicata mostra, per ogni dispositivo, i campi grezzi restituiti dal router accanto all’etichetta che il programma ne ha ricavato, con un pulsante per copiare tutto negli appunti. L’interpretazione di quei campi è comportamento di AVM e non un contratto documentato: la diagnostica permette di verificarla sul proprio router invece di doversene fidare.

Riscrittura dei nomi

Una volta sistemati i nomi in NetStat, un pulsante li riporta sul Fritz!Box, riga per riga e solo su quelle selezionate, dopo conferma.

Il router usa il nome anche come etichetta DNS locale, quindi accetta solo lettere, cifre e trattini: un nome come lampada soppalco (1) verrebbe rifiutato con un errore poco chiaro, e viene convertito prima dell’invio in LampadaSoppalco1. Il riepilogo finale elenca cosa è stato scritto e cosa adattato. Viene modificata solo la voce nell’elenco del router: nessun dispositivo viene toccato.

Documentazione in Excel, con reimportazione

È la funzione attorno a cui è costruito il programma, e una scheda dedicata la presenta nei suoi tre passi: esporta, sistema i nomi, reimporta. L’esportazione produce un file .xlsx pensato per essere modificato e riletto, non un semplice report.

Il foglio principale ha il MAC come prima colonna, ed è la chiave: nomi e indirizzi cambiano, il MAC no. Le quattro colonne che vengono rilette in importazione — nome, categoria, note, utente — sono evidenziate in giallo e la categoria ha un menù a tendina; tutto il resto è una fotografia di sola lettura dell’ultima scansione. Un secondo foglio contiene le istruzioni, un terzo (nascosto) marca il file come prodotto da NetStat.

Due comportamenti da conoscere:

  • una cella vuota non cancella nulla. Cella vuota e colonna assente significano entrambe «nessuna opinione», non «cancella»: un file parziale non può distruggere informazioni che non si intendeva toccare;
  • le password non vengono mai esportate, solo i nomi utente.

La riconciliazione

La finestra di riconciliazione: il conflitto di indirizzo IP in evidenza e, per ogni dispositivo, il menù con le fonti del nome

Alla reimportazione il file viene confrontato con la scansione più recente e con l’archivio, e nulla viene scritto prima della conferma. Per ogni dispositivo con un nome diverso si sceglie la fonte da tenere: dal file Excel (predefinita), dall’archivio, dalla scansione, dal router, oppure «non modificare». Due scorciatoie applicano la scelta a tutte le righe.

In evidenza vengono segnalati i casi che meritano attenzione:

  • un indirizzo passato a un altro dispositivo rispetto a quanto registrato nel file, con entrambi i dispositivi nominati. Poiché tutto è agganciato al MAC e non all’IP, i nomi non possono comunque essere scambiati fra loro: è una segnalazione, non un errore da correggere;
  • lo stesso nome su più dispositivi, prima che venga scritto;
  • MAC presenti nel file ma mai visti, che vengono comunque aggiunti;
  • righe scartate, con il motivo.

Inventario nel tempo

Oltre ai nomi, il programma tiene un database locale con la storia di ogni MAC mai rilevato: prima e ultima volta visto, ultimo indirizzo, da quanto tempo lo mantiene, quante volte è cambiato, categoria e note libere. Sono queste informazioni a rendere possibile l’avviso sui dispositivi nuovi e la colonna sulla stabilità degli indirizzi, e sopravvivono a scansioni e riavvii.

Le categorie disponibili sono otto: Computer, Telefono/Tablet, TV/Media, Stampante, Smart Home/IoT, Rete, Console, Altro.

Credenziali

La scheda Credenziali con nove voci salvate, password mascherate e dispositivo collegato

Una cassaforte protetta da password principale conserva utenze e password dei dispositivi. È raggiungibile anche dalla tabella dei risultati: un doppio click sulla colonna Credenziali apre quella del dispositivo, oppure ne crea una già collegata al suo MAC, intitolata come il dispositivo e con l’indirizzo della sua interfaccia web se ne è stata rilevata una.

Come sono protette:

  • la password principale non viene salvata da nessuna parte, nemmeno in forma offuscata: su disco finiscono solo un sale casuale e un token di verifica, il minimo necessario per controllare la password digitata senza poterla ricostruire;
  • le singole password sono cifrate una per una con Fernet/AES, con chiave derivata tramite PBKDF2-HMAC-SHA256 e 390.000 iterazioni;
  • nell’elenco la password non è mai in chiaro, e gli appunti si ripuliscono da soli dopo trenta secondi a meno che nel frattempo non sia stato copiato altro.

Dove vengono salvati i dati

Tutto quello che il programma ricorda vive accanto all’eseguibile: impostazioni, catalogo dei nomi, inventario, credenziali cifrate e cache dei produttori. Copiare la cartella significa portarsi dietro l’intera configurazione; non viene scritto nulla nel profilo utente.

Se quella cartella non risulta scrivibile — succede lanciando il programma da un percorso protetto — viene mostrato un messaggio esplicito e l’avvio si interrompe, invece di salvare altrove senza avvisare.

Requisiti

  • Windows. L’eseguibile è autonomo: non serve installare Python né altro.
  • Privilegi di amministratore consigliati, per una lettura affidabile della tabella ARP. Senza, il programma parte comunque e segnala il limite.
  • Per l’integrazione con il router: un Fritz!Box con l’accesso delle applicazioni alla rete (TR-064) abilitato, di norma attivo di serie.

Limiti attuali

  • Fra i router è supportato solo il Fritz!Box. Con gli altri restano scansione, ARP e risoluzione dei nomi, ma non i nomi DHCP, lo stato reale, la distinzione fra riserva e lease dinamico né la riscrittura dei nomi.
  • L’elenco locale dei produttori è minimo: senza la ricerca online la colonna del produttore resta quasi sempre vuota.
  • Non c’è uno storico completo delle scansioni: sono registrate la prima e l’ultima volta in cui un dispositivo è stato visto, non tutte le volte.
  • Nessun rilevamento del servizio dietro una porta aperta: la ricerca estesa indica che la porta risponde, non di che servizio si tratti.

Disponibilità

L’eseguibile è in preparazione. Non richiede installazione, non comunica con alcun servizio esterno salvo la ricerca del produttore dal MAC — che è facoltativa e disattivabile — e non contiene telemetria di alcun tipo.

Il collegamento per scaricarlo comparirà in questa pagina appena la distribuzione sarà pronta.