<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub
Ce guide explique comment configurer extcap pour Wireshark afin de renifler les paquets d'un Réseau Thread.
Pour utiliser Pyspinel pour le reniflage de paquets sans extcap, consultez l'article Sniffing de paquets avec Pyspinel
Configurer l'environnement de détection
Avant de commencer, procédez comme suit:
- Consultez les exigences relatives au reniflage de paquets.
- Installer et configurer Wireshark
- Installez Pyspinel et les dépendances avec extcap.
Validation
Ce guide a été vérifié auprès de l'API Zolertia Firefly (Texas Instruments CC2538 SoC) sur les systèmes hôtes suivants:
- Debian 4.19.37 — Wireshark 3.0.4
- macOS Mojave 10.14.6 – Wireshark 3.0.5
- Windows 10 64 bits version 17134 – Wireshark 3.0.6
Créer et flasher le détecteur
Les instructions de compilation et de flash varient selon la plate-forme.
Pour obtenir des instructions sur la création et le flash du CC2538, consultez l'exemple CC2538. README sur GitHub.
Pour obtenir des instructions de compilation générales, consultez Comment compiler OpenThread.
Utiliser le détecteur
L'écran de capture de Wireshark s'affiche lors du premier lancement de Wireshark. Il doit répertorier les interfaces matérielles connectées à un outil de détection OpenThread.
Capturer à partir d'une interface unique
Si vous utilisez une interface pour la première fois, cliquez sur le bouton Options. à gauche de l'interface:
- Définissez le canal sur la valeur souhaitée.
- Vérifiez IEEE 802.15.4 TAP pour vous assurer que les informations de la chaîne sont inclus dans la sortie pcap et peuvent être affichés dans l'interface graphique de Wireshark.
- Cochez la case Save parameters on capture start (Enregistrer les paramètres au début de la capture) pour vous assurer que ces sont enregistrés après le début de la capture, pour éviter à nouveau la prochaine fois que vous utiliserez l'interface (sauf si vous devez changer de version).
- Cliquez sur Démarrer.
Si vos paramètres sont déjà enregistrés, commencez à renifler en sélectionnant le matériel et en cliquant sur l'icône Wireshark en haut à gauche.
Capturer depuis plusieurs interfaces
Sélectionnez toutes les interfaces matérielles répertoriées sur l'écran de capture, puis cliquez sur le bouton Icône Wireshark en haut à gauche.
Utilisez ces champs pour identifier les renifleurs individuels lors de la capture à partir de plusieurs interfaces:
- ID d'interface (frame.interface_id) : identifiant d'interface utilisé par Wireshark. pour identifier une interface de capture
- Nom de l'interface (frame.interface_name) : nom d'interface utilisé par Wireshark pour identifier une interface de capture
- Canal (wpan-tap.ch_num) : canal de capture IEEE 802.15.4 (plage : 11-26)
Dépannage
Le détecteur OpenThread n'est pas répertorié en tant qu'interface Wireshark.
- Si plusieurs interpréteurs Python sont installés, assurez-vous que Python 3 est utilisé par le script extcap. Pyspinel n'est pas compatible avec Python 2.
- Vérifiez que le matériel est énuméré sur la clé USB et que les pilotes sont chargés.
- Vérifiez que le micrologiciel approprié (NCP ou RCP) a été flashé sur le matériel.
- Vérifiez que le script Python situé dans le chemin d'accès "extcap" est exécutable.
- Pour OS X et Linux:
<ph type="x-smartling-placeholder">
- </ph>
- Vérifier que l'autorisation d'exécution est présente pour
extcap_ot.py
:ls -l extcap_ot.py
- Si l'autorisation d'exécution (x) est manquante, modifiez les autorisations:
chmod +x extcap_ot.py
- Vérifiez que l'interface est répertoriée:
extcap_ot.py --extcap-interfaces
- Vérifier que l'autorisation d'exécution est présente pour
- Pour Windows :
- Vérifiez que l'interface est répertoriée:
extcap_ot.bat --extcap-interfaces
- Si l'opération se termine avec une erreur Python, vérifiez que la version de Python est bien 3.x:
py -3 --version
- Vérifiez que l'interface est répertoriée:
- Pour OS X et Linux:
<ph type="x-smartling-placeholder">
Wireshark permet uniquement à l'utilisateur racine de capturer des paquets
Lors de l'installation de Wireshark sur Ubuntu, l'utilisateur sera invité à en choisir un des options suivantes:
- Créer le groupe d'utilisateurs
wireshark
et autoriser tous ses membres à de capturer des paquets. - Autorisez uniquement l'utilisateur
root
à capturer des paquets.
Nous vous déconseillons vivement d'utiliser Wireshark comme utilisateur root
. Si vous avez choisi
cette option, modifiez le paramètre:
sudo dpkg-reconfigure wireshark-common
Si Wireshark a été configuré pour limiter la capture aux membres du
wireshark
, vous devrez peut-être ajouter le bon utilisateur au groupe:
sudo usermod -a -G wireshark user
Ajoutez également l'utilisateur approprié au groupe dialout
:
sudo usermod -a -G dialout user
Fermez et redémarrez Wireshark pour appliquer les nouveaux paramètres du groupe d'utilisateurs.
Erreur de format Wireshark lors de la capture sur plusieurs interfaces USB sous Windows
Il s'agit d'un problème connu pour certaines anciennes versions de Wireshark. Assurez-vous d'utiliser Wireshark 3.0.6 ou plus tard.