Qual è il problema dello scan remoto?

Durante uno scan la radio smette di fare l’access point o il client e ascolta i canali uno per uno. Se l’apparato è una CPE o un ponte che raggiungi proprio via radio, in quei secondi il link cade: WinBox si disconnette e il risultato dello scan se ne va con lui. In pratica stai chiedendo al router di guardarsi intorno mentre gli tappi le orecchie.

L’ho verificato con una radio in modalità station: appena parte lo scan, la station sparisce dalla tabella delle registrazioni e si ricollega da sola solo quando lo scan è finito.

Nel 2016 avevo descritto un trucco: lanciare lo scan da terminale con una durata breve e sperare che WinBox si ricollegasse in tempo per mostrare l’output. Funzionava, ma con margini stretti. In RouterOS 7 c’è un modo più robusto.

Schema: amministratore collegato a un MikroTik remoto che lancia uno scan Wi-Fi in background e salva il risultato su file
Lo scan gira in background e scrive il risultato su file: anche se la sessione cade, lo leggi quando torni.

Passo 1: quale pacchetto wireless ho?

I comandi cambiano a seconda del pacchetto installato. Guarda quale menu esiste:

/interface wifi print
/interface wireless print
  • wifi: il pacchetto nuovo, per le radio 802.11ax e per alcune 802.11ac (passi 2–5);
  • wireless: il pacchetto storico, per le radio 802.11a/b/g/n/ac più vecchie (passo 6).

Passo 2: come lancio uno scan che sopravvive alla disconnessione?

Con :execute, che fa girare il comando come processo separato, staccato dalla tua sessione. Il comando parte, il link cade, lo scan finisce comunque e il risultato resta in un file.

:execute script="/interface wifi scan wifi1 duration=10s save-file=scan-remoto.csv"

save-file salva il risultato in formato CSV, con qualche informazione in più rispetto a quella che vedi a video, per esempio il rumore di fondo. Sostituisci wifi1 con il nome della tua radio.

Dopo una ventina di secondi il link torna su e puoi ricollegarti.

Passo 3: come leggo il risultato?

Il file è nella memoria del router:

/file print where name~"scan-remoto"
:put [/file get scan-remoto.csv contents]

Oppure lo scarichi dal menu Files di WinBox e lo apri con un foglio di calcolo. Questo è il risultato di una prova in laboratorio (nomi delle reti e MAC address li ho cambiati io):

Wireless Scan Results
Device identity: MikroTik
Interface: wifi1
Time: 2026-10-08 17:01:27
ADDRESS,SSID,CHANNEL,SECURITY,SIGNAL,NOISE-FLOOR,LAST-SEEN-[s],
02:00:00:00:00:0A,RETE-A,5200/ax/eCee,WPA2-PSK/WPA3-PSK,-41,0,9.38,
02:00:00:00:00:0B,RETE-B,5200/ax/eCee,WPA-PSK,-41,0,9.38,

Passo 4: perché non basta save-file?

Sembrerebbe sufficiente il solo save-file, senza :execute. L’ho provato: ho lanciato lo scan da una sessione SSH e l’ho chiusa dopo quattro secondi, come succede quando cade il link. Il file c’era, ma conteneva solo l’intestazione, senza nemmeno una rete. Lo scan muore insieme alla sessione che l’ha lanciato.

Con :execute, invece, la sessione si chiude subito e lo scan va avanti per conto suo fino alla fine. È tutta qui la differenza.

Passo 5: come vedo quanto è occupato un canale?

Con lo stesso trucco lanci il frequency-scan, che per ogni canale misura quante reti ci sono, il carico e il rumore. È quello che serve per scegliere dove spostare un link:

:execute script="/interface wifi frequency-scan wifi1 duration=10s" file=freq-remoto.txt
:put [/file get freq-remoto.txt contents]

Qui file= è il parametro di :execute: salva nel file l’output del comando, così come lo vedresti a video. Un pezzo di quello che ho ottenuto:

   CHANNEL  NETWORKS  LOAD  NF   MAX-SIGNAL  MIN-SIGNAL
 S    5180            8%    -99
