Ponctuation du paquet à l'aide d'Extcap

<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:

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:

Capture extcap Wireshark de la détection d&#39;OT

  1. Définissez le canal sur la valeur souhaitée.
  2. 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.
  3. 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).
  4. Cliquez sur Démarrer.

Options OT Sniffer Wireshark Extcap

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)

OT Sniffer Wireshark Extcap Paquets

Dépannage

Le détecteur OpenThread n'est pas répertorié en tant qu'interface Wireshark.

  1. 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.
  2. Vérifiez que le matériel est énuméré sur la clé USB et que les pilotes sont chargés.
  3. Vérifiez que le micrologiciel approprié (NCP ou RCP) a été flashé sur le matériel.
  4. 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>
      1. Vérifier que l'autorisation d'exécution est présente pour extcap_ot.py :
        ls -l extcap_ot.py
        
      2. Si l'autorisation d'exécution (x) est manquante, modifiez les autorisations:
        chmod +x extcap_ot.py
        
      3. Vérifiez que l'interface est répertoriée:
        extcap_ot.py --extcap-interfaces
        
    • Pour Windows :
      1. Vérifiez que l'interface est répertoriée:
        extcap_ot.bat --extcap-interfaces
        
      2. Si l'opération se termine avec une erreur Python, vérifiez que la version de Python est bien 3.x:
        py -3 --version
        

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:

  1. Créer le groupe d'utilisateurs wireshark et autoriser tous ses membres à de capturer des paquets.
  2. 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.