• Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created about 1 year ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

✈️ 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 logo

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

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 ⚡️

Gallery Image

Picture of the completed build

Gallery Image

Device shown with the SportCruiser

Gallery Image

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

Folium Map

Constructing the Device

  1. Install the Rasbian operating system to the Raspberry Pi with the SD Card
  2. Connect the Flight Aware SDR to the Raspberry Pi using the Micro USB cable
  3. Connect the 1090 MHz antenna to the Flight Aware SDR
  4. Configure the 3.5-inch TFT Screen to the Raspberry Pi
  5. Place the Device into the 3D Printed Case
  6. Ensure Python and Pip are installed on the Raspberry Pi
  7. 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

Folium Map

Open Fly_Catcher.ipynb and Run the Notebook

Folium Map

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

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.

More Repositories

1

SatIntel

SatIntel is an OSINT tool for Satellites 🛰. Extract satellite telemetry, receive orbital predictions, and parse TLEs 🔭
Go
674
star
2

skytrack

skytrack is a planespotting and aircraft OSINT tool made using Python 🛩🔍
Python
417
star
3

DroneXtract

DroneXtract is a digital forensics suite for DJI drones 🔍. Analyze sensor values, visualize flight maps, and audit for criminal activity 🗺
Go
262
star
4

payload-wizard

AI assistant that utilizes GPT language models to interpret and generate cybersecurity payloads 🪄
TypeScript
183
star
5

netspionage

Network Forensics CLI utility that performs Network Scanning, OSINT, and Attack Detection
Python
178
star
6

python-for-aerospace

Notebook Companion for the Python for Aerospace Course 🐍🚀✨
Jupyter Notebook
134
star
7

ESP8266-WiCon-Kit

A compact and portable WiFi reconnaissance suite based on the ESP8266
C
103
star
8

aerospace-hacking-tools

An astronomical collection of space-related cybersecurity tools 🚀✨
JavaScript
92
star
9

designr

A chrome extension that inspects CSS styles and saves snapshots of web components and designs 🎨✨📸
JavaScript
78
star
10

astroguard

Code auditing and profiling tool based on gcc for C programs to adhere to NASA's JPL Rule of 10 🚀
C
61
star
11

ctv

Highly configurable tree view file visualizer CLI tool made with Rust
Rust
46
star
12

nRFi-Monitor

A 2.4GHz band and WiFi analyzer toolkit made with the D1 Mini and NRF24L01
C++
33
star
13

satellite-hacking-workshop

Files for Aerospace Cybersecurity: Satellite Hacking Workshop
Python
29
star
14

url_genie

Malicious URL Detection Model NN optimized by Genetic Algorithms 🧬
Jupyter Notebook
28
star
15

drone-hacking-workshop

Files and Programs for UAV and Drone Cybersecurity Workshop
Python
22
star
16

ADSB-Spoof-Detector

A neural network that detects spoofed aircraft via ADS-B input
Jupyter Notebook
14
star
17

ClimaCast

Meteorology reports and forecasts, satellite pass predictions, communications decoding, and imagery analysis for NOAA satellites 🌧 🛰 📡
Python
13
star
18

intellishell

AI-powered terminal session logger and analyzer. Save a summary of each session and query for it within a catalog 📟🤖
Ruby
13
star
19

ANG13T

Repo for my new website and README
9
star
20

Magenta

Magenta - An Organized and Efficient Programming Language made using Java
Java
9
star
21

duck-duck-boom

A VS Code Extension to import USB Rubber Ducky keystroke injection payloads quickly!
TypeScript
9
star
22

bashsweep

Tool for automating bash cleanup tasks with cron jobs 🧹✨
Shell
8
star
23

Digital_Rain_Payload

Digital Rain Prank HID Payload written in Ducky Script. Works on MacOS with Homebrew
8
star
24

angelina-tsuboi.github.io

CSS
7
star
25

IAQ_Device_Dev_Log

SCSS
5
star
26

ERC20_Token

Solidity
5
star
27

Ambience

Ambience is a Discord bot designated to help you focus and work with the use of calming and soothing background noise.
JavaScript
5
star
28

hack-the-orbit

Hack the Orbit interactive CTF workshop files 🛰️
Python
5
star
29

drone-swarmer

Drone Swarmer is an ESP8266 device based on RemoteIDSpoofer that spoofs "ghost" drones by exploiting an Open Drone ID vulnerability using Wi-Fi beacon broadcasts 📡 🛜
C
5
star
30

Give-A-Star

A Star PCB Board based on the ESP32-S2 and D1 Mini to teach the basics of soldering ⭐️🎁🎄
C
4
star
31

