Cet article a pour but de dresser un portrait de comment vérifier un certain nombre d'informations sur l'instalation du wifi MiNET.
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é.
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…
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