KapfenbergCosa è andato storto?Rete e misure

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.

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:

  1. L’identificativo rivela il produttore. I primi tre byte sono assegnati.
  2. Il nome nell’elenco client rivela spesso il modello. I nomi di fabbrica quasi nessun rivenditore li sovrascrive.
  3. Le porte aperte rivelano il protocollo. Non conta il numero, contano quali.
  4. 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.
  5. 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

  1. Prendi il router come prima fonte, non la scansione. Conosce anche i silenziosi e ti dà i nomi.
  2. Metti in conto le voci morte. Più voci che apparecchi di solito significa identificativi casuali, non intrusi.
  3. Disattiva gli identificativi casuali nella tua rete — per ogni rete, nell’apparecchio. Prima, ogni ricerca di guasti su quell’apparecchio è inutile.
  4. 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.
  5. Misura la salute dal lavoro, non dalle risposte. Il numero di entità non disponibili è attendibile, la percentuale di ping no.
  6. 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.