Wireshark

Install the Required Software

Download and install the following software:

  • Wireshark software, version 2.6.x stable release

Warning

It is important that Wireshark 2.6.x version is used. Older or newer versions may not be compatible.

  • SmartRF Packet Sniffer 2, which contains sniffer firmware for the CC13xx and CC26xx family

  • Uniflash, used to program devices from the CC13xx and CC26xx family

Required Hardware

Any device from the CC13xx and CC26xx family which supports IEEE commands can be used as a sniffer. Following is a list of all supported development boards:

Hardware Setup

  • Connect the device to the computer with Wireshark installed.

  • If the device is not programmed with the sniffer firmware, use Uniflash to program the sniffer firmware.

    • The firmware image is called sniffer_fw.hex.

    • Depending on which device, the firmware image is found in sniffer_fw/bin/{Device Family}/ under the SmartRF Packet Sniffer 2 installation.

    • For example, the firmware image for the CC26x2R LaunchPad is found under sniffer_fw/bin/cc26x2r1lp/.

Running the Packet Sniffer

  1. Connect the sniffer device.

  2. Start the Sniffer Agent from SmartRF Packet Sniffer 2.

    Open Sniffer Agent

    Figure 47. Open Sniffer Agent

  3. Configure the sniffer device in the Sniffer Agent.

    The sniffer device needs to be enabled, and the frequency band and channel must be configured. Select the IEEE 802.15.4 - O-QPSK - 2405 MHz - Freq Band PHY, and select a channel number which matches the Thread Network channel. Click OK.

    Configure device in Sniffer Agent

    Figure 48. Configure device in Sniffer Agent

  4. Start sniffer capture in the Sniffer Agent by clicking Start.

    Start sniffer capture in Sniffer Agent

    Figure 49. Start sniffer capture in Sniffer Agent

    You should now see the Run State be set to Run and the color changes to green. If this is not the case, redo the steps and verify the device is programmed with the correct firmware.

    Sniffer capture started in Sniffer Agent

    Figure 50. Sniffer capture started in Sniffer Agent

  5. Open Wireshark with the modified target arguments.

    This is detailed in the Software Setup Section in the SmartRF Packet Sniffer 2 User’s Guide. If done correctly, the Sniffer Agent is now connected to Wireshark.

    Wireshark opened and connected to the Sniffer Agent.

    Figure 51. Wireshark opened and connected to the Sniffer Agent.

  6. Goto preferences in Wireshark with EditPreferences.

  7. Goto the Thread Protocol dissector configuration by expanding Protocols on the right and navigating to Thread. Set the Decode CoAP for Thread option.

    Edit Wireshark Thread Preferences

    Figure 52. Edit Wireshark Thread Preferences

  8. Goto the CoAP Protocol dissector configuration by navigating to CoAP. Make sure that the port matches as shown below.

    Edit Wireshark CoAP Preferences

    Figure 53. Edit Wireshark CoAP Preferences

  9. Goto the IEEE 802.15.4 Protocol dissector configuration by navigating to IEEE 802.15.4. Make sure that the configuration matches as shown below.

    Edit Wireshark IEEE 802.15.4 Preferences

    Figure 54. Edit Wireshark IEEE 802.15.4 Preferences

  10. In the IEEE 802.15.4 Protocol dissector configuration, add a Thread Master key by selecting the Edit... button next to Decryption Keys and clicking the + button. Set a key entry with the following values:

    Decryption Key

    00112233445566778899aabbccddeeff

    Decryption Key Index

    0

    Key hash

    Thread hash

    Note

    The Decryption Key is the default value for OpenThread. This should be set to a random value in production. You may have to determine the actual Thread Master Key for a given network. The Thread Test Harness does change these keys in the course of its tests.

    Add IEEE 802.15.4 Decryption Key

    Figure 55. Add IEEE 802.15.4 Decryption Key

  11. The packets in Wireshark should now be decrypted and dissected correctly.

    Dissected Thread traffic

    Figure 56. Dissected Thread traffic