What are the advantages and disadvantages of using a HackRF One compared to specific protocol sniffers?

From sniffing POV, HackRF One as well as many other SDRs give you radio wave processing capabilities. This means that you can tune to a wide band of frequencies and capture the signal. What you do with it then is generally beyond the SDR's scope.

You can always try to process the signal yourself (e.g. with GnuRadio) and write a decoder the data packets for the corresponding protocol (or use Wireshark if the decoder is already available). With the popularity of HackRF One there are often solutions available to work from, e.g. this Z-Wave tool claims to support it by default.

I have no hands-on experience with protocol-specific sniffers (sb. correct me), but I would expect them to provide the promised feature with little effort, while locking you from easily doing anything unsupported (e.g. capturing new/tweaked version of the protocol or tuning to different frequency than usual).


Traditional radios work by having electronic circuitry that tunes in only the frequency of interest. The hardware of the radio uses filters and other technologies to modify the signal so that only the desired wave is output. Circuits take care of splitting left and right stereo signals, filtering out side bands, receiving AM or FM, etc.; they ultimately output an analog signal that usually goes to a speaker. This makes a dedicated radio very good at receiving exactly the kind of signal it was designed for, but nothing else.

A Software Defined Radio (SDR) works by receiving a very wide band of the radio spectrum as data, and then processes the data within that band to pick out individual signals. It’s a matter of software to receive AM or FM, to filter out side bands, select bandwidth, etc. An SDR can receive almost anything that can be sent. Similarly, an SDR transmitter can use software to assemble any complex signal needed and output it. The HackRF One is both an SDR receiver and transmitter.

There is a third kind of radio out there: a software controlled radio. These are based on a chip that tunes its radio to a specified frequency chosen by parameters that are passed in. These parameters not only select radio modes such as frequency, AM, FM, etc., but also are designed to interpret the RF signal and directly output the received data. These chips are designed for cheap consumer remotes, and usually include both a receiver and transmitter for installing the same chips in the appliance and its remote control, using the same parameters. These are very inexpensive radios.

As with anything, there are a lot of choices. A HackRF One contains both an SDR transmitter and an SDR receiver, while a typical RTL-SDR is a receiver only. A HackRF One also costs about ten times as much as a good quality RTL-SDR dongle. So if you simply want to study received transmissions, the RTL-SDR is a much more economical choice, and is usually a good starting point.

There are also some inexpensive software controlled radio choices if you need to transmit. The Yardstick One is an RF hackers tool that contains a software-controlled CC1100 chip, which are manufactured for transmitting and receiving small data messages such as consumer remote controls and IoT data. They cost less than a third of what a HackRF One costs. But they’re limited - you can’t use them to spoof a GPS signal, for example.

Most people start with a cheap RTL-SDR, because you can discover a tremendous variety of signals for about $20 USD; and the open source software available ranges from “plug and play” to “automatically interpret the data in this signal” to “I’m working on my EE degree.”

The kind of radio people buy next depends on their needs. People often want to transmit next, but are unaware of the very strict rules on radio transmissions. You really have to know what you are doing; an amateur radio license may even be required.