Skip to content
Marcelo Arredondo edited this page May 7, 2025 · 3 revisions

What is the CatSniffer?

The CatSniffer is a powerful and versatile tool for IoT hacking and wireless security research. It is a portable, battery-powered device that can be used to sniff and analyze packets from a variety of wireless protocols, including LoRa, Bluetooth, Zigbee, and WiFi.

How can I use CatSniffer?

CatSniffer requires two main steps: loading firmware to your board and running packet-sniffing software. The process varies depending on your specific use case but generally involves the following steps:

  1. Load the appropriate firmware to your CatSniffer board using tools like Arduino IDE or Python.
  2. Connect CatSniffer to your computer using USB.
  3. Run packet sniffing software such as SmartRF Packet Sniffer, Wireshark, pycatsniffer.py, or Sniffle.
  4. Configure the software to specify the protocol, frequency band, and other settings.
  5. Start capturing packets.

What are the features of the CatSniffer?

The CatSniffer has a number of features that make it ideal for IoT hacking and wireless security research, including

  • Support for a wide range of wireless protocols
  • Ability to sniff and analyze packets in real time
  • Ability to capture and save packets for later analysis
  • Powerful filtering and analysis tools
  • Easy-to-use interface

What can I do with the CatSniffer?

The CatSniffer can be used for a variety of purposes, including:

  • Debugging IoT devices
  • Detecting security vulnerabilities in IoT networks
  • Conducting performance testing of IoT networks
  • Monitoring IoT traffic for malicious activity

What IoT protocols are supported by CatSniffer?

CatSniffer supports various IoT protocols, including Sub-GHz, LoRa/LoRaWAN, Bluetooth Low Energy (BLE), Zigbee, Thread, mioty, Wi-SUN, and Amazon Sidewalk.

How can I restore the CC1352 firmware on CatSniffer?

If you accidentally flash the wrong firmware or your board gets stuck, you can restore the CC1352 firmware using different methods:

  • Using a J-Link:

    • Materials needed: CatSniffer, J-Link Edu or J-Link PLUS Compact from SEGGER, ARM20-CTX cable, Tag-Connect TC20X0-CLIP.
    • Steps include installing J-Link, connecting cables, erasing the previous .hex file, and uploading the correct .hex file.
  • Using RP2040 (Raspberry Pi Pico) for CatSniffer V3.x and newer:

    • Load the "free_dap_catsniffer.uf2" firmware onto the Raspberry Pi RP2040.
    • Install OpenOCD on your Windows computer.
    • Configure adapter speed, erase the CC1352 memory, and adjust chip address if needed.

How can I restore CC1352 firmware with RP2040 for CatSniffer V3?

This method is available for CatSniffer V3.x and newer. It only deletes the current firmware on the board, re-enabling the bootloader for firmware loading using the Python tool. Steps include preparing the RP2040, loading the firmware, and using OPENOCD to erase the memory.

ERROR: Timeout waiting for ACK/NACK after Synch (0x55 0x55)

If you see this error when trying to load the Python code, it means that your board is not in the bootloader. Catnip Tool should get your board into bootloader mode automatically. If you still encounter this error using Catnip, just restart your board.


Python Tool CC2538-bsl.py Error

What if SmartRF Packet Sniffer 2 doesn't detect my board?

Many causes could be responsible; here are some solutions:

  1. Check if CatSniffer is plugged in correctly; if not, then unplug the board and reconnect to the PC.

  2. Be sure that the COM number is correct; if not, then check on Device Manager and correct the port selected.

  3. Verify that the firmware Serial Passthrough was correctly uploaded; if not, then upload it again (see Serial Passthrough).

  4. Check that the baudrate values of CatSniffer and SmartRF Sniffer are the same, and if not, follow the next steps:

  • On SmartRF Sniffer, go to Options > Serial Port Settings.


Smart RF Options

  • In the option Baud with the select box, put the value that your CatSniffer has, which in this case is 921600.


Serial Port Settings Window

  • The software will scan again and detect the board. In this way, baud value is the same on CatSniffer and SmartRF Sniffer.


Smart RF Scanning For Devices

Why did I get the error unistd.h: no such file or directory_?

The cause of this error is that this file is for Linux OS; when you used Windows OS, the system could not find this file, and that's why this error appeared. So don't worry, Zigbee2MQTT will work fine.


Error: unistd.h no such file or directory

Why can't CatSniffer connect with Zigbee2MQTT?


CatSniffer Zigbee2MQTT Connection Error

This problem could exist for different causes; here are some possible solutions:

  • Be sure that the CatSniffer board was correctly connected to the PC. Try unplugging and plugging it in again.

  • Check that CatSniffer has uploaded the Serial Passthrough. If not, try to upload the firmware again.

  • Verify that CatSniffer has the right COM number in configuration.yaml. If the COM number is wrong, then change it by checking this value on Device Manager

  • Confirm that the CC1352 chip has been flashed with CC1352P2_CC2652P_launchpad_coordinator_20210120.hex file. If it is not the case, flash the chip using the flash CC1352P7 section.

What does this button do?


CatSniffer v3 Board Anatomy

Clone this wiki locally