mercoledì 30 gennaio 2019

Recuperare tutte le password delle reti WiFi memorizzate sul proprio computer


Buongiorno a tutti e bentornati sul mio blog. Come va oggi? E' una bella giornata?

DISCLAIMER: le tecniche di questo articolo presuppongono l'accesso shell ad un computer. Se  non siete autorizzati a visualizzare i dati delle reti wireless (inclusa la password) a cui il computer si è connesso, non fatelo! Richiedete l'accesso a chi  è autorizzato.
Questo articolo include tecniche legittime, previste dagli strumenti del sistema operativo Microsoft Windows, per recuperare le password di reti wireless memorizzate.
Questo articolo è al solo scopo educativo e non incoraggia in alcun modo alcuna attività non autorizzata o illegale.

Ma veniamo a noi: ho promesso di mostrarvi quanto sia facile recuperare le password della wireless di un computer che ci capita sottomano (ovviamente devo dirvi che farlo su un computer che non è il vostro e/o non essendo autorizzati NON E’ LEGALE.  “Uomo avvisato…”).

Salvare la password del wifi su windows NON E’ SICURO, di per se’.

Dobbiamo proteggere l’accesso al nostro sitema, ed essere certi che possiamo usarlo SOLO NOI e persone di cui ci fidiamo… …o almeno controllare quello che fanno gli altri sul nostro sistema, con i nostri occhi e prestando molta attenzione.
A che cosa serve proteggere la vista dell’input della password del wifi su Windows, se poi si recuperano con un semplice script? Serve SOLO a impedire che chi sta guardando il nostro schermo veda quello che digitiamo. Tuttavia ci suggerisce anche un falso senso di sicurezza…
Forse molti di voi ancora pensano che non sia possibile recuperare le password delle reti wireless dal computer. Beh, vi sbagliate.
Il processo non solo è possibile, ma anche in modo semplice e senza autorizzazioni di amministratore.
Il trucco è compatibile con:
·         Windows XP (non ricordo essattamente… qualcuno ha a disposizione un PC su cui provare?)
·         Windows 7
·         Windows 8 e 8.1
·         Windows 10
Quindi, anche non essendo amministratore del vostro PC,  se questo accede alla rete wireless, potete vederla tranquillamente (occhio alla legalità dell’operazione, vedi sopra).

Come vedere tutte le reti wireless a cui si è connesso il proprio PC.

Per elencare tutti i profili wifi memorizzati da un PC con windows 10 è possibile semplicemente usare il comando:

netsh wlan show profile

ed ecco comparirci una lista di tutte le reti wireless a cui ci siamo connessi.


Come vedere i dettagli di connessione di una rete WiFi

Per vedere tutti i dettagli disponibili circa la rete wireless a cui ci vogliamo connettere o che vogliamo scoprire, possiamo lanciare lo stesso comando seguito dal nome della rete:

netsh wlan show profile

ed ecco comparire una sequela di dettagli sulla configurazione della rete e del nostro PC rispetto a quella rete. Ad esempio è possibile vedere se il PC è impostato per connettervisi automaticamente o meno.



Come vedere in chiaro la password di una rete wifi (rimuovere gli asterischi, in sostanza)

Per vedere senza asterischi la password salvata di quel profilo, è sufficiente aggiungere un’opzione alla fine:
key= clear
ed ecco che il comando diventa:

netsh wlan show profile key= clear



… e potevamo fermarci qui! Ma non sarebbe stato da veri “Scriptomani”.

Come recuperare TUTTE le password di TUTTE le reti wireless a cui ci siamo connessi

… anche una sola volta, anche molto tempo fa…. Il nostro PC ha buona memoria!
Ecco che, come al solito, ci vengono in aiuto i comandi di sistema. In questo caso creiamo uno script che, semplice semplice, ci restituisce un elenco completo di tutte le reti wireless con le rispettive password.
Ma ecco qui lo script, in tutta la sua bellezza e semplicità:

@echo OFF
setlocal EnableDelayedExpansion
FOR /F "usebackq delims=: tokens=2" %%a IN (`netsh wlan show profiles`) DO (
set nomeRet=%%a
set nomeRete=!nomeRet:~1!
@netsh wlan show profiles name=!nomeRete! key=clear | FINDSTR /RI /C:"Nome[ ]*SSID" /C:"Contenuto[ ]*chiave"
echo.
)
Pause

Ed ecco l’output dello script, oscurato ovviamente nelle “zone sensibili”:




BENE! Ed ecco che anche oggi abbiamo finito. Spero di aver stuzzicato la vostra fantasia e di aver dimostrato, un’altra volta, che “lo scripting scorre potente in Windows“ e che abbiamo a disposizione comandi per fare pressochè qualsiasi cosa, senza disturbare i signori compilatori, Linux, superprogrammatori, etc, etc…


Detto questo:
“usa lo script, Luke!”
E
Happy Scripting a tutti!

mercoledì 23 gennaio 2019

Eliminare le righe numero X da un file di testo - vbscript

Buongiorno a tutti!
Oggi, in questo brevissimo post, voglio condividere con voi uno dei mitici script che ho creato nel mio “viaggio” come Sysadmin…


Capita a volte di trovarsi a dover manipolare programmaticamente dei file e di doverne analizzare e modificare di davvero ENORMI…

…a questo punto ecco entrare in gioco il mitico scripting, che permette di programmare on-the-fly ed avere il risultato pronto, senza bisogno di scomodare il signor compilatore… 😊


Con questo script è possibile eliminare, da un file di testo MOOOOLTO grande, un elenco specifico di righe.
In pratica mi avevano chiesto di ricevere un file ed un elenco delle righe da eliminare e… bumble bumble magicabula … generare un file corretto…

ma ecco lo script, sperando che possa tornare utile a qualcun altro.