P     5200         3  7%    -98  -41         -42
      5560            23%   -95
      5620            21%   -96

Un canale con poche reti ma con un carico alto, come il 5560 qui sopra, è affollato lo stesso: c’è qualcuno che trasmette e non si presenta. Tutti i parametri di scan e frequency-scan sono nel manuale MikroTik: WiFi.

Passo 6: e con il pacchetto wireless?

Qui il manuale MikroTik indica proprio la strada per gli apparati remoti: uno scan di un solo giro con il risultato salvato in un file. Il router stacca il link, fa il giro dei canali, salva e si ricollega da solo.

/interface wireless scan wlan1 rounds=1 save-file=scan-remoto

Il pacchetto wireless ha anche lo scan in background, che non fa cadere il link. Funziona solo con il protocollo 802.11 (non con NV2), con l’interfaccia attiva: un access point su un canale fisso, oppure una station già collegata.

/interface wireless scan wlan1 background=yes

Per l’occupazione dei canali c’è il monitor delle frequenze, sempre attraverso :execute:

:execute script="/interface wireless frequency-monitor wlan1 duration=10" file=freq-remoto.txt

Condizioni e limiti dello scan in background sono nel manuale MikroTik: Wireless Interface.

Passo 7: come evito di restare tagliato fuori?

Tre precauzioni prima di lanciare qualunque scan su un apparato remoto:

  • Safe Mode: in WinBox o nel terminale (Ctrl+X). Lo scan non cambia la configurazione, ma se nella stessa sessione tocchi qualcos’altro e il link non torna, il router annulla le modifiche da solo;
  • durata breve: 5–10 secondi bastano per vedere le reti vicine. Più dura lo scan, più dura il disservizio;
  • uno alla volta: se lanci un secondo scan mentre il primo è ancora in corso, RouterOS risponde other tool running e il secondo file resta vuoto. Mi è successo in laboratorio.

Se l’apparato è un access point con clienti collegati, ricorda che durante lo scan anche loro perdono la connessione: meglio farlo in un orario tranquillo. E se l’apparato è appena stato installato, prima della produzione segui l’Hardening di base di un router MikroTik.

Provato in laboratorio su una routerboard con Wi-Fi 802.11ax con RouterOS 7.24.5 (stable) e pacchetto wifi: scan e frequency-scan con :execute, save-file con la sessione interrotta a metà, radio in modalità station scollegata e ricollegata durante lo scan. I comandi del pacchetto wireless (passo 6) vengono dalla documentazione MikroTik: su quell’apparato il pacchetto non c’è.

Domande frequenti

Perché durante lo scan wireless perdo la connessione con il MikroTik?

Durante lo scan la radio ascolta i canali uno per uno e smette di servire il collegamento: se raggiungi l’apparato proprio attraverso quella radio, il link cade per tutta la durata dello scan e torna da solo alla fine.

Come salvo il risultato di uno scan in un file?

Con il pacchetto wifi: :execute script="/interface wifi scan wifi1 duration=10s save-file=nome.csv". Con il pacchetto wireless: /interface wireless scan wlan1 rounds=1 save-file=nome. Il file si legge con /file get o si scarica da WinBox.

Perché il file dello scan contiene solo l’intestazione?

Perché la sessione che aveva lanciato lo scan si è chiusa prima della fine, e lo scan si è fermato con lei. Lanciandolo con :execute lo scan gira staccato dalla sessione e arriva fino in fondo.

Si può fare uno scan senza far cadere il link?

Con il pacchetto wireless sì, con background=yes, se il link usa il protocollo 802.11 e l’interfaccia è attiva. Con il pacchetto wifi lo scan e il frequency-scan scollegano i client, o la station dal suo access point.

Quanto deve durare lo scan su un apparato remoto?

Il meno possibile: 5–10 secondi bastano per vedere le reti vicine, e per tutto quel tempo l’apparato e i suoi clienti restano scollegati.

Questo howto aggiorna a RouterOS 7 un articolo del 2016 sul mio vecchio blog wirelessguru.it, ormai offline.