Prima 36 apparecchi, poi 15 — e non era successo nulla
Una scansione della rete, due risultati, un falso allarme. Perché il ping è la misura sbagliata e il router ne sa più di qualsiasi scansione.
Contenuto
- Basta la pazienza a cambiare il risultato
- Tre punti ciechi della scansione
- Il router ne sa più di qualsiasi scansione
- Ma il router conta anche i morti
- L’errore di ragionamento che mi è costato di più
- Come si identifica un apparecchio sconosciuto
- Cosa resta invisibile, e perché è giusto così
- La domanda migliore
- Cosa ti consiglio
- E quindi?
Di mattina la scansione della rete ha trovato 36 apparecchi. A mezzogiorno, con lo stesso comando nella stessa casa, 15.
Il mio primo pensiero è stato che qualcosa fosse crollato. Sbagliato. Non era successo niente — se non che avevo misurato con lo strumento sbagliato.
Basta la pazienza a cambiare il risultato
Stesso mezzogiorno, stessi apparecchi, solo un’attesa più lunga nel bussare:
| Misura | apparecchi trovati |
|---|---|
| mattina, 1 tentativo, 700 ms | 36 |
| mezzogiorno, 1 tentativo, 700 ms | 15 |
| mezzogiorno, 2 tentativi, 900 ms | 26 |
Dieci apparecchi di differenza, solo perché lo strumento aspetta un po’ di più. Un numero che dipende così tanto dalle proprie impostazioni non è un inventario.
Tre punti ciechi della scansione
Una scansione chiede a ogni indirizzo della casa se lì risponde qualcuno. È una domanda a cui molti apparecchi per principio non rispondono.
Apparecchi a batteria che dormono. Un rilevatore di fumo o d’acqua si sveglia un attimo ogni minuto e tace per il resto del tempo.
Apparecchi che non rispondono mai. Il robot rasaerba non è comparso in nessuna scansione nemmeno mentre lavorava — semplicemente non risponde a quel tipo di richiesta.
Apparecchi in risparmio energetico. È il caso che mi ha portato fuori strada: i dispositivi Shelly in genere non rispondono e nel frattempo funzionano perfettamente. Chi li interroga col ping misura il loro sonno, non la loro salute.
Il router ne sa più di qualsiasi scansione
Il rasaerba è stato trovato non nella rete ma nell’elenco dei client DHCP del router — sotto il suo nome di fabbrica. La sigla contenuta è esattamente quella che il produttore assegna a quel modello: identificato senza dubbi.
Chi cerca un apparecchio che non risponde, chiede al router. Lui conosce ogni apparecchio a cui ha dato un indirizzo — anche quelli che per il resto tacciono.
L’elenco fornisce per di più nomi che nessuna scansione dà. Dallo stesso elenco, in un pomeriggio, sono stati identificati altri quattro apparecchi che prima erano solo indirizzi.
Ma il router conta anche i morti
L’elenco dei client aveva 47 voci, la scansione trovava circa 40 apparecchi. La differenza non sono apparecchi nascosti, sono cadaveri.
Un telefono compariva tre volte, con tre identificativi diversi:
...-von-... D2-B5-38-... .189
...-von-... D2-84-2A-... .232
...-von-... 4C-39-46-... .210
Solo il terzo appartiene a un produttore. I due che iniziano con D2 sono
assegnati localmente — estratti a sorte, non attribuiti. Lo si riconosce dal
secondo bit meno significativo del primo byte.
Android la chiama «usa MAC casuale», Apple «indirizzo Wi-Fi privato». In una rete altrui è un vantaggio. In casa propria costa:
- A ogni riconnessione può nascere un nuovo identificativo. Per il router è un apparecchio nuovo, e la vecchia voce resta.
- Una prenotazione non ha mai effetto — dipende dall’identificativo.
- Filtri per i minori, priorità ed elenchi di blocco finiscono nel vuoto.
E il nocciolo, che va oltre la tecnica:
Finché un apparecchio cambia identità, non è diagnosticabile. Prima l’identificativo stabile, poi la ricerca del guasto — altrimenti si osservano tre apparecchi che non esistono.
Cambiarlo è un’impostazione nel telefono, per ogni rete. Dopo, l’apparecchio mantiene il proprio identificativo reale, riceve un indirizzo stabile e si può osservare. Solo allora ha senso chiedersi se la connessione cada davvero.
L’errore di ragionamento che mi è costato di più
Dopo una modifica al Wi-Fi c’erano in rete tre indirizzi che non appartenevano ad alcun apparecchio noto. L’elenco del router ne ha nominati subito due. Sul terzo non ha aiutato.
Quindi una scansione delle porte: dalla 1 alla 1024, più una ventina di porte tipiche. Risultato: niente di aperto. La mia conclusione: questo apparecchio non offre nulla in locale e telefona solo verso l’esterno.
Sbagliato — per un buco nella mia stessa lista di porte. Una seconda passata dalla 1025 alla 10000 ha trovato esattamente una porta aperta:
6668 il protocollo Tuya locale
Nella prima lista non c’era.
«Nessuna porta aperta» non significa mai più di «nessuna delle porte che ho chiesto».
La conseguenza è uno strumento al posto di un ricordo: la lista delle porte sta ora in un solo punto, dentro uno script che prende un indirizzo e restituisce produttore, porte aperte con il loro significato, risposte di protocollo e certificato. Se non trova nulla, lo dice esplicitamente insieme al richiamo a questo preciso errore.
Come si identifica un apparecchio sconosciuto
Cinque gradini, nell’ordine in cui rendono:
- L’identificativo rivela il produttore. I primi tre byte sono assegnati.
- Il nome nell’elenco client rivela spesso il modello. I nomi di fabbrica quasi nessun rivenditore li sovrascrive.
- Le porte aperte rivelano il protocollo. Non conta il numero, contano quali.
- Il registro apparecchi di Home Assistant rivela il resto. Due apparecchi dello stesso produttore di chip non erano distinguibili in rete — la soluzione è venuta da Home Assistant, che per uno dei due aveva l’identificativo.
- Un colpo di protocollo decide. La risposta a una richiesta Tuya dimostra il protocollo e perfino la sua versione, anche se il contenuto resta chiuso senza la chiave giusta.
E il limite onesto: un indirizzo è tuttora non identificato. Nessun nome, solo la porta 443, e la stretta di mano TLS fallisce anche con impostazioni vecchie — l’apparecchio pretende probabilmente un certificato dalla controparte. In più un impulso regolare di 0,52 kBit/s in entrambe le direzioni. Lo schema di un apparecchio con una connessione stabile e autenticata verso l’esterno. Di più non so.
Cosa resta invisibile, e perché è giusto così
Ho passato un giorno a cercare uno switch, per vedere errori e traffico su ogni presa. Cercato su tre strade: SNMP, richiamo del produttore, interfacce web. Trovato: niente.
Il motivo è una lettera nella sigla del modello:
| Modello | gestibile? |
|---|---|
| la versione S ← installata | no — nessun indirizzo, nessuna interfaccia |
| la versione E | sì — interfaccia web, VLAN, mirroring delle porte |
Stessa forma, stessa fascia di prezzo, una lettera di differenza.
Un apparecchio che non compare in nessuna scansione non è per forza nascosto. A volte semplicemente non ha un indirizzo.
Una trappola l’ho comunque scritta nello script: gli switch gestibili stanno di fabbrica spesso su un indirizzo fisso — presso alcuni produttori esattamente quello del router. Se uno è ancora così, nessuna scansione lo trova: solo il richiamo.
La domanda migliore
Invece di «chi risponde al ping» è: gli apparecchi lavorano?
| Integrazione | Entità | non disponibili |
|---|---|---|
| Shelly | 93 | 0 |
| Hue | 65 | 0 |
| Blink | 61 | 0 |
| Robot rasaerba | 34 | 0 |
Restavano nove entità non disponibili in tutta la casa, tutte spiegabili: cinque voci per una velocità d’effetto che esiste solo mentre un effetto è in corso; due età dell’immagine per telecamere appena associate senza anteprima; due campi aggiuntivi di una lavatrice che dorme.
Per una rete di apparecchi Wi-Fi la percentuale di risposte al ping non è una misura di salute. Il valore attendibile sta nel registro delle entità.
Cosa ti consiglio
- Prendi il router come prima fonte, non la scansione. Conosce anche i silenziosi e ti dà i nomi.
- Metti in conto le voci morte. Più voci che apparecchi di solito significa identificativi casuali, non intrusi.
- Disattiva gli identificativi casuali nella tua rete — per ogni rete, nell’apparecchio. Prima, ogni ricerca di guasti su quell’apparecchio è inutile.
- Tieni la lista delle porte in un solo punto e fa’ che lo strumento dica quando non ha trovato nulla. «Niente di aperto» è un’affermazione sulla tua lista.
- Misura la salute dal lavoro, non dalle risposte. Il numero di entità non disponibili è attendibile, la percentuale di ping no.
- Se vuoi statistiche sulle porte, compratele al momento dell’acquisto. Uno switch non gestibile non diventerà mai visibile, per quanto buoni siano i tuoi strumenti.
E quindi?
Una mattina ho dato l’allarme e lo stesso giorno l’ho smentito io stesso con la misura migliore. In quest’ordine sta anche nella documentazione, ed è voluto.
La scansione non era rotta. Ha risposto esattamente a quello che le ho chiesto — chi risponde a una richiesta a cui molti apparecchi non sono tenuti a rispondere. La risposta oscilla con l’ora del giorno, il risparmio energetico e la pazienza impostata.
Un inventario della rete è fatto perciò di quattro fonti, e ognuna ha un punto cieco: la scansione non vede i silenziosi. Il router conta i cadaveri. La lista delle porte conosce solo ciò che chiede. E il registro delle entità conosce solo ciò che è già integrato.
Solo insieme danno un quadro. Separate, ognuna dà un numero su cui si vorrebbe fare affidamento.
Se vuoi seguire tutto questo: usa RSS
Niente newsletter. Non mi dai un indirizzo, non tengo liste e nessuno deve acconsentire a nulla per sapere che un articolo è pronto. RSS è la soluzione più vecchia e, per entrambe le parti, la più onesta.
Come si fa, e perché niente newsletter
- 1Procurati un lettore di feed. Senza account con un’app sul telefono o un’estensione del browser; chi preferisce usa un servizio con account.
- 2Inserisci lì l’indirizzo qui sopra.
- 3Fatto. I nuovi articoli compaiono da soli nel tuo lettore — ciò che non leggi resta non letto, e niente finisce tra fatture e pubblicità nella posta.
Perché è meglio: il tuo lettore scarica il file. Io non ricevo nessun indirizzo e non posso vedere chi legge né se qualcuno ha aperto. Disiscriversi vuol dire cancellare la voce — senza link, senza mail di conferma, senza di me.