{"id":13651930,"url":"https://github.com/sxjack/unix_rid_capture","last_synced_at":"2025-04-23T02:31:56.846Z","repository":{"id":140545684,"uuid":"570813249","full_name":"sxjack/unix_rid_capture","owner":"sxjack","description":"A program that captures ASTM F3411 / ASD-STAN 4709-002 UAV direct remote identification signals transmitted over WiFi and Bluetooth.","archived":false,"fork":false,"pushed_at":"2023-04-20T15:20:17.000Z","size":338,"stargazers_count":20,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-01-25T03:41:51.832Z","etag":null,"topics":["astm-f3411","en-4709-002","rid","uav"],"latest_commit_sha":null,"homepage":"","language":"C","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/sxjack.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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-26T07:54:04.000Z","updated_at":"2024-04-15T00:40:33.883Z","dependencies_parsed_at":"2024-01-03T04:48:21.637Z","dependency_job_id":"5ac0a882-18b7-4cf2-ad82-0822cc52d08e","html_url":"https://github.com/sxjack/unix_rid_capture","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sxjack%2Funix_rid_capture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sxjack%2Funix_rid_capture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sxjack%2Funix_rid_capture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sxjack%2Funix_rid_capture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sxjack","download_url":"https://codeload.github.com/sxjack/unix_rid_capture/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223909843,"owners_count":17223575,"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":["astm-f3411","en-4709-002","rid","uav"],"created_at":"2024-08-02T02:00:53.533Z","updated_at":"2024-11-10T03:30:18.799Z","avatar_url":"https://github.com/sxjack.png","language":"C","funding_links":[],"categories":["Security \u0026 Safety 🪂","📻 Radio \u0026 Telemetry"],"sub_categories":["ID Systems 🛂","Remote Identification Discovery \u0026 Spoofing Tools"],"readme":"# WiFi RID capture\r\nA program that captures ASTM F3411 / ASD-STAN 4709-002 UAV direct remote identification signals transmitted over WiFi and Bluetooth. \r\n\r\nRequires \r\n  * WiFi hardware capable of being put into monitor mode (optional),\r\n  * libpcap-dev for capturing WiFi signals (optional, I have version 1.8),\r\n  * bluez for capturing Bluetooth signals (optional, I have version 5.10),\r\n  * a nRF52840 dongle with the sniffer firmware (optional),\r\n  * ncurses (optional, I have version 6.1),\r\n  * opendroneid.c and opendroneid.h from [opendroneid](https://github.com/opendroneid/opendroneid-core-c/tree/master/libopendroneid).\r\n\r\nThe output is in json format. Perl scripts are provided for converting the json into gpx files suitable for Google Earth and displaying it on screen.\r\n\r\nTested using an rtl8812au based WiFi dongle, an nRF52840 dongle and a Raspberry Pi 3B.\r\n\r\nProbably won't receive Bluetooth 5 advertising without external hardware.\r\n\r\nIf anybody runs this in the vicinity of an \"Arrêté du 27 décembre 2019\" French ID, I would appreciate the debug.txt.\r\n\r\n### Command Line Options\r\n\r\n`rid_capture -h` will show you the command line options.\r\n\r\nThe UDP output can be read using netcat, `nc -lu 32001`.\r\n\r\n## Getting Started\r\n\r\n### Hardware and Driver\r\n\r\nYou need a WiFi card/dongle that can be put into monitor mode. If you are using an rtl8812au dongle you will need to build and install a third party driver which is a bit of a palaver. Modify the `monitor.sh` script as required until it is getting the hardware monitoring channel 6.\r\n\r\n### Compile rid_capture\r\n\r\nCheck that the options in `CMakeLists.txt` match what you want, check that any libraries that you need are installed (there is a script that will install the required libraries on Debian systems) and type `cmake .` followed by `make`. It may make things easier later on if you edit the default device name near the top of `rid_capture.c` to match your installation.\r\n\r\n### Running rid_capture\r\n\r\n`rid_capture` needs to be run as root or with cap_net_raw capabilities (`setcap cap_net_raw+eip rid_capture` as root).\r\n\r\nRun rid_capture. If it suggests that you use the -x option do so. You can override the device name on the command line. The first line that it outputs will show you what device it is using. Control C stops the program.\r\n\r\nrid_capture defaults to writing json to stdout. Capture this json to a file, e.g. `./rid_capture -x \u003e rid_capture.txt` and then feed the json to the rid2gpx.pl script (`./scripts/rid2gpx.pl \u003c rid_capture.txt`). If this works you will end up with a gpx file that Google Earth will display.\r\n\r\nrid_capture peridically outputs debug reports saying how may WiFi packets it has seen. \r\n```\r\n{ \"debug\" : \"rx packets 92 (0)\" }\r\n```\r\nIf the program is seeing WiFi RID, the output will look like -\r\n```\r\n{ \"mac\" : \"ac:67:b2:09:50:d4\", \"operator\" : \"GBR-OP-ZZZZZZZZZZZZ\", \"uav id\" : \"SERIAL NUMBER\", \"uav latitude\" :    0.000000, \"uav longitude\" :    0.000000, \"uav altitude\" : -1000, \"uav heading\" : 361, \"uav speed\" : 255, \"seconds\" : 0, \"base latitude\" :    0.000000, \"base longitude\" :    0.000000, \"unix time\" : 1546300800 }\r\n```\r\n\r\n### Summary and Diagnostics\r\n\r\nrid_capture writes summary and diagnostic files to `/tmp/rid_capture`.\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsxjack%2Funix_rid_capture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsxjack%2Funix_rid_capture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsxjack%2Funix_rid_capture/lists"}