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

Bluetooth LE: Adds support for AltBeacon (Radius Networks) #1957

Merged
merged 4 commits into from
Apr 29, 2019

Conversation

micolous
Copy link
Contributor

@micolous micolous commented Mar 30, 2019

Note: This depends on changes in #1893 (specifically, LowEnergyBeaconHelper).
Update: This now includes LowEnergyBeacon changes for eddystone (also in #1893), but no longer touches iBeacon stuff, so can be merged independently!

This slightly deviates from the specification:

  • This code and the Android library treat the first 16 bytes of the data payload as a big-endian UUID.
  • The specification indicates that "the first 16+ bytes of the beacon identifier should be unique to the advertiser's organizational unit", but does not mandate a particular usage.

I've added tests based on the Android library, which seems to work with Beacon Locator. However, that detects it as iBeacon, but I believe this is a bug in Beacon Locator.

@codecov
Copy link

codecov bot commented Mar 31, 2019

Codecov Report

Merging #1957 into master will increase coverage by 0.02%.
The diff coverage is 94.87%.

@@            Coverage Diff             @@
##           master    #1957      +/-   ##
==========================================
+ Coverage   85.89%   85.91%   +0.02%     
==========================================
  Files         187      188       +1     
  Lines       42937    42969      +32     
==========================================
+ Hits        36880    36917      +37     
+ Misses       6057     6052       -5
Impacted Files Coverage Δ
scapy/contrib/altbeacon.py 100% <100%> (ø)
scapy/contrib/eddystone.py 96.42% <100%> (+1.02%) ⬆️
scapy/layers/bluetooth.py 86.16% <90.47%> (+0.13%) ⬆️
scapy/contrib/isotp.py 88.31% <0%> (-0.46%) ⬇️
scapy/layers/ntp.py 91.51% <0%> (-0.27%) ⬇️
scapy/layers/inet6.py 88.23% <0%> (+0.23%) ⬆️
scapy/layers/tls/basefields.py 80.53% <0%> (+0.67%) ⬆️
scapy/layers/tls/handshake_sslv2.py 93.58% <0%> (+1.13%) ⬆️
scapy/layers/tls/record_sslv2.py 87.7% <0%> (+1.67%) ⬆️

(includes 1 fix-up; excludes iBeacon in secdev#1893)
@micolous micolous marked this pull request as ready for review April 8, 2019 10:01
Copy link
Member

@gpotter2 gpotter2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, those are great documented PRs. 😄

@gpotter2 gpotter2 merged commit 7c2c869 into secdev:master Apr 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants