This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Tracking down private resolvable addresses

Hi, there~~ Just noticed that there are codes for the Android nRF connect.

github.com/.../Android-nRF-Connect

Using that code, I wish to create my personal sniffer that can track nearby arbitrary BLE devices without pairing/bonding

using the Github code and my Nexus 5 phone (Android 6.0).

So I have some questions!

1) Considering this past question 

devzone.nordicsemi.com/.../resolving-private-resolvable-addresses

is it not possible to resolve the private resolvable address unless I have the bonding information or the IRK?

In other words, I do have to at least pair/bond to a device if I want to resolve the device's private resolvable address?

2) 

  • 11:  Static
  • 01:  Non-resolvable
  • 00:  Resolvable

I searched the address types. Are these 2-bit fields shown from the advertising packet?

Or which bit-fields contain this address type?

I was curious whether I can determine whether the advertising device uses a public/resolvable/random address by sniffing the advertising packet.

3) I couldn't find one but have anyone found an Android SDK that can get the bonding information or the IRK?

Thanks a million!

Parents
  • Hi,

    I do not have an answer to 3), but:

    1) The resolvable random address can only be resolved using the IRK. You will get the IRK as part of bonding.

    2) Figuring out if the address is a known resolvable random address can only be done by checking against the list of known IRKs. Our SoftDevices does this automatically, providing in the advertising report event a flag peer_addr.addr_id_peer signalling if it is a resolved address. The two-bit fields that you refer to are actually part of the address itself. For the fourth type of address, "Public Device Address", those two bits are the two most significant bits of the company_id part of the address.

    Regards,
    Terje

Reply
  • Hi,

    I do not have an answer to 3), but:

    1) The resolvable random address can only be resolved using the IRK. You will get the IRK as part of bonding.

    2) Figuring out if the address is a known resolvable random address can only be done by checking against the list of known IRKs. Our SoftDevices does this automatically, providing in the advertising report event a flag peer_addr.addr_id_peer signalling if it is a resolved address. The two-bit fields that you refer to are actually part of the address itself. For the fourth type of address, "Public Device Address", those two bits are the two most significant bits of the company_id part of the address.

    Regards,
    Terje

Children
Related