{"id":15115787,"url":"https://github.com/ANG13T/fly-catcher","last_synced_at":"2025-09-27T21:31:15.397Z","repository":{"id":209095625,"uuid":"720522795","full_name":"ANG13T/fly-catcher","owner":"ANG13T","description":"✈️ 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","archived":false,"fork":false,"pushed_at":"2023-12-08T14:40:19.000Z","size":55893,"stargazers_count":189,"open_issues_count":0,"forks_count":25,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-09-27T01:49:46.479Z","etag":null,"topics":["ads-b","aerospace","aviation","cybersecurity","planes","raspberry-pi","sdr","spoofing-detection"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=NJ9ep0IlddA","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ANG13T.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-18T18:41:16.000Z","updated_at":"2024-09-11T08:37:03.000Z","dependencies_parsed_at":"2023-11-25T03:30:48.573Z","dependency_job_id":null,"html_url":"https://github.com/ANG13T/fly-catcher","commit_stats":null,"previous_names":["ang13t/fly-catcher"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANG13T%2Ffly-catcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANG13T%2Ffly-catcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANG13T%2Ffly-catcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANG13T%2Ffly-catcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ANG13T","download_url":"https://codeload.github.com/ANG13T/fly-catcher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234460505,"owners_count":18836837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ads-b","aerospace","aviation","cybersecurity","planes","raspberry-pi","sdr","spoofing-detection"],"created_at":"2024-09-26T01:44:00.969Z","updated_at":"2025-09-27T21:31:11.672Z","avatar_url":"https://github.com/ANG13T.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"200\" src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/logo.png\" alt=\"Fly Catcher logo\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\" style=\"font-size:50px !important;\"\u003eFly Catcher\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eFly Catcher monitors for malicious ADS-B signals in the 1090MHz frequency to detect for aircraft spoofing\u003c/i\u003e\n   \u003cbr/\u003e\u003cbr/\u003e\n  \u003cb\u003e\u003ca href=\"#features-️\"\u003eLearn More\u003c/a\u003e\u003c/b\u003e | \u003cb\u003e\u003ca href=\"#build-it-yourself-️\"\u003eBuild Guide\u003c/a\u003e\u003c/b\u003e | \u003cb\u003e\u003ca href=\"#detecting-for-spoofing-\"\u003eGetting Started\u003c/a\u003e\u003c/b\u003e | \u003cb\u003e\u003ca href=\"https://youtube.com/watch?v=NJ9ep0IlddA\"\u003eVideo\u003c/a\u003e\u003c/b\u003e | \u003cb\u003e\u003ca href=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/project_report.pdf\"\u003eResearch Paper\u003c/a\u003e\u003c/b\u003e | \u003cb\u003e\u003ca href=\"https://medium.com/@angelinatsuboi/detecting-hacker-aircraft-using-artificial-intelligence-ec249baa866b\"\u003eArticle\u003c/a\u003e\u003c/b\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n\u003c/p\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eTable of Contents\u003c/b\u003e\u003c/summary\u003e\n  \u003cp\u003e\n  \n- **Getting Started**\n  - [✈️ Features](#features-️)\n  - [⚡ Demo Gallery](#demo-gallery-️)\n  - [⚙️ Build it Yourself](#build-it-yourself-️)\n  - [🚀 Getting Started](#detecting-for-spoofing-)\n  - [🔎 Detecting for Spoofing](#detecting-for-spoofing-)\n- **Learning More**\n  - [🎥 Watch it in Action](#watch-it-in-action-)\n  - [🔬 Read the Research Paper](https://github.com/ANG13T/fly-catcher/blob/main/assets/project_report.pdf)\n  - [📄 Read the Article](https://medium.com/@angelinatsuboi/detecting-hacker-aircraft-using-artificial-intelligence-ec249baa866b)\n- **Community**\n  - [✨ Contributing](#contributing-)\n  - [🏆 Special Thanks \u0026 Credits](#special-thanks--credits-)\n  - [💜 Support](#support-)\n  - [📜 License](https://github.com/ANG13T/fly-catcher/blob/main/LICENSE)\n    \n  \u003c/p\u003e\n\u003c/details\u003e\n\n## Features ✈️\n- 🔎  Detecting spoofed ADS-B messages\n- 📡  Logging messages on the 1090 MHz frequency\n- ✈️  Mapping and visualizing ADS-B messages\n- ⚙️  A portable Raspberry-Pi based device\n- ⚡️  An accurate neural network classifier\n- 🔨  3D printable case with small form factor\n- 📻  Compatible with the FlightAware SDR\n\n## Demo Gallery ⚡️\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd valign=\"top\"\u003e\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/display_1.png?raw=true\" alt=\"Gallery Image\" height=\"180\" width=\"250\"\u003e \u003ch4 align=\"center\"\u003ePicture of the completed build\u003c/h4\u003e\u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/display_2.png?raw=true\" alt=\"Gallery Image\" height=\"180\" width=\"250\"\u003e \u003ch4 align=\"center\"\u003eDevice shown with the SportCruiser\u003c/h4\u003e\u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/display_3.png?raw=true\" alt=\"Gallery Image\" height=\"180\" width=\"250\"\u003e \u003ch4 align=\"center\"\u003eDisplay shown on the TFT Screen\u003c/h4\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Watch it in Action 🎥\nWatch the video overview of Fly Catcher on YouTube\n\n[https://youtube.com/watch?v=NJ9ep0IlddA](https://youtube.com/watch?v=NJ9ep0IlddA)\n\n## Build it Yourself ⚙️\n\n###  Materials List\n- 1090MHz Rubber Ducky Antenna\n- Raspberry Pi 3B\n- FlightAware Pro Stick Plus SDR\n- 3.5 in TFT Screen\n- Portable Battery Charger\n- USB-C to Micro USB Cable\n- [Custom 3D Printed Case](https://github.com/ANG13T/fly-catcher/blob/main/fabrication/Device_Case.f3d)\n- SD Card\n- Rasbian Operating System\n- 4x 3/32 Screws\n- Python and Pip on Raspberry Pi\n\n\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/materials.png?raw=true\" alt=\"Folium Map\" width=\"400\" /\u003e\n\n### Constructing the Device\n1. Install the Rasbian operating system to the Raspberry Pi with the SD Card\n2. Connect the Flight Aware SDR to the Raspberry Pi using the Micro USB cable\n3. Connect the 1090 MHz antenna to the Flight Aware SDR\n4. Configure the 3.5-inch TFT Screen to the Raspberry Pi\n5. Place the Device into the 3D Printed Case\n6. Ensure Python and Pip are installed on the Raspberry Pi\n7. Install dump-1090 FlightAware library on the Raspberry Pi to receive ADS-B\ninformation\n\n#### The following tutorial is very helpful for getting dump-1090 installed on the Pi\n[https://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html](https://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html)\n\n### Running the Radar Code\n\nClone the Repository on the Pi\n```\ngit clone https://github.com/ANG13T/fly-catcher.git\n```\n\nRun the Program\n```\npython3 fly-catcher/device-rpi/piawareradar.py longitude latitude\n```\nReplace longitude and latitude with your [geo-coordinates](https://www.gps-coordinates.net/)\n\n## Detecting for Spoofing 🔎\n\n### Download the Jupyter Notebook\n```\ngit clone https://github.com/ANG13T/fly-catcher.git\ncd notebook\njupyter notebook\n```\nInstall [Jupyter Notebook](https://jupyter.org/install) if you do not have it\n\n### Open up the localhost server at `http://localhost:8888`\n\n### Download JSON Flight Logs from Device\nVisit the IP address of the Raspberry Pi device followed by the path `/data/aircraft.json`\nFor example, `192.168.1.114:8080/data/aircraft.json`\n\n\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/flight_log_screenshot.png?raw=true\" alt=\"Folium Map\" width=\"400\" /\u003e\n\n### Open `Fly_Catcher.ipynb` and Run the Notebook\n\n\u003cimg src=\"https://github.com/ANG13T/fly-catcher/blob/main/assets/folium_map.png?raw=true\" alt=\"Folium Map\" width=\"400\" /\u003e\n\n## Research Paper 🔬\nTo get a more in-depth and technical overview of Fly Catcher, you can refer to this [research paper](https://github.com/ANG13T/fly-catcher/blob/main/assets/project_report.pdf).\n\nYou can also read an article write-up I made about Fly Catcher [here](https://medium.com/@angelinatsuboi/detecting-hacker-aircraft-using-artificial-intelligence-ec249baa866b).\n\n## Future Improvements 🚀\n- Enhanced UI features on the radar screen \n- Deep learning techniques such as RNNs and LSTM networks\n- Incorporating reinforcement learning techniques\n- Differentiate spoofing attacks (ie. GPS spoofing, aircraft masquerading, etc)\n\n## Contributing ✨\nFly Catcher is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to implement.\n\n## Special Thanks \u0026 Credits 🏆\nThe Fly Catcher leveraged on previous ADS-B works and references included below\n\n- [Pi Aware Radar by Martin O'Hanlon](http://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html)\n- [Reference dump1090 README](https://github.com/SDRplay/dump1090/blob/master/README-json.md)\n- [Data Samples from ADSB Exchange](https://www.adsbexchange.com/data-samples/)\n- [IEEE Research on ADS-B Signals](https://ieeexplore.ieee.org/document/9377975)\n\n## Support 💜\nIf you enjoyed Fly Catcher, please consider becoming a sponsor in order to fund my future projects.\n\nTo check out my other works, visit my [GitHub profile](github.com/ANG13T).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FANG13T%2Ffly-catcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FANG13T%2Ffly-catcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FANG13T%2Ffly-catcher/lists"}