Sniffing & Spoofinggnuradioads-bmode-ssdraircraftradio

gr-air-modes

A software-defined radio receiver for Mode S transponder signals, including ADS-B reports from equipped aircraft. Supports multiple output formats like raw data, parsed text, SQLite, KML, SBS-1, and FlightGear.

Description

gr-air-modes is a GNU Radio-based tool for receiving and processing Mode S/ADS-B radio signals from aircraft transponders. It enables users to capture aircraft position reports and other flight data using software-defined radio hardware.

The tool offers versatile output options suitable for various applications, including raw packet data, human-readable parsed text, SQLite databases for storage, KML files for visualization in Google Earth, SBS-1 format compatible with flight tracking software like PlanePlotter or Virtual Radar Server, and FlightGear multiplayer interface for real-time simulation display.

Primary components include the modes_rx receiver application and the libgnuradio-air-modes library, making it suitable for both standalone signal reception and integration into larger GNU Radio flowgraphs.

How It Works

gr-air-modes uses GNU Radio to process Mode S transponder signals, including ADS-B extended squitter messages from aircraft. It receives RF signals via SDR sources like UHD (USRP), Osmocom, file input, or UDP streams, demodulates and decodes the Mode S packets, then outputs the parsed aircraft data in multiple formats. The receiver supports GPS location tagging of the station and can merge data from remote TCP sources for enhanced coverage.

Installation

bash
sudo apt install gr-air-modes

Flags

-h, --helpshow this help message and exit
-l LOCATION, --location=LOCATIONGPS coordinates of receiving station in format xx.xxxxx,xx.xxxxx
-a REMOTE, --remote=REMOTEspecify additional servers from which to take data in format tcp://x.x.x.x:y,tcp://....
-n, --no-printdisable printing decoded packets to stdout
-s SOURCE, --source=SOURCEChoose source: uhd, osmocom, <filename>, or <ip:port> [default=uhd]
-t PORT, --tcp=PORTOpen a TCP server on this port to publish reports
-R SUBDEV, --subdev=SUBDEVselect USRP Rx side A or B

Examples

Display help message and usage information for modes_rx
modes_rx -h
Run receiver with GPS location set to London coordinates
modes_rx -l 51.5074,-0.1278
Receive data from additional remote server
modes_rx -a tcp://192.168.1.100:30002
Run receiver without printing decoded packets to stdout
modes_rx -n
Process Mode S signals from IQ file input
modes_rx -s file:///path/to/capture.iq
Receive signals from UDP stream source
modes_rx -s udp://192.168.1.50:1234
Start TCP server on port 30003 to publish reports
modes_rx -t 30003
Use Osmocom source for RTL-SDR reception
modes_rx -s osmocom
Updated 2026-04-16kali.org ↗