La capture des paquets Wi-Fi vous permet de voir les détails et les interactions qui sont autrement masqués avant qu'ils n'atteignent 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 la bonne chaîne à renifler.
- Capturez le trafic.
- Partagez la capture et le hachage de votre mot de passe WLAN.
1. Déterminer le canal et la largeur appropriés
Les réseaux WLAN fonctionnent sur:
- un canal, généralement appelé un numéro. 1 à 13 correspond aux canaux 2,4 GHz, et 36 à 200 aux canaux 5 GHz
- sur une largeur spécifique (20, 40, 80 ou 160 MHz)
Chaque point d'accès (routeur, nœud maillé, etc.) de votre réseau possède généralement un canal unique de 2,4 GHz et un canal de 5 GHz, et vous devez identifier le canal 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. Les informations ne seront pas divulguées.
La plupart des routeurs disposent d'une liste d'appareils connectés, ainsi que du canal et de la largeur qu'ils utilisent.
- Pour connaître l'adresse IP de votre routeur, consultez ce guide.
- Accédez à l'adresse de votre routeur dans votre navigateur Web, par exemple http://192.168.1.1.
- Connectez-vous. Vous ne connaissez pas votre mot de passe ? Recherchez un tag sur votre routeur ou utilisez des mots de passe de routeur.
Recherchez une page intitulée "clients" ou "appareils connectés". Par exemple, une page de routeur Netgear peut se présenter comme suit, ou pour des appareils Eero.
Vous devrez peut-être chercher ailleurs dans les paramètres pour mapper les informations de l'étape 4 avec un canal et une bande passante spécifiques. Par exemple, un routeur Netgear:
Utilisez votre Mac s'il est déjà connecté au même canal.
Appuyez de manière prolongée sur Option sur votre clavier, puis cliquez sur l'icône WLAN dans l'angle supérieur droit de la barre d'état de votre Mac. Le menu WLAN standard devrait s'afficher avec quelques options et informations supplémentaires. Examinez les éléments de menu indisponibles et recherchez ceux qui mentionnent la chaîne:
`Channel 60 (DFS, 5GHz, 40MHz)`
Impossible de trouver la chaîne et la largeur
Si les autres méthodes ne fonctionnent pas, essayez les solutions suivantes:
Répertoriez tous les canaux utilisés par vos points d'accès (en général, deux pour chaque point d'accès ou point d'accès maillé).
a. Recommandé Avec un téléphone Android, vous pouvez utiliser une application telle que Wifiman ou Aruba Utilitaires.
a. Sur un Mac, vous pouvez utiliser
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
pour répertorier 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 le 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 4-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 issues d'un handshake à quatre voies qui se produit lorsque l'appareil se connecte au réseau. Elles sont uniques pour chaque connexion entre un appareil et le point d'accès.
Pour cette raison, vous DEVEZ capturer le 4-way handshake pour déchiffrer les charges utiles Wi-Fi. Si l'appareil est déjà connecté au réseau lorsque vous lancez la capture, déconnectez-le et reconnectez-le (ou redémarrez-le) une fois la détection commencée.
Capturer sur Mac
Tout en maintenant la touche Option de votre clavier enfoncée, cliquez sur l'icône WLAN, puis sélectionnez "Open Wireless Diagnostics..." (Ouvrir les diagnostics sans fil) :
Dans la barre de menu Diagnostic sans fil, sélectionnez Window > Sniffer (Fenêtre > Ronfleur) :
Définissez le canal et la largeur sur les valeurs récupérées précédemment (exemple de capture d'écran pour le canal 60 et la largeur 40 MHz):
Appuyez sur Start
, puis saisissez votre mot de passe. À présent, essayez de reproduire le problème.
Assurez-vous de capturer le 4-way handshake à partir d'une connexion, comme indiqué dans la section Capturer le 4-way handshake.
Lorsque vous avez terminé, appuyez sur Stop
. Un nouveau fichier *.pcap
contenant tout le trafic se trouve dans /var/tmp
. Voici un exemple de nom de fichier : (null)_ch100_2018-11-06_10.52.01.pcap
.
Capturer sous Linux
Désactivez le Wi-Fi. Pour cela, vous pouvez:
- Utiliser l'IUG (recommandé)
- Utiliser la CLI Network Manager pour lui indiquer d'arrêter de gérer l'interface WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Si vous utilisez un autre administrateur réseau, effectuez les ajustements nécessaires.
Enregistrez ce script. Remplacez
<wlan-ifname>
par le nom de votre interface Wi-Fi. Ce document suppose que le nom du script estsetup-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 à détecter, par exemple le canal 153 avec une bande passante de 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Ouvrez Wireshark. Vous devriez maintenant être en mesure de capturer des paquets sur l'interface wlan.
3. Partager la capture
Utilisez le générateur de clés brutes (WPA) 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 brut.
Vous devez également partager la clé PSK générée pour que d'autres personnes puissent déchiffrer la capture.
Annexe
Installer Wireshark
Vous pouvez installer Wireshark à l'aide d'apt install Wireshark sous Linux ou le télécharger en ligne à partir du site Web de Wireshark.
Configurer Wireshark pour déchiffrer le trafic
Cette opération n'est pas nécessaire pour partager vos fichiers de capture, mais ne le faites 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é lors d'un poignée de main à 4 voies que vous devez capturer pour déchiffrer des paquets. Toutefois, si vous essayez de capturer uniquement des problèmes de connexion au Wi-Fi ou des pertes de connectivité, qui peuvent être glanées à partir des frames de gestion Wi-Fi, vous n'avez pas besoin d'enregistrer le handshake à quatre voies. Dans les deux cas, cela ne fait pas de mal de le capturer de toute façon.
Ouvrez Wireshark et ouvrez la page des préférences (menu Wireshark > Préférences ou **Cmd+ , **).
Recherchez la section "IEEE 802.11" dans la catégorie "Protocoles" et vérifiez que la case "Activer le déchiffrement" est cochée:
Cliquez sur le bouton Modifier à côté du libellé Clés de déchiffrement.
Cliquez sur le bouton "+" en bas à gauche et 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 le PSK et le SSID WPA2 au format
<password>:<ssid>
. Par exemple, si le nom de votre réseau étaitMyHomeNetwork
et que votre clé PSK WPA2 étaitmyp4ssword
, 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échiffrer la version 802.11).
Si vous utilisez tshark
, transmettez les arguments suivants:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Colorize les données Wireshark 802.11
Il existe un profil de couleur 802.11 pratique sur metageek.com : Wireshark Configuration Profile (Profil de configuration de Wireshark).