Installer et configurer Wireshark

Afficher la source sur GitHub

Wireshark est un outil Open Source capable de décoder les protocoles réseau dans la pile Thread, tels que IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP. et CoAP.

L'outil de détection Pyspinel se connecte à un appareil NCP ou RCP Thread et le convertit en un prononciateur de paquets, ce qui génère un flux pcap (capture de paquets) qui doit être enregistré ou acheminé directement dans Wireshark.

Pour utiliser Wireshark avec Pyspinel, consultez les recommandations d'installation à l'étape suivante. Vous devez également configurer Wireshark pour afficher correctement les paquets Thread et recevoir les mesures RSSI.

Installer Wireshark

Linux

Ouvrez un terminal, puis exécutez les commandes suivantes pour télécharger et installer Wireshark:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

Nous vous recommandons d'exécuter Wireshark en tant qu'utilisateur non-root. Pour ce faire, reconfigurez le package:

sudo dpkg-reconfigure wireshark-common

Lorsque la boîte de dialogue demandant si les super-utilisateurs peuvent-ils capturer des paquets s'affiche, sélectionnez Oui, puis ajoutez l'utilisateur wireshark et mettez à jour les autorisations du fichier:

sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap

macOS et Windows

Téléchargez et installez Wireshark. Pour optimiser la sécurité de votre système d'exploitation, consultez Wireshark, informations spécifiques à la plate-forme sur les privilèges de capture.

Configurer les protocoles Wireshark

Pour configurer des protocoles, sélectionnez Preferences... (Préférences) dans Wireshark et développez la section Protocols (Protocoles).

6LoWPAN

Sélectionnez 6LoWPAN dans la liste des protocoles, puis vérifiez ou modifiez les paramètres suivants:

  1. Décochez l'option ID de dérive conformément à la RFC 4944.
  2. Mettez à jour le contexte 0 avec le préfixe local du réseau maillé pour le réseau Thread cible.

OT Sniffer Wireshark 6LoWPAN

Wireshark utilise des configurations de contexte pour analyser l'adresse IPv6 compressée, et afficher correctement les adresses source et de destination IPv6.

Pour afficher les adresses d'autres préfixes sur le réseau maillé sur la passerelle, mettez à jour les autres ID de contexte avec ces préfixes.

Pour obtenir l'ID de contexte pour un préfixe spécifique basé sur le maillage, affichez le TLV des données réseau Thread dans n'importe quel message de réponse MLE Data. Exemple :

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

Sélectionnez CoAP dans la liste des protocoles et définissez le port UDP CoAP sur 61631. Cela permet de garantir l'affichage des messages TMF (demande d'adresse, par exemple).

IEEE 802.15.4

Sélectionnez IEEE 802.15.4 dans la liste des protocoles, puis vérifiez ou modifiez les paramètres suivants:

  1. Définissez 802.15.4 Ethertype (en hexadécimal) sur "0x809a".
  2. Définissez Security Suite sur "Chiffrement AES-128, protection de l'intégrité 32 bits".
  3. Cliquez sur le bouton Modifier à côté de Clés de déchiffrement, qui vous permet d'ajouter la clé principale du réseau Thread pour le déchiffrement des paquets.

    1. Cliquez sur + pour ajouter une clé de déchiffrement.
    2. Saisissez la clé principale du réseau Thread dans la colonne Clé de déchiffrement.
    3. Saisissez "1" en tant qu'index de clé de déchiffrement.
    4. Sélectionnez Hachage de thread dans la zone de liste de la colonne Hachage de clé.

      OT Sniffer Wireshark IEEE 802.15.4

    5. Cliquez sur OK pour enregistrer la clé de déchiffrement.

Fil de discussion

Sélectionnez Thread dans la liste des protocoles, puis vérifiez ou modifiez les paramètres suivants:

  • Saisissez "00000000" pour le Compteur de séquence de thread.
  • Décochez Utiliser l'ID PAN comme deux premiers octets de la clé principale.
  • Cochez la case Acquérir automatiquement le compteur de séquence Thread.

Cliquez sur le bouton OK pour enregistrer les modifications du protocole.

Une partie du trafic Thread peut être analysée en tant que protocole ZigBee. Pour afficher correctement ces deux protocoles, modifiez les protocoles activés dans Wireshark:

  1. Dans Wireshark, accédez à Analyze (Analyser), puis cliquez sur Enabled Protocols (Protocoles activés).
  2. Décochez les protocoles suivants:

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

Configurer Wireshark RSSI

Pour afficher RSSI dans Wireshark:

  1. Sélectionnez Preferences... (Préférences...) et développez la section Protocols (Protocoles), puis cliquez sur IEEE 802.15.4.
  2. Définissez le format FCS:

    • Si la norme IEEE 802.15.4 TAP est désactivée, les métadonnées TI CC24xx
    • Si la norme IEEE 802.15.4 TAP est activée: ITU-T CRC-16. Si vous suivez le guide de sniffing de paquets pour la technologie nordique NRF52840 DK5, consultez l'indicateur --tap pour plus d'informations.
  3. Cliquez sur OK pour enregistrer et revenir au menu Préférences.

  4. Dans Préférences, sélectionnez Apparence, puis Colonnes.

  5. Ajouter une entrée:

    • Titre: RSSI
    • Type: Personnalisé
    • Champs: wpan.rssi

OT Sniffer Wireshark RSSI