Salutations

Je m'étais lancé dans la rédaction d'un article ultra long, expliquant en long et en large l'utilisation de petits scripts shell qui me servent à me connecter un peut partout sans avoir à utiliser de gestionnaire réseau... Mais j'ai soudain eu la flemme. (le temps, sans doutes)

Donc au lieu de ça, je vais poser une problématique, et y répondre. Ça m'évitera de me perdre dans des explications bizarres et incomplètes :). Sans plus attendre, le sujet de ce billet:

Le probleme est simple. L'IUT fourni aux étudiants, la possibilité de se connecter en WiFi à un réseau local sécurisé, surveillé, et à vrai dire, pas tres ergonomique. Si bien que si, par mégarde, on vient à etre déconnecté, deux possibilités s'offrent à nous pour ré-accéder au net:

  • Attendre que la session expire, puis, refaire une tentative.
  • Changer d'adresse MAC et ouvrir une nouvelle session, toute neuve, toute propre, et immédiatement.

Le petit script que je m'apprête à vous présenter à bien entendu été basé sur la seconde solution. Connexion instantanée oblige!

#!/bin/bash #######################################################
#          SCRIPT DE CONNEXION AUTOMATIQUE I.U.T B.M
#        régénérateur de session I.U.T par MAC Spoofing
#                    (root)
###################################################################
#        Par Tixlegeek, département R&T, au fond à droite
#
#                Aucune revendication particulière
#  http://www.tixlegeek.com - tixlegeek[aT]gmail[dot]com
#
# Génération d'une adresse MAC aléatoire.
cd ~/.config/perso
IW="wlan0"
# Couleurs (AINSI)
G="\033[01;32m"
R="\033[00;34m"
B="\033[00;37m"
INIT="\033[00;37m"

echo -e "$G Calcul d'une nouvelle adresse MAC alétoire.$INIT"
MAC=`openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`

echo -e "$B Configuration de l'adresse $R$MAC$B sur $R$IW$INIT"
ifconfig $IW down hw ether $MAC

echo -e "$B Configuration de l'interface $R$IW$INIT"
ifdown $IW  -i ./iut.ifup
ifup $IW -i ./iut.ifup
echo -e "$G ------------------- CONNECTÉ ! -------------------$INIT"
sleep 2

Le fichier "./iut.ifup" est un fichier de configuration de votre interface. Il à la meme syntaxe que le fichier habituel "/etc/network/interfaces", mais contient la configuration de cette situation (Clef WEP/WPA, ESSID, etc). Il est du style:

#
#      SCRIPT DE CONNECTION AUTOMATIQUE I.U.T B.M
#        générateur de session neuve par MAC Spoofing
#
# Configuration de l'interface
auto wlan0
iface wlan0 inet dhcp
wireless-essid ufc-edu-portail
wireless-key CLEF_SI_LE_RESEAU_EST_EN_WEP

auto eth0
iface eth0 inet dhcp

auto lo
iface lo inet loopback

Si vous réutilisez ce script pour un réseau protégé par WPA, il vous faudra être un peut curieux, et regarder comment se passe l'utilisation du WPA sour GNU/Linux. Ça sera l'objet d'une prochaine note, et cette méthode est très largement documentée à travers le web. (wpa-supplicant)

Voilà!