' Elimina le righe numero X da un file di testo. i numeri riga da eliminare li prende da un file di testo. const ForReading = 1 const ForWriting = 2 const ForAppending = 8 set Dic = createObject("Scripting.dictionary") Set objFSO1 = createObject("Scripting.FilesystemObject") Set objFSO2 = createObject("Scripting.FilesystemObject") Set objFSO3 = createObject("Scripting.FilesystemObject") Set myRegExp = New RegExp myRegExp.IgnoreCase = True myRegExp.Global = True myRegExp.Pattern = "regex" percBase="C:\Users\DiegoC\Desktop\TMP\2014-10-21_varie\ScriptAmministrazione\" numFile=4 fileRighe = percBase & "errori file" & numFile & ".csv" fileOrigine = percBase & "contratti_" & numFile & ".txt" fileDestinazione = percBase & "contratti_pulito_" & numFile & ".txt" Set objFileRighe = objFSO1.OpenTextFile(fileRighe, ForReading) Set objFileOrigine = objFSO2.OpenTextFile(fileOrigine, ForReading) Set objFileDestinazione = objFSO3.OpenTextFile(fileDestinazione, ForAppending, True) ' caccia i numeri riga da eliminare in un dictionary 'apri file di testo, e parsalo row-by-row nel dic. (includendo 1) perch� la riga 1 (la zero sarebbe) contiene le intestazioni REM Dic.Add 0, "" Do Until objFileRighe.AtEndOfStream strLine = objFileRighe.ReadLine strArr=split(strLine, ";") strRowToDel=CLng(strArr(2)) strRowToDel=strRowToDel-1 Dic.Add strRowToDel, "" REM wscript.echo " ciaociao " & strRowToDel Loop 'apri il file di destinazione (un nuovo file di testo for append. 'apri il file di origine for reading. i=0 Do Until objFileOrigine.AtEndOfStream 'row by row incrementa puntatore, se puntatore � in dictionary delle righe da eliminare, salta la riga, altrimenti appendila nel file di destinazione. strLine = objFileOrigine.ReadLine REM wscript.echo "riga " & i if Dic.Exists(i) then REM wscript.echo "byebye" else objFileDestinazione.WriteLine strLine end if i=i+1 Loop






HAPPY SCRIPTING!

martedì 22 gennaio 2019

Trovare i file in tutte le sottocartelle con il comando DIR (e filtrarli, se necessario) - episodio 2

Buongiorno e benvenuti a questo secondo episodio della mini-serie dedicata al comando dir.
Se non avete ancora letto il primo articolo, fatelo ora qui

http://scriptomane.blogspot.com/2019/01/dir-avanzato-sottocartelle-1.html



Oggi procediamo con le presentazioni dei vari parametri più o meno sconosciuti di DIR e le loro funzionalità.

Buona lettura!

Come ordinare i files/cartelle per …

Quindi prendiamo l’opzione del comando /O, per ordinare l’output in base ad un attributo. IN questo caso scegliamo la data di ultima modifica. Quindi:

Dir /S /B /OD



… e per ordinare dal più recente:

dir /S /B /O-D



Se vogliamo poi usare una data diversa da quella di ultima scrittura / modifica, possiamo usare l’ulteriore opzione /T, che determina QUALE data usare per l’ordinamento:

C  Creazione
A  Ultimo accesso
W  Ultima scrittura


Come eseguire un comando su ogni file o cartella presente in tutte le sottodirectory

… e, per finire, un tema che, spero, stuzzicherà la vostra fantasia.

Supponiamo di essere stati incaricati di appendere una riga di testo in tutti i files formato TXT contenuti in un albero di cartelle. Questa riga di testo dovrà separarsi dalle precedenti con una riga vuota e costituire il “footer” di tutte le comunicazioni antecedenti alla data odierna.
Ed ecco che, con una riga di comando, senza neppure scomodare il file .bat …
Siamo in grado di adempiere al nostro compito nel modo più efficace ed efficiente possibile:

FOR /F “usebackq delims=; tokens=*” %a IN (`DIR /A-D /S /B c:\interventi\test\*.txt`) DO (
Echo.>>%a
Echo --- footer - comunicazione antecedente alla data %date% --->>%a
)





Come sempre, ricordatevi che, se lo volete inserire in un file batch, le %a devono diventare %%a

… detto questo …

Happy Scripting a tutti!

lunedì 21 gennaio 2019

Trovare i file in tutte le sottocartelle con il comando DIR (e filtrarli, se necessario) - episodio 1

Buongiorno e benvenuti ad un altro episodio del mio blog, nel quale cerco di riportare in auge la potenza degli script e della command line per l’amministrazione e la gestione dei sistemi.

Oggi parliamo del comando DIR e delle sue potenzialità inespresse.

Può capitare infatti che ci venga richiesto di elencare solo determinati tipi di files in TUTTE LE SOTTODIRECTORY di un albero di cartelle.

Che fare dunque? Andare ad aprirle tutte a mano? Ma certo che NO!

Premessa

Per seguire questo articolo è necessaria una minima conoscenza del comando DIR. Minima minima…
… almeno averlo usato una volta nella vita…

Tutta la potenza di DIR

Vediamo insieme l’help di DIR, così da capire quali sono le moltissime potenzialità, spesso sconosciute, di questo comando di sistema, tra i più vecchi ed affidabili della storia dell’informatica.

C:\Users\DiegoC>dir /?
Mostra l'elenco dei file e delle sottodirectory in una directory.

DIR [unità:][percorso][nomefile] [/A[[:]attributi]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]ordinamento]] [/P] [/Q] [/R] [/S] [/T[[:]campo data]] [/W] [/X] [/4]

  [unità:][percorso][nomefile]
              Specifica unità, directory e/o file da elencare.

  /A          Visualizza i file con gli attributi specificati.
  attributi    D  Directory                  R  File sola lettura
               H  File nascosti              A  File archivio
               S  File di sistema            I  File non indicizzati
               L  Reparse point             - Prefisso per negare l'attributo
  /B          Utilizza lista file senza intestazione o informazioni di
              riepilogo.
  /C          Visualizza il separatore delle migliaia nelle dimensioni dei
              file. Impostazione predefinita. Utilizzare /-C per disabilitarla.
  /D          Come /W ma con i file ordinati per colonna.
  /L          Utilizza caratteri minuscoli.
  /N          Nuovo formato lungo, con nomi file a destra.
  /O          Elenca file ordinandoli.
  ordinamento  N  Per nome, alfabetico       S  Per dimensione, dal minore
               E  Per estensione, alfabetico D  Per data e ora dal più vecchio
               G  Mostra prima directory     - Prefisso per invertire l'ordine
  /P          Mostra elenco una schermata per volta.
  /Q          Mostra il proprietario del file.
  /R          Visualizza flussi di dati alternativi del file.
  /S          Mostra file della directory e delle relative sottodirectory.
  /T          Controlla campo data visualizzato o utilizzato per ordinare.
  campo data  C  Creazione
              A  Ultimo accesso
              W  Ultima scrittura
  /W          Visualizza in formato ampio.
  /X          Mostra i nomi brevi generati per i nomi con formato lungo.
              Il formato è come quello di /N con nomi
              abrevi prima del nome esteso. Se non ci sono nomi brevi
              vengono visualizzati spazi bianchi.
  /4          Mostra l'anno in formato 4 cifre

