fly-catcher
fly-catcher copied to clipboard
✈️ A device that detects for aircraft spoofing by monitoring for malicious ADS-B signals in the 1090MHz frequency. Built using a Raspberry Pi 3B and a FlightAware SDR
Fly Catcher
Fly Catcher monitors for malicious ADS-B signals in the 1090MHz frequency to detect for aircraft spoofing
Learn More | Build Guide | Getting Started | Video | Research Paper | Article
Table of Contents
-
Getting Started
- ✈️ Features
- ⚡ Demo Gallery
- ⚙️ Build it Yourself
- 🚀 Getting Started
- 🔎 Detecting for Spoofing
-
Learning More
- 🎥 Watch it in Action
- 🔬 Read the Research Paper
- 📄 Read the Article
-
Community
- ✨ Contributing
- 🏆 Special Thanks & Credits
- 💜 Support
- 📜 License
Features ✈️
- 🔎 Detecting spoofed ADS-B messages
- 📡 Logging messages on the 1090 MHz frequency
- ✈️ Mapping and visualizing ADS-B messages
- ⚙️ A portable Raspberry-Pi based device
- ⚡️ An accurate neural network classifier
- 🔨 3D printable case with small form factor
- 📻 Compatible with the FlightAware SDR
Demo Gallery ⚡️
Picture of the completed build |
Device shown with the SportCruiser |
Display shown on the TFT Screen |
Watch it in Action 🎥
Watch the video overview of Fly Catcher on YouTube
https://youtube.com/watch?v=NJ9ep0IlddA
Build it Yourself ⚙️
Materials List
- 1090MHz Rubber Ducky Antenna
- Raspberry Pi 3B
- FlightAware Pro Stick Plus SDR
- 3.5 in TFT Screen
- Portable Battery Charger
- USB-C to Micro USB Cable
- Custom 3D Printed Case
- SD Card
- Rasbian Operating System
- 4x 3/32 Screws
- Python and Pip on Raspberry Pi
Constructing the Device
- Install the Rasbian operating system to the Raspberry Pi with the SD Card
- Connect the Flight Aware SDR to the Raspberry Pi using the Micro USB cable
- Connect the 1090 MHz antenna to the Flight Aware SDR
- Configure the 3.5-inch TFT Screen to the Raspberry Pi
- Place the Device into the 3D Printed Case
- Ensure Python and Pip are installed on the Raspberry Pi
- Install dump-1090 FlightAware library on the Raspberry Pi to receive ADS-B information
The following tutorial is very helpful for getting dump-1090 installed on the Pi
https://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html
Running the Radar Code
Clone the Repository on the Pi
git clone https://github.com/ANG13T/fly-catcher.git
Run the Program
python3 fly-catcher/device-rpi/piawareradar.py longitude latitude
Replace longitude and latitude with your geo-coordinates
Detecting for Spoofing 🔎
Download the Jupyter Notebook
git clone https://github.com/ANG13T/fly-catcher.git
cd notebook
jupyter notebook
Install Jupyter Notebook if you do not have it
Open up the localhost server at http://localhost:8888
Download JSON Flight Logs from Device
Visit the IP address of the Raspberry Pi device followed by the path /data/aircraft.json
For example, 192.168.1.114:8080/data/aircraft.json
Open Fly_Catcher.ipynb
and Run the Notebook
Research Paper 🔬
To get a more in-depth and technical overview of Fly Catcher, you can refer to this research paper.
You can also read an article write-up I made about Fly Catcher here.
Future Improvements 🚀
- Enhanced UI features on the radar screen
- Deep learning techniques such as RNNs and LSTM networks
- Incorporating reinforcement learning techniques
- Differentiate spoofing attacks (ie. GPS spoofing, aircraft masquerading, etc)
Contributing ✨
Fly Catcher is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to implement.
Special Thanks & Credits 🏆
The Fly Catcher leveraged on previous ADS-B works and references included below
- Pi Aware Radar by Martin O'Hanlon
- Reference dump1090 README
- Data Samples from ADSB Exchange
- IEEE Research on ADS-B Signals
Support 💜
If you enjoyed Fly Catcher, please consider becoming a sponsor in order to fund my future projects.
To check out my other works, visit my GitHub profile.