WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:wifi:command_line

Le wifi en ligne de commande...

Cet article a pour but de dresser un portrait de comment vérifier un certain nombre d'informations sur l'instalation du wifi MiNET.

Obtenir la liste et le détail des réseaux disponibles

Prenez votre ordinateur, et allez ou vous voulez lister les réseau wifis disponibles …

On commence par activer l'interface wifi :

  sudo ifconfig wlan0 up

Et maintenant on liste les réseaux disponibles :

  sudo iwlist wlan0 scanning

Voici à quoi resemble la sortie :

wlan0     Scan completed :
          Cell 01 - Address: 5A:6D:8F:15:7B:80
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=34/70  Signal level=-76 dBm  
                    Encryption key:off
                    ESSID:"MiNET_Registering"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=000000482902a4ed
                    Extra: Last beacon: 883ms ago
                    IE: Unknown: 00114D694E45545F5265676973746572696E67
                    IE: Unknown: 010882848B962430486C
                    IE: Unknown: 030101
                    IE: Unknown: 050400010000
          Cell 02 - Address: 58:6D:8F:15:7B:83
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=38/70  Signal level=-72 dBm  
                    Encryption key:on
                    ESSID:"MiNET"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=0000004829014764
                    Extra: Last beacon: 973ms ago
...

Je rajoute un petit script à la con pour extraire les infos utiles automatiquement …

#!/bin/sh
retVal() {
        case "${l[0]}" in Ce*) echo -en "${l[4]} ";; ES*|Fr*) echo -en "${l[0]//*:/} ";; 
                Q*) echo -en "${l[2]//*=/} ";;
                Encry*) echo ${l[1]//*:/};;
                Channel*) echo -en "${l[0]//*:/} ";;
                *) continue;;
        esac;
 }
 
cat $1 |awk '/(Cell|ESS|Freq|Qual|Encry|Channel)/ {print}'|while read line; do
l=(${line}); retVal; done; exit 0

On a ainsi ( en rajoutant un petit grep ) une sortie du genre :

"MiNET_Registering" 58:6D:8F:15:7B:83 1 2.412 -72 off
"MiNET" 5A:6D:8F:15:7D:60 6 2.437 -58 off
"MiNET_Registering" 5A:6D:8F:0A:1F:A8 6 2.437 -61 on
"MiNET" 58:6D:8F:15:7B:B5 11 2.462 -70 on
"MiNET_Registering" 5A:6D:8F:15:7B:B6 11 2.462 -34 off
"MiNET" 5A:6D:8F:15:81:F2 11 2.462 -50 on
"MiNET" 58:6D:8F:15:7A:84 6 2.437 -38 on
"MiNET" 6A:7F:74:1C:F0:DD 6 2.437 -52 on

Une ligne correspond à une cellule wifi.

La première info est le SSID du réseau wifi porté par cellule. Ensuite on a la MAC du point d'accès. Puis le canal wifi correspondant, et la fréquence associée en Ghz. L'info négative c'est la puissance reçue en dbm ( plus c'est vers le bas, moins c'est bien… ) . Et enfin on sait si le réseau wifi est protégé.

Considérations sur les canaux wifis

Le signal wifi passe sur des canaux. Si plusieurs cellules utilisent un même canal elles en partagent la bande passante. Les canaux wifis sont au nombre de 13 en France ( la 14 est utilisée qu'au Japon ) :

Comme on peut le voir, les canaux on une légère tendance à chevaucher leurs voisins…

Les canaux 12 et 13 ne sont pas supportés par tous les vieux ordinateurs ( source des soucis du U5 ? ).

Les canaux “hauts” (7, 8, 9, 10) peuvent être brouillés par des disfonctionnements de micro onde.

Si deux cellules utilisent un canal “proche”, il y a brouillage, collisions supplémentaires difficiles à détecter ( bref c'est la merde ).

Bon tout ceci a amené MiNET à choisir les canaux 1 6 et 11 ( le truc hyper classique ). Cepandant ( c'est même dit sur wikipédia ) cette configuration est pas optimale, car en espaçant suffisement les bornes on peut facilement jouer sur 4 canaux…

Diagnostique rapide de connexion

La commande magique c'est

  wpa_supplicant -i wlan0 -c minet_wpa.txt

avec minet_wpa.txt :

network={
        ssid="MiNET"
        key_mgmt=WPA-EAP
        eap=PEAP
        identity="login"
        password="password"
        priority=10
}

L'intérêt c'est de voir le délai de connexion et les différentes cellules testées ( identifiées par leur MAC ).

Pour éviter de laisser votre mot de passe en clair dans vos fichiers de conf

echo -n plaintext_password_here | iconv -t utf16le | openssl md4

Ajouter le préfixe “hash:” dans le fichier de conf wpa_supplicant:

password=hash:602f435f01b9173889a8d3b9bdcfd0
wiki/wifi/command_line.txt · Dernière modification: 2020/06/27 18:16 (modification externe)