隐私:随机选择 MAC 地址
隐私:随机选择 MAC 地址
从 Android 8.0 开始,Android 设备在未连接到网络的情况下探测新网络时会使用随机 MAC 地址。
在 Android 9 中,您可以启用开发者选项(默认处于停用状态),使设备在连接到 WLAN 网络时使用随机选择的 MAC 地址。系统会对每个 SSID 使用随机选择的 MAC 地址。
随机选择 MAC 地址可防止监听器使用 MAC 地址来生成设备活动的历史记录,从而加强对用户隐私的保护。
此外,随机选择 MAC 地址也是 WLAN 感知和 WLAN RTT 操作的一部分。
实现
要在设备上实现随机选择 MAC 地址,请执行以下操作:
与 WLAN 芯片供应商合作实现
IWifiStaIface.setMacAddress()HAL 方法。- AOSP 参考实现会关闭接口、更改 MAC 地址并备份接口。这种参考实现行为可能不适用于某些芯片供应商。
在“设置”
config.xml中,将config_wifi_support_connected_mac_randomization设置为 true(该步骤可在设备自定义叠层中完成)。- 此标记用于控制参考“设置”实现的开发者选项中是否显示“连接时随机选择 MAC 网址”切换开关。如果设置为 true,则显示该切换开关;如果设置为 false,则不显示该切换开关。
使用验证中所述的方法测试实现。
系统界面必须:
- 在开发者菜单中有一项可启用或停用该功能的设置。
- 如果启用了随机选择 MAC 地址功能,则在系统显示 WLAN 接口 MAC 地址时显示生成的随机 MAC 地址。
使用设置界面的参考实现来实现新提示。
验证
要验证该功能是否如期正常运行,请同时运行集成测试 (ACTS) 和手动测试。
要运行集成测试,请使用位于 tools/test/connectivity/acts/tests/google/wifi 中的 ACTS 文件 WifiConnectedMacRandomizationTest.py,验证设备是否使用随机选择的 MAC 地址,以及是否正确存储为每个网络随机选择的 MAC 地址。
要运行手动测试,请执行以下操作:
- 开启该功能并验证设备是否能够连接到 WLAN 网络。
- 验证 WLAN 设置中显示的 MAC 地址是否与设备正在使用的 MAC 地址(通过 ifconfig 确定)相符。
- 执行数据包捕获来验证设备是否使用随机选择的 MAC 地址(而非出厂 MAC 地址)。
- 检查设备是否会在连接到同一网络时使用同一 MAC 地址,验证设备是否存储了基于网络随机选择的 MAC 地址。
- 验证忘记网络并重新连接到同一 SSID 后是否会生成新的随机 MAC 地址。
在连接到网络时,您可能会遇到长达 3 秒的延迟,这是因为只要设置了新的 MAC 地址,系统就会清除扫描结果。在连接到网络并验证互联网连接时,也可能会出现其他延迟。
如果 WLAN 驱动程序或固件未正确同步 MAC 地址状态与主机内核,则互联网连接检查将会失败。如果出现这种情况,请咨询您的芯片合作伙伴,确保驱动程序或固件已根据新的 MAC 地址进行了相应更新。
隐私:随机选择 MAC 地址的更多相关文章
- uboot生成随机的MAC地址
转载:http://blog.chinaunix.net/uid-25885064-id-3303132.html 在使用U-boot时,有个问题就是MAC地址的设置,如果MAC地址相同的两块开发板在 ...
- 分享一个随机更改 MAC地址 软件
有些软件 是根据 MAC地址 来判断 是不是 已经 安装过 这个 软件 (针对 有些软件是 可以 免费 使用的 ) 要想 一直 使用 的话 只需要 修改一下 mac地址 就可以 继续 使用! 在百度中 ...
- 运营商挂时长神器,批量导入账号,导出账号状态,随机修改MAC地址
话不多说,直接上图 可批量导入账号,同时修改广域网口MAC地址 导出账号状态,包括在线时长,MAC,IP地址等等
- kernel随机生成MAC地址的接口
/** * eth_random_addr - Generate software assigned random Ethernet address * @addr: Pointer to a si ...
- 伪装MAC地址
一.界面操作法 打开"网上邻居",右键属性"本地连接",点击配置 选择"高级",再选"网路卡位址"(不同系统名字略不同) ...
- MAC地址欺骗(原理及实验)
MAC地址欺骗 MAC地址欺骗(或MAC地址盗用)通常用于突破基于MAC地址的局域网访问控制,例如在交换机上限定只转发源MAC地址修改为某个存在于访问列表中的MAC地址即可突破该访问限制,而且这种修改 ...
- Linux 生成随机mac地址,并固化到本地
前言: 将Mac地址随机化并固化到本地可以有效避免同一个网络内,mac地址冲突导致的网络阻塞问题. 以下是有关的方法: 1.使用$RANDOM和md5sum(嵌入式无需移植其他软件的优秀可选方案) M ...
- 获取设备信息——获取客户端ip地址和mac地址
1.获取本地IP(有可能是 内网IP,192.168.xxx.xxx) /** * 获取本地IP * * @return */ public static String getLocalIpAddre ...
- dSploitzANTI渗透教程之修改MAC地址与Wifi监听器
dSploitzANTI渗透教程之修改MAC地址与Wifi监听器 dSploitzANTI基本配置 渗透测试是一种安全性较大的工作.所以,在实施渗透测试之前进行一些简单设置.如修改MAC地址.了解网络 ...
随机推荐
- [jzoj 5926] [NOIP2018模拟10.25] naive 的图 解题报告(kruskal重构树+二维数点)
题目链接: https://jzoj.net/senior/#main/show/5926 题目: 题解: 显然最小的最大路径在最小生成树上(最小生成树=最小瓶颈生成树) 于是我们建出kruskal重 ...
- ORACLE 11g RAC-RAC DG Duplicate 搭建(生产操作文档)
环境:rhel 6.7 64位源库:ORACLE 11204 RAC 未打PSU备库:ORACLE 11204 RAC PSU 20170718 一.停止中间件并做全库备份 1.在节点2做全备 2.首 ...
- 一天一个算法:C语言解答杨辉三角
杨辉三角形是形如:11 11 2 11 3 3 11 4 6 4 1的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全 ...
- Swift学习笔记(6):控制流
目录: For-In While If-Else, Guard-Else Switch 控制转移 For-In 可以使用for-in语句循环遍历集合.区间.元组.字符串. // 遍历区间,返回元素值 ...
- Windows服务的创建,安装,卸载
我公司项目的产线系统要与WMS物流系统做借口对接,需要我创建一个windows服务的项目,里面含有7个服务 创建Windows服务: 1.如图:点击 windows->经典桌面->wind ...
- jqGrid收藏的链接
http://zld406504302.iteye.com/blog/1694017 http://blog.csdn.net/jiudihanbing/article/details/2455902 ...
- html5+css3+javascript 自定义弹出窗口
效果图: 源码: 1.demo.jsp <%@ page contentType="text/html;charset=UTF-8" language="java& ...
- Android 去掉TabLayout下的阴影,AppBarLayout下的阴影
开始还以为是TabLayout在高版本系统上的特殊表现呢,没有在意,UI提出说感觉不好看就查了一下,原来是在TabLayout放在AppBarLayout里面才有这样的效果,只需要对AppBarLay ...
- swift语言点评二十一-协议
定义有什么,及哪些必须实现. A protocol defines a blueprint of methods, properties, and other requirements that su ...
- ARC下dealloc过程及.cxx_destruct的探究
我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: - (void)dealloc { self.array = nil; self.string = nil; ...