virtualabs / btlejack

Bluetooth Low Energy Swiss-army knife
MIT License
1.9k stars 196 forks source link

Adding support for sniffing and reactive jamming of advertisements. #47

Open RCayre opened 5 years ago

RCayre commented 5 years ago

Adding advertisements-related features, such as sniffing or reactive jamming.

Multiple options have been added to the UI in order to communicate with the firmware version supporting advertisements sniffing and reactive jamming (btlejack-firmware PR #10). It allows to configure a filtering policy in order to accept or drop specific frames, and provide a pattern to reactively jam some specific frames.

It includes a simple advertisements dissector (dissect/advertisements.py). The usage is described in the code itself.

francozappa commented 4 years ago

@RCayre

What is the status of this PR? It looks that sniffing and jamming advs is not supported by btlejack v2.0

RCayre commented 4 years ago

As far as I know, virtualabs has made signifiant modifications in the code of btlejack in order to support BLE 5.0 sniffing, ans doesn't plan to include advertisements sniffing. This PR should be consequently adapted anyway. However, the forked version is still available and support 4.x advertisements sniffing/reactive jamming. I guess it may be closed.

jeanmi151 commented 4 years ago

Hey @RCayre , Did you modify the firmware for your patch ? if yes did you publish somewhere the sources ?

RCayre commented 4 years ago

Yes, the forked firmware is available here: https://github.com/RCayre/btlejack-firmware

It is compatible with Mirage (module ble_sniff or ble_jam, interface microbit, examples are available in the documentation) and this modified version of btlejack: https://github.com/RCayre/btlejack

edit: please note that it doesn't support advertising features introduced in the 5.0 spec (extended advertising, periodic advertising) (nRF51 is not able to use LE 2M and LE Coded PHYs anyway).

jeanmi151 commented 4 years ago

@RCayre In case you are interested i forked the project and added your PR to the version 2.0, here https://github.com/HexHive/btlejack