Journalisation des scans Wifi en PowerShell

Olivier que j’ai formé sur le Wifi pendant 3 jours en début de semaine m’a demandé un outil pour tracer tous les SSIDs et les BSSIDs présents sur le site de son usine. Il travaille dans un secteur où la sécurité informatique ou cybersécurité est loin d’être un vain mot ! Or, les utilisateurs recourent de plus en plus au BYOD et à leurs téléphones mobiles qu’ils mettent en partage de connexion pour accéder à Internet. J’ai pensé, une fois encore, au PowerShell.

La commande netsh

A l’aide de la commande netsh, vous pouvez disposer assez facilement des différents réseaux Wifi présents dans votre environnement. Lorsque le SSID est masqué, il faut alors recourir à un mode d’exploration sur l’adresse MAC  – ou BSSID – de la borne, du mobile, de la tablette ou de la machine.

netsh wlan show networks mode=bssid

Le script PowerShell

Dans l’hypothèse où vous planifiez l’exécution de ce script, pensez à commenter la ligne où figure la commande Out-GridView en fin de fichier.

#Déclaration d'une whitelist de bornes connues
$whitelist='18:a6:f7:c4:a2:7e','a4:08:f5:4b:ac:5a'
#Le fichier de log
$logfile='d:\ssid.log'
$logs=@()
#Récupération du contenu du fichier existant
If(Test-Path -Path $logfile)
{
    $logs+=Import-CSV -Path $logfile
}
$date=Get-Date
#Scan des SSIDs et des BSSIDs
$cmd=netsh wlan show networks mode=bssid
$n=$cmd.Count
For($i=0;$i -lt $n;$i++)
{
    If($cmd[$i] -Match '^SSID[^:]+:.(.*)$')
    {
        $ssid=$Matches[1]
        $i++
        $bool=$cmd[$i] -Match 'Type[^:]+:.(.+)$'
        $reseau=$Matches[1]
        $i++
        $bool=$cmd[$i] -Match 'Authentification[^:]+:.(.+)$'
        $authent=$Matches[1]
        $i++
        $bool=$cmd[$i] -Match 'Chiffrement[^:]+:.(.+)$'
        $chiffrement=$Matches[1]
        $i++
        While($cmd[$i] -Match 'BSSID[^:]+:.(.+)$')
        {
            $bssid=$Matches[1]
            $i++
            $bool=$cmd[$i] -Match 'Signal[^:]+:.(.+)$'
            $signal=$Matches[1]
            $i++
            $bool=$cmd[$i] -Match 'Type[^:]+:.(.+)$'
            $radio=$Matches[1]
            $i++
            $bool=$cmd[$i] -Match 'Canal[^:]+:.(.+)$'
            $canal=$Matches[1]
            $i=$i+2
            If($bssid -notin $whitelist)
            {
                #Consignation des BSSIDs et des SSIDs
                $logs+=[PSCustomObject]@{date=$date;ssid=$ssid;reseau=$reseau;authentification=$authent;chiffrement=$chiffrement;bssid=$bssid;signal=$signal;radio=$radio;canal=$canal}
            }
        }
    }
}
$cmd=$null
#Sauvegarde dans le fichier de logs
If($logs)
{
    $logs| Export-CSV -NoTypeInformation -Path $logfile
    #Facultatif : affichage des résultats si vous exécutez le script en mode interactif
    $logs|Out-GridView -Title 'Log Scan Wifi'
}
$logs=$null

Visualisation des logs

Le fichier contient tout l’historique de l’activité.

Journalisation des scans Wifi en PowerShell

Réseau / , , , , , , , ,

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos