Функция рандомизации MAC-адресов позволяет устройствам использовать случайный MAC-адрес при подключении к сети Wi-Fi. Инструкции по реализации см. в разделе «Реализация рандомизации MAC-адресов» . На этой странице описывается поведение рандомизации MAC-адресов в Android.
Когда ваше устройство подключается к сети Wi-Fi или точке доступа, оно использует MAC-адреса. Поскольку эти MAC-адреса передаются без шифрования, их можно перехватить и использовать для потенциального отслеживания местоположения пользователя. Исторически устройства использовали заводской MAC-адрес для подключения к сети Wi-Fi. Заводской MAC-адрес является уникальным и статическим во всем мире, что позволяет отслеживать устройство и идентифицировать его индивидуально.
Функция рандомизации MAC-адреса повышает конфиденциальность пользователей, используя случайный MAC-адрес при подключении к сети Wi-Fi.
MAC-адреса имеют длину 48 бит и обычно представляются 12 шестнадцатеричными цифрами (6 октетов, так как каждый октет равен 8 битам), например, 00:11:22:AA:BB:CC . Функция рандомизации MAC-адреса рандомизирует адрес, устанавливая локально администрируемый бит в 1, а бит одноадресной рассылки — в 0. Остальные 46 бит рандомизируются.
Для устройств под управлением Android 10 и выше по умолчанию используется случайный MAC-адрес. Вы можете включить или отключить рандомизацию MAC-адресов для отдельных сетей с помощью параметра на экране сведений о сети в настройках , как показано на рисунке 1. Если вы отключите рандомизацию MAC-адресов для сети, платформа будет использовать заводской MAC-адрес (глобально уникальный адрес).

Рисунок 1. Вариант рандомизации MAC.
типы рандомизации MAC
В Android-фреймворке используются два типа рандомизации MAC-адресов: постоянная и непостоянная . Если пользователь отключает рандомизацию MAC-адресов, используется заводской MAC-адрес.
Android определяет, какой тип рандомизации MAC-адреса использовать при подключении устройства к сети Wi-Fi. По умолчанию Android использует постоянную рандомизацию. Начиная с Android 12, в следующих ситуациях используется непостоянная рандомизация:
- Приложение для подбора сети указывает, что для сети должна использоваться непостоянная рандомизация, используя API
WifiNetworkSuggestion.Builder#setMacRandomizationSetting. - Сеть является открытой и не сталкивалась с порталом авторизации, а параметр
config_wifiAllowEnhancedMacRandomizationOnOpenSsidsустановлен вtrue. По умолчанию этот параметр отключен (установлено значениеfalse).
Постоянная рандомизация
По умолчанию Android использует тип постоянной рандомизации, если включена рандомизация MAC-адреса. Android генерирует постоянный рандомизированный MAC-адрес на основе параметров профиля сети, включая SSID, тип безопасности или FQDN (для сетей Passpoint). Этот MAC-адрес остается неизменным до сброса до заводских настроек. MAC-адрес не будет повторно рандомизирован, если вы удалите и снова добавите сеть Wi-Fi, поскольку MAC-адрес зависит от параметров профиля сети.
Постоянные MAC-адреса необходимы, когда сети полагаются на сохранение MAC-адресов для обеспечения полезных функций. Например, они могут помочь запомнить устройство и позволить вам, как и ожидалось, обойти экран входа в систему или включить родительский контроль.
В Android 10 и 11 при включении рандомизации MAC-адресов используется постоянная рандомизация для всех сетей.
Непостоянная рандомизация
При использовании непостоянной рандомизации, применяемой в некоторых сетях Android 12 и выше, модуль Wi-Fi повторно рандомизирует MAC-адрес в начале каждого соединения, или же платформа использует существующий рандомизированный MAC-адрес для подключения к сети. Модуль Wi-Fi повторно рандомизирует MAC-адрес в следующих ситуациях:
- Срок действия DHCP-аренды истек, и с момента последнего отключения устройства от этой сети прошло более 4 часов.
- Текущий случайный MAC-адрес для сетевого профиля был сгенерирован более 24 часов назад. Повторная рандомизация MAC-адреса происходит только в начале нового соединения. Wi-Fi не будет активно отключаться для повторной рандомизации MAC-адреса.
Если ни одна из этих ситуаций не выполняется, платформа использует ранее случайный MAC-адрес для подключения к сети.
Опция разработчика для непостоянной рандомизации
Для устройств под управлением Android 11 и выше можно включить непостоянную рандомизацию MAC-адресов для всех сетей Wi-Fi (в которых включена рандомизация MAC-адресов) через экран параметров разработчика . Параметр включения непостоянной рандомизации MAC-адресов для всех профилей находится в разделе «Настройки» > «Параметры разработчика» > «Постоянная рандомизация MAC-адресов Wi-Fi» .

Рисунок 2. Вариант непостоянной рандомизации MAC-адресов в Wi-Fi.