La capture de paquets Wi-Fi vous permet de voir des détails et des interactions qui sont masqués avant d'atteindre le logiciel exécuté sur un appareil. Ces captures sont donc un outil important pour certains types de bugs.
Voici les principales étapes à suivre :
- Trouvez le bon canal à renifler.
- Captez le trafic.
- Partagez la capture et le hachage de votre mot de passe WLAN.
1. Déterminer le bon canal et la bonne largeur
Les réseaux WLAN fonctionnent sur les bandes de fréquence suivantes :
- une chaîne, généralement désignée par un numéro. 1 à 13 pour les canaux 2,4 GHz, 36 à 200 pour les canaux 5 GHz
- avec une largeur spécifique (20 MHz, 40 MHz, 80 MHz ou 160 MHz).
Chaque point d'accès (routeur, nœud maillé, par exemple) de votre réseau dispose généralement d'un canal 2,4 GHz et d'un canal 5 GHz uniques.Vous devez identifier celui auquel l'appareil est connecté. Plusieurs possibilités s'offrent à vous :
Utiliser le panneau de configuration de votre routeur
Si vous utilisez Nest WiFi, ignorez cette option, car les informations ne sont pas exposées.
La plupart des routeurs disposent d'une liste des appareils connectés, ainsi que du canal et de la bande passante qu'ils utilisent.
- Trouvez l'adresse IP de votre routeur à l'aide de ce guide.
- Dans votre navigateur Web, accédez à l'adresse de votre routeur, par exemple http://192.168.1.1.
- Connectez-vous. Vous ne connaissez pas votre mot de passe ? Recherchez une étiquette sur votre routeur ou utilisez Router Passwords.
Recherchez une page intitulée "clients" ou "appareils associés". Par exemple, la page d'un routeur Netgear peut ressembler à ce qui suit, ou à celle des appareils Eero.
Vous devrez peut-être chercher ailleurs dans les paramètres pour mapper les informations de l'étape 4 à un canal et une bande passante spécifiques. Par exemple, un routeur Netgear :
Utilisez votre Mac s'il est déjà connecté à la même chaîne.
Maintenez la touche Option de votre clavier enfoncée, puis cliquez sur l'icône WLAN en haut à droite de la barre d'état de votre Mac. Le menu WLAN habituel devrait s'afficher, avec quelques options et informations supplémentaires. Examinez les éléments de menu indisponibles et recherchez celui qui mentionne "Chaîne" :
`Channel 60 (DFS, 5GHz, 40MHz)`
Impossible de trouver la chaîne et la largeur
Si les autres méthodes ne fonctionnent pas, vous pouvez essayer les solutions suivantes :
Indiquez tous les canaux utilisés par vos points d'accès (généralement deux par point d'accès ou point mesh).
a. Recommandé : Avec un téléphone Android, vous pouvez utiliser une application comme Wifiman ou Aruba Utilities.
a. Sur un Mac, vous pouvez utiliser
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
pour lister les options.Effectuez une courte capture (même 15 secondes suffisent) sur chacun de ces canaux en suivant les instructions ci-dessous.
Installez Wireshark (pour obtenir de l'aide, consultez Installer Wireshark).
Ouvrez chacune des captures à l'aide de Wireshark, appliquez un filtre d'affichage
wlan.addr == YOUR_DEVICE'S_MAC
et vérifiez si des paquets s'affichent.
2. Démarrer la capture
Important : Capturer le four-way handshake
Si la sécurité est activée pour le Wi-Fi, vous devez connaître les clés de chiffrement pour déchiffrer les paquets capturés. Les clés de chiffrement sont dérivées d'une négociation en quatre temps qui se produit lorsque l'appareil se connecte au réseau. Elles sont uniques à chaque connexion entre un appareil et le point d'accès.
Par conséquent, vous DEVEZ capturer le handshake en quatre étapes pour déchiffrer les charges utiles Wi-Fi. Si l'appareil est déjà connecté au réseau lorsque vous démarrez la capture, déconnectez-le, puis reconnectez-le (ou redémarrez-le) une fois l'analyse lancée.
Capture sur Mac
En maintenant enfoncée la touche Option de votre clavier, cliquez sur l'icône WLAN, puis sélectionnez "Ouvrir Diagnostics sans fil…" :
Dans la barre de menu de l'outil de diagnostic sans fil, sélectionnez Fenêtre > Renifleur :
Définissez le canal et la largeur sur les valeurs que vous avez récupérées précédemment (l'exemple de capture d'écran concerne le canal 60 et la largeur de 40 MHz) :
Appuyez sur Start
et saisissez votre mot de passe. Essayez maintenant de reproduire le problème.
Assurez-vous de capturer le handshake en quatre étapes d'une connexion, comme indiqué dans Capturer le handshake en quatre étapes.
Une fois que vous avez terminé, appuyez sur Stop
. Un nouveau fichier *.pcap
est disponible dans /var/tmp
et contient tout le trafic. Voici un exemple de nom de fichier : (null)_ch100_2018-11-06_10.52.01.pcap
.
Capture sur Linux
Désactivez le Wi-Fi. Pour ce faire, vous pouvez :
- Utiliser l'interface utilisateur graphique (recommandé)
- Utiliser la CLI Network Manager pour lui demander d'arrêter de gérer l'interface WLAN :
sudo nmcli dev set <wlan-ifname> managed on
- Si vous utilisez un autre gestionnaire de réseau, ajustez la commande en conséquence.
Enregistrez ce script. Remplacez
<wlan-ifname>
par le nom de votre interface Wi-Fi. Dans ce document, nous partons du principe que le script est nommésetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Exécutez le script précédent et transmettez le canal et la bande passante la plus élevée à renifler, par exemple le canal 153 avec une bande passante de 80 MHz :
./setup-wifi-capture chan 153 80 MHz
Ouvrez Wireshark. Vous devriez maintenant pouvoir capturer des paquets sur l'interface wlan.
3. Partager la capture
Utilisez le générateur de clé brute WPA-PSK pour générer un hachage de votre mot de passe. Cela vous permet de déchiffrer la capture sans connaître votre mot de passe en texte clair.
Vous devez également partager la clé PSK générée pour que d'autres utilisateurs puissent déchiffrer la capture.
Annexe
Installer Wireshark
Vous pouvez installer Wireshark à l'aide de la commande apt install wireshark sur Linux ou le télécharger en ligne sur le site Web de Wireshark.
Configurer Wireshark pour déchiffrer le trafic
Cette étape n'est pas nécessaire pour partager vos fichiers de capture. Ne l'effectuez que si vous souhaitez examiner vous-même le trafic déchiffré dans Wireshark.
Avec la sécurité WPA2 sur le Wi-Fi, le WPA2-PSK n'est pas utilisé directement pour le chiffrement et le déchiffrement du trafic. Il est utilisé dans une poignée de main en quatre temps, que vous devez capturer pour déchiffrer les paquets. Toutefois, si vous souhaitez uniquement capturer les problèmes de connexion au Wi-Fi ou les pertes de connectivité, qui peuvent être déduits des trames de gestion Wi-Fi, vous n'avez pas besoin de capturer l'établissement de liaison en quatre temps. Dans tous les cas, il ne coûte rien de l'enregistrer.
Ouvrez Wireshark, puis la page "Preferences" (Préférences) (menu Wireshark > Preferences ou **Cmd+, **).
Recherchez la section "IEEE 802.11" dans la catégorie "Protocols" (Protocoles) et assurez-vous que l'option "Enable decryption" (Activer le décryptage) est cochée :
Cliquez sur le bouton Modifier à côté du libellé Clés de déchiffrement.
Cliquez sur le bouton "+" en bas à gauche, puis sélectionnez l'option "wpa-pwd".
Cliquez sur la colonne de clé de la ligne que vous venez de créer (juste à côté de la chaîne wpa-pwd), saisissez votre PSK WPA2 et votre SSID au format
<password>:<ssid>
. Par exemple, si le nom de votre réseau estMyHomeNetwork
et votre clé WPA2 PSK estmyp4ssword
, saisissezmyp4ssword:MyHomeNetwork
.Cliquez sur OK pour confirmer.
Pour en savoir plus, consultez le guide officiel de Wireshark (avec captures d'écran) sur la page How to Decrypt 802.11 (Comment décrypter 802.11).
Si vous utilisez tshark
, transmettez les arguments suivants :
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Colorer les données Wireshark 802.11
Un profil de couleur 802.11 pratique est disponible sur metageek.com : Profil de configuration Wireshark.