4. Utilisation de kismet

Le logiciel kismet entre dans la catégorie des «sondeurs réseau» ou wireless network sniffers. Il offre de nombreuses possibilités qui sortent du cadre de ce document. Cet outil permet de répondre à un objectif simple : recenser les équipements IEEE 802.11 actifs dans la zone de couverture radio actuelle.

Avant de procéder à ses propres tests, il faut chercher à se placer dans les meilleures conditions. Dans le cas des réseaux sans-fils, on cherche à se positionner sur un canal libre de toute interférence. L'utilisation de kismet permet de sélectionner un canal IEEE 802.11 non occupé.

4.1. Installation de kismet

Cet outil est fourni en paquet avec la distribution Debian GNU/Linux. Il suffit donc d'installer ce paquet avec la commande # apt-get install kismet et de contrôler les informations correspondantes avec la commande $ apt-cache show kismet.

Voici les informations de version sur le paquet kismet utilisé pour le présent document.

$ dpkg -l kismet
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: maj=mauvais)
||/ Nom                Version                 Description
+++-==================-=======================-================================
ii  kismet             2008-05-R1-4+b1         Wireless 802.11b monitoring tool

4.2. Configuration de kismet

Comme avec tous les logiciels d'analyse réseau, la configuration de kismet dépend des droits d'accès donnés à l'utilisateur pour prélever les informations directement sur l'interface réseau et du type de cette interface.

4.2.1. Délégation des droits d'accès avec sudo

Pour ce qui est des droits d'accès, soit on exécute le logiciel à partir du niveau super utilisateur, soit on délègue les droits du super utilisateur pour cet outil. Dans le dernier cas, on fait appel à sudo pour la délégation des droits.

Voici un extrait du fichier de configuration /etc/sudoers de sudo dans lequel on a ajouté kismet dans la liste des outils autorisés pour l'utilisateur phil.

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.

<snipped/>
phil    ALL=NOPASSWD: /sbin/iwspy, /sbin/iwconfig, /usr/bin/kismet

Une fois cette délégation des droits mise en place, on lance le logiciel à l'aide de la commande $ sudo kismet depuis n'importe quelle console.

4.2.2. Configuration du type d'interface

On doit éditer le fichier de configuration /etc/kismet.conf pour identifier le type d'interface réseau sans fil utilisée au niveau du paramètre source suivant la syntaxe source=type,interface,name[,channel].

Les listes des types d'interfaces supportées est donnée dans la section Capture sources du fichier de documentation fourni avec le paquet kismet : /usr/share/doc/kismet/README.gz.

Voici les trois exemples de paramètres à utiliser qui correspondent aux trois exemples d'interface donnés dans la Section 2, « Identification des interfaces disponibles ».

Intel Corporation PRO/Wireless 2915ABG
source=ipw2200,wlan0,MyWlan
Broadcom Corporation BCM4306 802.11b/g
source=bcm43xx,wlan0,MyWlan
Cisco Systems 350 Series Wireless LAN Adapter
source=cisco_wifix,eth1:wifi0,MyWlan

4.3. Exécution de kismet

Une fois la configuration en place, il ne reste plus qu'à lancer kismet et attendre quelques minutes pour que le recensement des équipements actifs soit complet.

Pour que le logiciel kismet puisse scruter les communications sur l'ensemble des 14 canaux utilisables par les réseaux IEEE 802.11b/g, il faut placer l'interface en mode monitor. Voici les commandes à utiliser pour reconfigurer l'interface réseau sachant qu'aucune configuration n'a été effectuée auparavant.

Intel Corporation PRO/Wireless 2915ABG
# iwconfig wlan0 essid any
# iwconfig wlan0 mode monitor
Broadcom Corporation BCM4306 802.11b/g
# iwconfig wlan0 essid any
# iwconfig wlan0 mode monitor
Cisco Systems 350 Series Wireless LAN Adapter

Pour analyser le trafic relatif à l'infrastructure à laquelle l'interface appartient, il faut utiliser l'option rfmon.

echo "Mode: rfmon" >/proc/driver/aironet/<interface>/Config

Pour analyser le trafic relatif à l'ensemble des infrastructures disponibles, il faut utiliser l'option y.

echo "Mode: y" >/proc/driver/aironet/<interface>/Config

Si on affiche l'état de l'interface en cours d'exécution, on constate qu'aucune valeur SSID n'est affectée, que (la fréquence|le canal) change à chaque exécution et que l'interface n'est pas associée à un point d'accès.

$ sudo iwconfig wlan0
wlan0     unassociated  ESSID:off/any
          Mode:Monitor  Frequency=2.457 GHz  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power=20 dBm   Sensitivity=8/0

Les deux copies d'écran ci-dessous donnent un exemple des informations obtenues avec kismet.

L'écran principal de kismet affiche la liste des identificateurs de service (SSID), des indicateurs d'états, et la quantité de trames de gestion échangées.

En appuyant sur la touche a, on obtient une synthèse sur le taux d'occupation des canaux.

L'exploitation des données affichées ci-dessus montre que 6 équipements (stations ou points d'accès) sont présents sur le canal 11 et un point d'accès sur le canal 1. Le champ est donc relativement libre pour effectuer des tests sur les canaux non adjacents à ceux qui sont déjà occupés.

Pour les besoins des travaux pratiques, on peut configurer le point d'accès pour qu'il utilise l'un des canaux de la liste : 5, 6, 7. De cette façon, les mesures effectuées ne seront pas perturbées par les signaux issus des autres équipements actifs dans la zone de couverture radio.

4.4. Bilan sur l'utilisation de kismet

Kismet se révèle être un outil particulièrement intéressant pour le recensement et l'évaluation du taux d'occupation des canaux dans la zone de couverture radio étudiée. Dans la plupart des cas, les boîtes DSL/Wifi distribuées par les opérateurs Internet sont toutes configurées d'usine sur les mêmes canaux. Une des premières étapes d'optimisation des communications radio consiste à utiliser un canal relativement peu occupé pour limiter les interférences entres points d'accès qui desservent des infrastructures différentes.

Ceci dit, il faut préciser que l'utilisation de Kismet dans un contexte d'infrastructure de type Hot Spot permet de capturer l'ensemble du trafic réseau des utilisateurs en clair. Il va sans dire que ce genre d'écoute radio n'est pas conforme au bon usage des moyens de télécommunications ; même si c'est un moyen pédagogique très efficace pour sensibiliser les utilisateurs sur les limites de la confidentialité des communications.