<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub
Wireshark est un outil Open Source capable de décoder les protocoles réseau dans le Thread telle 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 dans un outil de détection de paquets promiscuité, générant un flux Pcap (capture de paquets) vers être enregistrés ou acheminés directement vers Wireshark.
Pour utiliser Wireshark avec Pyspinel, reportez-vous aux recommandations d'installation dans le l'étape suivante. Vous devez également configurer Wireshark pour afficher correctement les paquets Thread et recevoir des mesures RSSI.
Installer Wireshark
Linux
Ouvrez un terminal et 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 vous demandant : "Les non-super-utilisateurs doivent-ils pouvoir capturer des paquets ?",
Sélectionnez Yes (Oui), puis ajoutez l'utilisateur wireshark
et mettez à jour les autorisations de 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 vos systèmes d'exploitation, consultez Wireshark : informations spécifiques à la plate-forme concernant les droits de capture.
Configurer les protocoles Wireshark
Pour configurer les protocoles, sélectionnez Preferences... (Préférences) dans Wireshark et développez les Section Protocoles.
6LoWPAN
Sélectionnez 6LoWPAN dans la liste des protocoles, puis vérifiez ou modifiez les éléments suivants. paramètres:
- Décochez la case Derive ID before RFC 4944 (ID dérivé conforme à la norme RFC 4944).
- Mettez à jour le contexte 0 avec le préfixe local du maillage pour le thread cible. réseau.
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 des autres préfixes de réseau maillé configurés sur la passerelle, et mettre à jour les autres ID de contexte avec ces préfixes.
Pour obtenir l'ID de contexte d'un préfixe de réseau maillé spécifique, affichez les données du réseau Thread (TLV) dans un message de réponse MLE Data. Exemple :
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Sélectionnez CoAP dans la liste des protocoles, puis définissez Port UDP CoAP. à 61631. Cela permet de garantir l'affichage des messages TMF (comme une demande d'adresse).
IEEE 802.15.4
Sélectionnez IEEE 802.15.4 dans la liste des protocoles, puis vérifiez ou modifiez la les paramètres suivants:
- Définissez 802.15.4 Ethertype (in hex) sur "0x809a".
- Définissez la suite de sécurité sur "Chiffrement AES-128, intégrité 32 bits". Protection".
Cliquez sur le bouton Modifier à côté de Clés de déchiffrement, où vous ajoutez la clé principale du réseau Thread pour le déchiffrement des paquets.
- Cliquez sur + pour ajouter une clé de déchiffrement.
- Saisissez la clé principale du réseau Thread dans la colonne Clé de déchiffrement.
- Saisissez "1". comme index de clé de déchiffrement.
Sélectionnez Thread hash (Hachage de thread) dans la zone de liste de la colonne Key hash (Hachage de clé).
Cliquez sur OK pour enregistrer la clé de déchiffrement.
Thread
Sélectionnez Thread dans la liste des protocoles, puis vérifiez ou modifiez les éléments suivants. paramètres:
- Saisissez "00000000" pour le compteur de séquence de threads.
- Décochez la case Utiliser l'ID de PAN comme deux premiers octets de la clé principale.
- Cochez Acquérir automatiquement le compteur de séquence Thread.
Cliquez sur le bouton OK pour enregistrer les modifications apportées au protocole.
Une partie du trafic Thread peut être analysée en tant que protocole ZigBee. Pour affichez ces deux protocoles, modifiez les protocoles activés dans Wireshark:
- Dans Wireshark, accédez à Analyze (Analyser), puis cliquez sur Enabled Protocols (Protocoles activés).
Décochez les protocoles suivants:
- LwMesh
- ZigBee
- ZigBee Green Power
Configurer le RSSI de Wireshark
Pour afficher le RSSI dans Wireshark:
- Sélectionnez Préférences, développez la section Protocoles, puis cliquez sur IEEE 802.15.4.
Définissez le format FCS:
- Si IEEE 802.15.4 TAP est désactivé: 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 sur le reniflage de paquets pour le projet Nordic Semiconductor nRF52840.
DK, reportez-vous à l'option
--tap
pour en savoir plus.
Cliquez sur OK pour enregistrer et revenir au menu Préférences.
Dans Préférences, sélectionnez Apparence, puis Colonnes.
Ajouter une entrée:
- Titre: RSSI
- Type: personnalisé
- Champs: wpan.rssi