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é.
Cet outil est fourni en paquet avec la distribution Debian
GNU/Linux. Il suffit donc d'installer ce paquet avec la commande
et de contrôler les
informations correspondantes avec la commande #
apt-get install kismet
.$
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
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.
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
depuis n'importe quelle console.$
sudo
kismet
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 ».
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.
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.