... | @@ -113,7 +113,7 @@ There is an API for making the device discoverable, which requires confirmation |
... | @@ -113,7 +113,7 @@ There is an API for making the device discoverable, which requires confirmation |
|
If confirmation is given, the device remains discoverable for up to 120 seconds.
|
|
If confirmation is given, the device remains discoverable for up to 120 seconds.
|
|
On Android versions 8.1 and earlier (API level <= 27), some devices allow making the device discoverable for an unlimited amount of time, but we could not find any devices running versions later than 8.1 that allowed this.
|
|
On Android versions 8.1 and earlier (API level <= 27), some devices allow making the device discoverable for an unlimited amount of time, but we could not find any devices running versions later than 8.1 that allowed this.
|
|
|
|
|
|
Android also provides an API for performing discovery, which does not require confirmation from the user. Discovery runs for about 10 to 30 seconds. Receiving discovery results requires Bluetooth and/or location permissions, depending on the API level.
|
|
Android also provides an API for performing discovery, which does not require confirmation from the user. Discovery runs for about 10 to 30 seconds. Receiving discovery results may require location permissions, depending on the API level.
|
|
|
|
|
|
#### Pairing
|
|
#### Pairing
|
|
|
|
|
... | @@ -892,7 +892,7 @@ Not all devices would be able to act as access points, and users would not be ab |
... | @@ -892,7 +892,7 @@ Not all devices would be able to act as access points, and users would not be ab |
|
|
|
|
|
### Companion Device Pairing
|
|
### Companion Device Pairing
|
|
|
|
|
|
Android versions 8 and later (API level >= 26) provides a high-level API for discovering nearby Bluetooth and Wi-Fi devices without the application needing to hold the various permissions that are required for using the Bluetooth and Wi-Fi APIs directly.
|
|
Android versions 8 and later (API level >= 26) provide a high-level API for discovering nearby Bluetooth and Wi-Fi devices without the application needing to hold the various permissions that are required for using the Bluetooth and Wi-Fi APIs directly.
|
|
|
|
|
|
<https://developer.android.com/guide/topics/connectivity/companion-device-pairing>
|
|
<https://developer.android.com/guide/topics/connectivity/companion-device-pairing>
|
|
|
|
|
... | @@ -913,7 +913,7 @@ To make a connection between two devices using Nearby, one device takes the adve |
... | @@ -913,7 +913,7 @@ To make a connection between two devices using Nearby, one device takes the adve |
|
|
|
|
|
Connections are always made via Bluetooth RFCOMM initially. The advertiser encodes some information in its Bluetooth device name and makes the device discoverable. The discoverer performs Bluetooth classic discovery, uses the special device name to spot the relevant device, and makes an RFCOMM connection.
|
|
Connections are always made via Bluetooth RFCOMM initially. The advertiser encodes some information in its Bluetooth device name and makes the device discoverable. The discoverer performs Bluetooth classic discovery, uses the special device name to spot the relevant device, and makes an RFCOMM connection.
|
|
|
|
|
|
The advertiser may then tell the discoverer to switch from Bluetooth to Wi-Fi. Wi-Fi connections may use an existing access point if both devices are connected to the same access point. If not, Wi-Fi connections may use Wi-Fi Direct (legacy mode) or `hostapd`. The advertiser creates an access point via Wi-Fi Direct or `hostapd` and sends the access point's network name and password to the discoverer via the Bluetooth connection. The discoverer disconnects from its existing access point, if any, and connects to the access point specified by the advertiser.
|
|
The advertiser may then tell the discoverer to switch from Bluetooth to Wi-Fi. Wi-Fi connections may use an existing access point if both devices are connected to the same access point. If not, Wi-Fi connections may use Wi-Fi Direct legacy mode or `hostapd`. The advertiser creates an access point via Wi-Fi Direct or `hostapd` and sends the access point's network name and password to the discoverer via the Bluetooth connection. The discoverer disconnects from its existing access point, if any, and connects to the access point specified by the advertiser.
|
|
|
|
|
|
#### Soft AP Attack
|
|
#### Soft AP Attack
|
|
|
|
|
... | | ... | |