fake_news_detection

Access the validity of websites for information and to evaluate sources for misleading information using ML models
Jupyter Notebook
4
star
32

CursorPop

A simple, lightweight JS library for making custom cursor particles. Make your cursor POP!
JavaScript
4
star
33

Pocket_CPR

A CPR trainer right around your wrist! Pocket CPR is an Apple Watch app that teaches the basics of CPR through tutorials and interactive cadence timers.
Swift
4
star
34

rgb-cat

A cat-shaped RGB PCB badge to teach the basics of soldering 😺
3
star
35

fingerprint-biosec

Python
3
star
36

snowflake-zsh-theme

❄️ ☃️ An elegant, simple, and neat ZSH theme including an aesthetically pleasing cool color palette that harmonizes with dark themes
Shell
3
star
37

DealsForMeals

DealsForMeals is an app that aims to help low-income families with finding the best deals. The app eliminates the need to sort through dozens of websites of each individual food bank, and shortens the distance from accessible food to hungry stomachs.
HTML
3
star
38

star_necklace_attiny13_smd

Star-shaped blinky necklace powered by the ATtiny13A! SMD and programmable via ICSP 🌟
3
star
39

555-LED-Chaser

LED Chaser circuit based on the NE555 and the CD4017 sponsored by Hack Club 🚀
2
star
40

IAQ_Device_Web_App

JavaScript
2
star
41

CLI_Productivity_Dev_Tools

Productivity tools for developers using the CLI
JavaScript
2
star
42

pcb-soldering-workshop

Slideshow, KiCad PCB Files, and Assets for the PCB and Soldering Workshop
2
star
43

Dropbox_Blockchain

I created a Dropbox like app that puts all your files onto the blockchain
JavaScript
2
star
44

555-plane-pcb

555 IC Circuit of Airplane PCB with Astable Dual LED Flashing ✈️✨
2
star
45

AVBEAR_NFT_Generation

Aviation Bears (AVBEAR) NFT generation script using the HashLips engine
JavaScript
2
star
46

dna-encryption-algorithm

DNA-based End-to-End Encrypted EFS Database created using Python 🧬
Python
2
star
47

usbnugget.com

Source code for usbnugget.com quickstart website
HTML
2
star
48

DealsForMeals_App

DealsForMeals is an app that aims to help low-income families with finding the best deals. The app eliminates the need to sort through dozens of websites of each individual food bank, and shortens the distance from accessible food to hungry stomachs.
SCSS
2
star
49

Face_Recognition

Recognizes faces using Python
Python
1
star
50

aviation-cybersecurity-workshop

Python
1
star
51

Easie-CLI_Tools

Make petty, time wasting tasks easie with the command line!
JavaScript
1
star
52

AP_CS_A_Prep

Java
1
star
53

angelinatsuboi.net

My personal website
HTML
1
star
54

Storm_Viewer

Basic Iphone app made with Swift
Swift
1
star
55

Interactive_Periodic_Table

This is a Periodic Table I made using JS
HTML
1
star
56

Nasa_API_App

This app displays recent NASA data in a nice manner
JavaScript
1
star
57

Arduino_Memory_Game

Simon-like memory game made using the Arduino
C++
1
star
58

Reminders_Java

This is a Java app to store all your reminders
Java
1
star
59

Computer_Science_Problems

Java
1
star
60

Hourglass_Scheduler

Your Smart AI Schedule Planner
HTML
1
star
61

Sentiment-Analyzer

Part 1 of learning AI projects. A simple Sentiment Analyzer made with Flask
CSS
1
star
62

Hexabin

A Node.js/Express.js REST API to GET and CONVERT binary, hexadecimal, octal, and decimal formats.
JavaScript
1
star
63

4N35_LED_Control

A simple project which controls an LED using a 4N35 optocoupler
C++
1
star
64

Guessing_Game

2nd project for learning app dev
Swift
1
star
65

homebrew-ctv

Homebrew tap for ctv!
Ruby
1
star
66

Interactive_Map

This is an interactive JS map that displays data about countries
JavaScript
1
star
67

Jarvis_AI

This is a desktop version of JARVIS I made on my desktop
Python
1
star
68

Rock-Paper-Scissors-CLI

A CLI app that lets you play Rock, Paper, Scissors!
JavaScript
1
star
69

Flappy-Bird

C++
1
star
70

Quadratic-Equations

HTML
1
star
71

React_Todo_App

This is a simple todo app made using React
JavaScript
1
star
72

Sudoku_Prototype

JavaScript
1
star
73

Nugget-Workshops

Presentations & assets for Nugget related workshops
Python
1
star