Le opzioni possono essere preimpostate nella variabile d'ambiente DIRCMD.
Le opzioni preimpostate vengono annullate con un trattino, es./-W.



Non mi soffermerò qui sui comandi più banali di DIR, perché, come detto, mi aspetto che almeno il minimo lo abbiate già fatto (dir *.*, dir c:\test\, dir /W, …) ma andrò direttamente al “succo” dei comandi + interessanti.



/S e /B combinati: preparare l’output perché venga usato come input da un altro comando.

Come avete potuto apprezzare nell’help, il /S prevede che la ricerca non si fermi alla prima cartella / directory dell’albero, mentre il /B prevede che l’output sia un semplice elenco di file e cartelle, senza informazioni di intestazione etc… vediamo due esempi:

dir /S 




dir /B 



Ma che succede se combiniamo queste due opzioni?

La cosa mitica è che vedremo un elenco di files e cartelle, senza intestazioni o informazioni, con TUTTO IL LORO PERCORSO ASSOLUTO.
Questo è fantastico se dobbiamo, ad esempio, eseguire un comando su ogni file di un certo tipo in tutte le sottocartelle (come vedremo + avanti nell’articolo)

Dir /S /B




Come elencare solo le directory in tutte le sottocartelle

Come abbiamo visto nell’help, l’opzione del comando che filtra per determinati attributi è /A, combinata con una lettera che indica l’attributo, appunto, da cercare.
Possiamo, ad esempio, cercare solo le CARTELLE:

dir /AD /S



… e se le vogliamo vedere tutte una dietro l’altra (come detto nel paragrafo precedente):

dir /AD /S /B


Come trovare tutti i files nascosti 

Ecco come, con il parametro del comando /A è possibile filtrare per altri attributi.
Ho infatti assegnato al file C:\interventi\test\10000\10001\testTxtfile.txt gli attributi di NASCOSTO e SOLA LETTURA.

E' possibile inoltre filtrare in modo NEGATIVO, escludendo i files e le cartelle con un determinato attributo, con la NEGAZIONE per mezzo del meno. Avremo che:

dir /A-DH /S /B 



significa: trova tutti i files che NON sono cartelle E che HANNO l'attributo nascosto (hidden - file nascosti)

Come elencare / listare solo i files di tipo … escludendo le cartelle

