Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix ble.* modules on macOS (requires GATT library macOS fixing) #74

Open
1 of 2 tasks
evilsocket opened this issue Feb 24, 2018 · 6 comments
Open
1 of 2 tasks

fix ble.* modules on macOS (requires GATT library macOS fixing) #74

evilsocket opened this issue Feb 24, 2018 · 6 comments
Labels
help wanted Extra attention is needed os support osx

Comments

@evilsocket
Copy link
Member

evilsocket commented Feb 24, 2018

A bleah kind of thing but cooler.

  • Linux support.
  • macOS support.
@evilsocket evilsocket self-assigned this Feb 24, 2018
@evilsocket evilsocket added new feature evil Everything market with this is just too good to not be implemented. labels Feb 24, 2018
evilsocket added a commit that referenced this issue Feb 26, 2018
@bettercap bettercap deleted a comment from Neal Feb 26, 2018
@bettercap bettercap deleted a comment from Neal Feb 27, 2018
@evilsocket
Copy link
Member Author

evilsocket commented Feb 27, 2018

Modules completed for Linux, macOS support is incomplete for now, the GATT library doesn't seem to work correctly on High Sierra (it hangs due to some unhandle XPC messages).

The macOS enabled version is available on this branch.

This is the problem on macOS

@evilsocket evilsocket added the partial support This feature is not supported on every OS. label Feb 27, 2018
@evilsocket evilsocket added help wanted Extra attention is needed osx labels Feb 27, 2018
@evilsocket evilsocket changed the title implement ble.* module fix ble.* modules on macOS (requires GATT library macOS fixing) Mar 6, 2018
@evilsocket evilsocket added os support and removed evil Everything market with this is just too good to not be implemented. new feature partial support This feature is not supported on every OS. labels Mar 6, 2018
@evilsocket evilsocket removed their assignment Mar 6, 2018
@okazymyrov
Copy link

I get the following results on macOS 10.15, MacBook Pro (15-inch, 2018):
image

ble.recon on works, but returns wrong MACs.

@hmeine
Copy link

hmeine commented Jul 9, 2024

From what I can see from these old issues and PR discussions, bettercap/gatt#1 has been closed as "completed" on 2019-09-08, after bettercap/gatt#10 was merged. However, that does not seem to have fixed the issue, as @evilsocket and @raff discussed. Both of them seem to have made further progress in the gatt fork at https://github.com/raff/gatt/tree/master (one commit each) immediately after, and these commits also appear in https://github.com/bettercap/gatt/commits/master/. However, I am not sure how the exact status is:

  • This issue is still open, but it also has a generic title, so it may not be good to close until all bugs are fixed.
  • I am still seeing the hang when trying to ble.recon on, but I am on MacOS 14.5 (on an ARM MBP), so I am not sure if it is still the same hang or a new one. There seeem to be recent reports from others seeing the same (ble.recon on has no response on MacOS #1026, Can't use "ble.recon on" on mac os #1065 for instance).
  • According to the screenshots, @evilsocket and @okazymyrov seem to have gotten ble.recon to work except for proper MAC addresses, but that was five years ago. Given that the commits seem to be in bettercap's gatt repo, I would naively have expected that to be the state that I should also have gotten, but I could not reproduce that. (But that could also be related to 5 years of MacOS API changes, CPU / hardware architecture changes, or the fact that I am just using the MacPorts build.)

@evilsocket
Copy link
Member Author

@hmeine the bottom line is that macOS API change so quickly (specifically the dictionaries being sent on macOS IPC) that it is not possible to keep the gatt package updated

@hmeine
Copy link

hmeine commented Jul 9, 2024

I see. I just found #769 where you stated a similar conclusion. I guess it's good to have this (sad) summary also here.

@raff
Copy link

raff commented Jul 9, 2024

Note that 4 years ago I gave up trying to keep my package (github.com/raff/goble) in a workable state. And there are now official APIs for Bluetooth on MacOS (CoreBluetooth).

I see that this package has bindings for Go: https://github.com/JuulLabs-OSS/cbgo (I think originally they also used my xpc stuff). Maybe you can update to use this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed os support osx
Development

No branches or pull requests

4 participants