Nearby Info messages broadcast the usage state of an iOS device to other nearby devices. Nearby Info messages are broadcast continuously in modern iOS versions regardless of user activity, and can be used to determine general usage states (phone locked, active user, driving a vehicle) passively.
Field Name | Info | Example | Length | Type | Notes |
---|---|---|---|---|---|
btcommon.apple.nearbyinfo.statusflags | Nearby Info Status Flags | 0x03 | 1 | UINT8 | |
btcommon.apple.nearbyinfo.unk.flag | Unknown Flag | Off (0x0) | 1 | BOOL | Not sure about this flag |
btcommon.apple.nearbyinfo.primary_device | Primary Device Flag | No (0x0) | 1 | BOOL | |
btcommon.apple.nearbyinfo.unk.flag2 | Unknown Flag | Off (0x0) | 1 | BOOL | Seen with iOS 11 |
btcommon.apple.nearbyinfo.airdrop_status | AirDrop Receiving Status Flag | Off (0x0) | 1 | BOOL | |
btcommon.apple.nearbyinfo.action_code | Action Code | Locked Phone (3) | 1 | UINT8 | |
btcommon.apple.nearbyinfo.dataflags | Data Flags | 0x1c | 1 | UINT8 | |
btcommon.apple.nearbyinfo.authtag_present | Auth Tag Present Flag | Yes (0x1) | 1 | BOOL | |
btcommon.apple.nearbyinfo.watch_locked | Watch Locked Flag | No (0x0) | 1 | BOOL | Not sure about this flag |
btcommon.apple.nearbyinfo.autounlock_watch | Auto Unlock Watch Flag | No (0x0) | 1 | BOOL | Not sure about this flag |
btcommon.apple.nearbyinfo.autounlock_enabled | Auto Unlock Flag | No (0x0) | 1 | BOOL | Not sure about this flag |
btcommon.apple.nearbyinfo.unk.flag3 | Unknown Flag | On (0x1) | 1 | BOOL | Not sure about this flag |
btcommon.apple.nearbyinfo.wifi_status | WiFi Status | On (0x1) | 1 | BOOL | |
btcommon.apple.nearbyinfo.authtag.fourbyte | 4 Byte Auth Tag | No (0x0) | 1 | BOOL | |
btcommon.apple.nearbyinfo.airpod.connection | AirPods Connection Status | No (0x0) | 1 | BOOL | This needs more teseting |
btcommon.apple.nearbyinfo.os | iOS Version | iOS 12.x | 1 | String | |
btcommon.apple.nearbyinfo.auth | Auth Tag | 839096 | 3 | Bytes | |
btcommon.apple.nearbyinfo.postauth | Post Auth Tag Data | 80 | 1 | Bytes | Seen in newer iPhones (X, Xs, 11) |
The message fields, observed values and their meaning:
- Type: 1 byte, 0x10 -- indicates a Nearby Info message
- Length: 1 byte, 0x05 -- number of bytes in message payload
-
Status Flags: 4 bits -- Used as a bitmask, more than one may be enabled at any
time
- 0x01 -- Indicates if this is the primary iCloud account device
- 0x02 -- Unknown
- 0x04 -- Indicates whether AirDrop Receiving is enabled
- 0x08 -- Unknown
- Action Code: 4 bits -- indicates the action state of the device
- 0x00 -- Activity Level Unknown
- 0x01 -- Activity Reporting Disabled
- 0x03 -- Idle User
- 0x05 -- Audio playing while screen locked
- 0x07 -- Active user (screen on)
- 0x09 -- Screen on with video playing
- 0x0A -- Watch on wrist and unlocked
- 0x0B -- Recent user interaction
- 0x0D -- User is driving a vehicle
- 0x0E -- Phone or Facetime Call
-
Status Flags: 8 bits -- Used as a bitmask, more than one may be enabled at any
time
- 0x01 -- Indicates if AirPods are connected and the screen is on
- 0x02 -- Indicates if the Authentication Tag is 4 bytes
- 0x04 -- Indicates whether WiFi is on or off
- 0x08 --Unknown
- 0x10 -- Indicates whether the Authentication Tag is present or not
- 0x20 -- Indicates whether the Apple Watch is locked or not
- 0x40 -- Indicates whether Auto Unlock on the Apple Watch is enabled or not
- 0x80 -- Indicates whether Auto Unlock is enabled or not
- Authentication Tag: 3 bytes