… xml, pdf, word, docx, excel, xlsx, … insomma: ci potete mettere quello che volete, alla fine dei 3 puntini…
Di fatto vi basta aggiungere un *. nell’opzione [nomefile] del comando, per filtrare / selezionare SOLO i file con una certa estensione in TUUUTTO l’albero delle cartelle.

Ed ecco qui un paio di esempi:

dir /A-D /S /B C:\interventi\test\*.xlsx
dir /A-D /S /B C:\interventi\test\*.pup
dir /A-D /S /B C:\interventi\test\*.txt



Come avete visto, utilizzo il /A-D per escludere volontariamente le cartelle, perché le cartelle POSSONO contenere il punto nel nome… quindi ci possono essere dei falsi positivi e poi, hey: l’ho detto che parlavo solo dei comandi “avanzati”, giusto? 😊



… per oggi abbiamo finito …

Presto invierò il secondo articolo di questa mini-serie sul poderoso comando DIR. Nel frattempo:
HAPPY SCRIPTING!


sabato 19 gennaio 2019

dsget, dsquery, dsadd, dsmod - strumenti sottovalutati se siete amministratori di rete - Quarta parte: dsmod

Buongiorno a tutti, questa è la "puntata conclusiva" di questa mini-serie sui mitici strumenti batch per l'interazione con Active directory : dsquery, dsget, dsadd, dsmod. 


ecco l'elenco degli articoli di questa mini-serie:

Prima parte
Seconda parte
Terza parte
Quarta parte



Oggi parliamo di DSMOD

Dsmod, come suggerito dal nome, serve per modificare oggetti di Active Directory dalla command-line.

Ecco quindi, per le vie brevi, cosa possiamo modificare con dsmod (dall'help del comando):
  • dsmod computer - Modifica un computer esistente nella directory.
  • dsmod contact - Modifica un contatto esistente nella directory.
  • dsmod group - Modifica un gruppo esistente nella directory.
  • dsmod ou - Modifica un'unità organizzativa esistente nella directory.
  • dsmod server - Modifica un'istanza di controller di dominio Active Directory o di AD LDS esistente nella directory.
  • dsmod user - Modifica un utente esistente nella directory.
  • dsmod quota - Modifica una specifica di quota esistente nella directory.
  • dsmod partition - Modifica una specifica di partizione esistente nella directory.

Come detto in precedenza, ogni comando ha un suo help contestuale a cui si può accedere con dsmod -?

... ecco a questo punto un paio di esempi:

Modificare un utente active directory da command line:

Sono tante le caratteristiche di un oggetto utente in AD, molte delle quali si possono modificare con dsmod. Per un elenco completo di quello che è possibile cambiare, come sempre: dsmod user -?

ecco dunque il nostro comando:

dsmod user "CN=Dieguito C,OU=ZZZ_TEST,DC=miodominio,DC=local" -desc "prova2 di descrizione - modificata" -disabled yes


ed ecco i risultati





Modifcare un gruppo di AD con uno script batch:

I gruppi sono oggetti un attimo meno complessi come numero di proprietà. Anche in questo caso, usate l'help per sapere quali potete cambiare con dsmod.

digitiamo quindi:

dsmod group "CN=tst_DLsecGroup,OU=ZZZ_TEST,DC=miodominio,DC=local" -desc AAAAAA


ed otterremo:




Rimuovere o aggiungere un utente ad un gruppo di Active directoy con dsmod da command line:

Tra le cose che si possono modificare di un gruppo di AD, c'è l'elenco membri. Utilizzando le opzioni: -addmbr | -rmmbr | -chmbr, possiamo modificare a piacimento l'elenco dei membri del gruppo.

ad esempio, se vogliamo rimuovere l'utente:

dsmod group "CN=tst_DLsecGroup,OU=ZZZ_TEST,DC=miodominio,DC=local" -rmmbr "CN=Dieguito C,OU=ZZZ_TEST,DC=DASItalia,DC=local"



ed otterremo il risultato






FINE

Spero di aver solleticato la vostra creatività, scriptomani.

Happy scripting!

venerdì 18 gennaio 2019

dsget, dsquery, dsadd, dsmod - strumenti sottovalutati se siete amministratori di rete - Terza parte: dsadd

Buongiorno a tutti, oggi continuiamo a parlare dei mitici strumenti batch per l'interazione con Active directory services: dsquery, dsget, dsadd, dsmod.

ecco l'elenco degli articoli di questa mini-serie:

Prima parte
Seconda parte
Terza parte
Quarta parte

Oggi parliamo di DSADD

Dsadd, come suggerito dal nome, è uno strumento per aggiungere oggetti ad Active Directory.
Ecco, dall'output della guida del comando, cosa si può fare con dsadd.

dsadd computer - Aggiunge un computer alla directory.
dsadd contact - Aggiunge un contatto alla directory.
dsadd group - Aggiunge un gruppo alla directory.
dsadd ou - Aggiunge un'unità organizzativa alla directory.
dsadd user - Aggiunge un utente alla directory.
dsadd quota - Aggiunge una specifica di quota a una partizione
di directory.

In sintesi, per ogni "gusto" di dsadd si possono aggiungere ad Active Directory oggetti di una determinata tipologia.
Per un elenco delle tipologie di oggetto che possono essere aggiunte, potete lanciare il comando seguito da /? o -? . Come ad esempio:
dsadd group -?

Chiaramente, anche oggi, non andremo a sviscerare tutte le possibilità offerte dal coando, ma prenderemo ad esempio alcune situazioni comuni:

Premessa: il DistinguishedName

Se non avete ben chiaro cosa è il DN di un utente o, in generale, di un oggetto AD, beh, andate a vedervi il primo articolo di questa serie, poi tornate qui.


Aggiungere / Creare un utente Active Directory da batch:

Con dsadd è possibile creare utenti active directory da script e, contestualmente, impostare molte delle proprietà possibili dell'oggetto. In questo esempio vedremo come creare un nuovo utente specificando nome, cognome, nome visualizzato, una descrizione, il telefono dell'ufficio e, ovviamente, lo username e la password.

ecco qui:
dsadd user  "CN=Dieguito C,OU=ZZZ_TEST,DC=miodominio,DC=estensione"-fn Diego -ln Castelli -display "Castelli Diego TEST" -desc "Utente di test - da cancellare" -samid DieguitoC -hometel "+39123456789" -pwd "PasswordDiProva..12345"




... ed ecco il nostro risultato comparire nella OU zzz_test, come specificato.



Aggiungere / Creare un gruppo Active Directory con uno script:

Con dsadd possiamo aggiungere anche gruppi, sempre specificando molte delle loro caratteristiche. Qui creiamo un gruppo, sempre nella nostra OU di test, definendo che è un gruppo di sicurezza, che ha scopo locale al dominio e la sua descrizione.

Come si può notare dal contenuto della guida dsadd group -? è possibile anche aggiungere membri al gruppo mentre lo si sta creando. E noi, in questo esempio, aggiungeremo ANCHE il nostro utente appena creato al gruppo.


ecco il comando:
dsadd group "CN=tst_DLsecGroup,OU=ZZZ_TEST,DC=miodominio,DC=local" -secgrp yes -scope l -desc "gruppo di sicurezza di test - da cancellare" -members "CN=Dieguito C,OU=ZZZ_TEST,DC=miodominio,DC=local"
dsadd operazione riuscita:CN=tst_DLsecGroup,OU=ZZZ_TEST,DC=miodominio,DC=local




...ed ecco il nostro risultato comparire bello e pronto nella nostra OU:

Aggiungere / Creare una OU Active Directory con un .bat:

ed eccoci arrivati all'ultimo esempio che ho intenzione di trattare: inserire una OU, una organizational unit (o unità organizzativa) in active directory, usando solo "la forza" del nostro amato linguaggio di scripting...

a differenza degli altri esempi, le propietà che possono essere impostate già durante la creazione dell'oggetto OU sono ... UNA SOLA. Infatti una OU non ha molte proprietà e possiamo impostare, oltre ovviamente al suo percorso, solo una descrizione.

ed ecco qui il comando:
dsadd ou "OU=TEST-subOU,OU=ZZZ_TEST,DC=DASItalia,DC=local" -desc "descrizione della OU"





bene, spero di avervi fatto venire voglia di creare mille script per automatizzare tutti gli aspetti di gestione utenze...

Happy Scripting!

lunedì 14 gennaio 2019

Android e WiFi: tutte le soluzioni (ovvero: perché Android non vede una rete wifi)

Da tempo vi state arrovellando il cervello per capire perché il vostro smartphone android ...

... non vede la rete wireless?



Beh, tenetevi forte perché adesso vedremo una carrellata di possibili motivazioni e, per ciascuna, la soluzione.

Capita talvolta che il nostro amato cellulare “intelligente” non sembri poi così “smart”. Soprattutto quando siamo gli unici in mezzo ad altri che non riescono a navigare con la wi-fi ospiti nella hall di un albergo oppure di un ristorante.

Tra le mura domestiche, poi, se il nostro android “jelly bean”, “kitkat” o “Lollipop” non prende nemmeno la rete wireless di casa… … ci arrabbiamo talmente tanto che ci verrebbe voglia di lanciarlo fuori dalla finestra e sostituirlo subito con un nuovissimo dispositivo Android “Pie” o, al più , “Oreo” (e forse questo ci da anche la “scusa” per farlo).

Ma che fare se, anche sostituendo il device, questo non prende la wifi?

Oppure ancora, che fare se proprio non vogliamo abbandonare il nostro smartphone, sia esso aggiornato a “Nougat”, “Marshmallow” o ancora a “KitKat”?     

Vediamo di seguito una carrellata su molte delle cause più comuni di questa disfunzione e come risolvere in ciascuna situazione.


DISCLAIMER:
Prima di tutto, mettiamo in chiaro una cosa: se decidi di seguire queste procedure, lo fai a tuo rischio e pericolo. Soprattutto quelle “rischiose”, che coinvolgono la modifica di qualsiasi cosa a livello non standard. Se qualcosa non funziona o si rompe, non venire da me.


Problema 1: ci si sta provando a connettere a una rete 5GHz, avendo attivato solo la banda 2.4 GHz, o vice-versa.

Non so se lo sapete, ma il segnale WiFi può attestarsi su due “macro-bande” di frequenza: 2.4 GHz e 5 GHz.
I telefoni moderni ed i computer, hanno tutti una scheda che permette di funzionare ad entrambe le frequenze. Tuttavia, in android, esiste una impostazione che permette di selezionare se attivare la compatibilità con una sola o entrambe le frequenze.

Soluzione: verificare che l’impostazione permetta la banda della rete WiFi a cui ci vogliamo connettere

Recarsi su impostazioni->Wireless e reti->Wi-Fi poi cliccare sul tasto menu (i tre puntini) e scegliere avanzate. Quindi selezionare Banda di Frequenza Wi-Fi e scegliere “Automatica”, nel caso in cui si voglia consentire al telefono di usare reti wireless sia a 2.4 GHz che a 5 GHz.





Problema 2: è attiva l’impostazione “Evita connessioni deboli”

Se invece la rete wireless la vedete, ma non riuscite a rimanere connessi, può darsi che sia attiva l’impostazione “Evita connessioni deboli”. Questa opzione permette di switchare indietro all’uso della connessione cellulare, nel caso la connessione ad internet della wifi fosse lenta o instabile. In pratica il telefono “verifica la qualità” della connessione.

Soluzione: disattivare l’opzione

Per disattivare questa opzione recarsi su impostazioni->Wireless e reti->Wi-Fi poi cliccare sul tasto menu (i tre puntini) e scegliere avanzate. Infine togliere la spunta a “Evita connessioni deboli”.






Problema 3: su Android è impostato male il “regulatory domain” o il canale (Channel) del Wi-Fi

Il Regulatory Domain è uno spettro di frequenze utilizzabili dal wifi che, per convenzione internazionale, cambia da paese a paese. In sintesi, la wi-fi negli Stati Uniti potrebbe usare frequenze diverse da quelle usate in Italia ed ANCHE potenze di trasmissione massime diverse.

Se volete approfondire:
Se su android avete impostato un regdomain diverso da quello della nazione in cui siete (magari avete inavvertitamente modificato qualcosa o un amico smanettone ha deciso di farvi uno scherzo), il vostro telefono potrebbe non rilevare la rete o non connettersi correttamente.
Il canale e la “region” del wireless, in android, vengono teoricamente assegnati dalla SIM (si, dalla SIM), in quanto riconosce il paese in cui si sta utilizzando il dispositivo. Tuttavia talvolta questo meccanismo può non funzionare in modo perfetto…
Ecco quindi alcune possibili soluzioni.

Soluzione 1: attivare la geolocalizzazione e riavviare

Attivando la geolocalizzazione, c’è la possibilità che il telefono “capisca” da solo dove si trova e quale canale/frequenza deve utilizzare con il WiFi.

Soluzione 2: cambiare il canale e/o il regulator domain sul router.

É più avveduto, se non si sa esattamente quello che si sta facendo, cercare di cambiare il canale sul router, che potrebbe avere impostato un canale fuori dal range accettabile per lo smartphone (si dice che alcuni cellulari avessero problemi con i canali superiori a 11).

Per fare ciò, è necessario consultare il manuale del vostro router, perché non tutti i router sono uguali e le istruzioni cambiano troppo significativamente da modello a modello.

Soluzione 3: modificare il canale wifi di android (sconsigliato)

In generale, se non sai esattamente cosa stai facendo, ti sconsiglio di proseguire per questa strada. Tuttavia, se proprio non riesci in altro modo a connetterti alla rete e questo sta pregiudicando una parte importante della tua giornata, ecco una soluzione un po’ drastica ma efficace:
Un membro della nota community xda-developers ha sviluppato una utility che si chiama “WiFi Codes”.
Questa utility è in grado di accedere alle configurazioni del wifi del telefono android e cambiare il regulatory domain.
Ecco il link (in inglese) alla pagina del progetto sulla community, con tutte le istruzioni.




Problema 4: la rete a cui ci si vuole connettere è una rete ad-hoc e si dispone di uno smartphone Android che non supporta le reti ad-hoc

Se la rete a cui stiamo tentando di connetterci è una rete ad-hoc, dovete sapere che Android non supporta ufficialmente questo tipo di connessioni. Ci sono varie notizie sul fatto che con le ultime versioni di android questo ostacolo sia finalmente scomparso, tuttavia il problema rimane per le versioni precedenti.

Soluzione: modificare il wpa_supplicant con i permessi di root

Molto tempo fa ho scritto un articolo su come abilitare le reti ad-hoc su android, addirittura direttamente sul dispositivo, senza utilizzare il PC… Ecco il link

In sostanza si deve trovare e scaricare (magari da una fonte sicura, come xda_developers) una versione modificata del wpa_supplicant per il proprio dispositivo e versione android e sostituirlo a quello originale (mi raccomando fare il backup), utilizzando i permessi di ROOT.




Ecco, in questo articolo vi ho dato una carrellata dei problemi secondo me più comuni e della loro soluzione, quando android non si connette ad una rete WiFi.



Spero di essere stato utile a qualcuno e, in ogni caso, happy scripting a tutti!