随机MAC地址原理

随机MAC地址原理本文详细介绍了 MAC 地址的构成 特别是各操作系统 如 Android Windows Linux 和 iOS 如何通过设置本地管理位 单播位等实现随机 MAC 地址 以增强网络连接的隐私保护

大家好,欢迎来到IT知识分享网。

MAC地址构成:

https://standards-oui.ieee.org/oui/oui.txt 

随机分配MAC原理

Android

  • 本地管理位(Locally Administered Bit):这一位通常位于第25至32位之间,用于区分全球唯一的MAC地址和本地管理的MAC地址。当这一位设置为1时,表示该地址是由本地网络管理员分配的,而不是由IEEE注册机构分配的全球唯一地址。
  • 单播/组播位(Unicast/Group bit):这一位通常位于第33位,用于指示MAC地址是单播地址还是组播地址。当这一位设置为0时,表示这是一个单播地址,即指向单个网络接口的地址。
  • 在随机分配MAC地址的功能中,本地管理位被设置为1,单播位被设置为0,以确保地址是本地管理的单播地址。剩余的46位则是随机分配的,这样可以确保每个随机生成的MAC地址都是唯一的

Android 一般默认使用持久随机化类型。即在不更改ssid的名称和加密方式的情况下,无论是断开重连还是忘记网络重接,每次连接该ssid都会保持使用同一个随机mac地址

Windows

当启用了随机MAC地址功能,Windows会在连接至无线网络时生成一个随机的、临时的MAC地址。这个地址是通过将网络名(SSID)、设备的真实MAC地址、连接标识符(connectionId)以及一个密钥(secret)作为输入参数,经过SHA-256哈希算法计算得出。这种机制可以确保每次连接时生成的随机MAC地址都是唯一的,而且与特定的网络和设备相关联。

address = SHA-256(SSID, Real MAC address, connectionId, secret) 

Windows中的随机分配MAC地址算法是为了提高用户在网络中的隐私保护,通过使用SHA-256哈希函数来生成一个与特定网络和设备相关的临时地址,以此来防止设备被跟踪和关联

Linux

Linux内核提供了一个名为random-ethernet-mac的功能,可以在网络上发送数据包时使用随机MAC地址。这可以通过在内核启动参数中添加random-ethernet-mac来实现。

IOS

具体来说,iOS设备的MAC地址随机化主要发生在无线局域网(Wi-Fi)的扫描阶段。当设备进行Wi-Fi扫描以发现和连接已知的无线局域网时,它会使用一个随机生成的MAC地址,而不是真实的MAC地址。这个过程对于主动扫描和被动扫描都适用。在主动扫描中,设备广播一个包含虚拟MAC地址的请求,而在被动扫描中,设备只是监听周围的beacon包。这个虚拟的MAC地址不会对后续的关联阶段和数据传输阶段产生影响,因为在那些阶段,设备会使用真实的MAC地址。

此外,Apple在其官方支持页面上提到,当iOS设备未与无线局域网关联或设备处理器处于睡眠状态时,也会使用随机MAC地址进行增强型首选网络卸载(ePNO)扫描。这种扫描用于支持使用地理围栏的App,如基于位置的提醒事项或在Apple地图中固定位置。重要的是,即使在设备接入蜂窝网络时,由于MAC地址会更改,无线局域网流量的被动观察程序也无法使用该地址持续跟踪设备。

为了更好地保护隐私,iOS 14、iPadOS 14 和 watchOS 7 会在每个无线局域网中使用不同的 MAC 地址。这个唯一的静态 MAC 地址是您设备的私有无线局域网地址,仅用于相应网络。

设备6周(42天)未加入过某ssid,则下次接入该ssid时设备所用私有地址会刷新;2周(14天)未加入会刷新”

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131357.html

(0)
上一篇 2025-08-08 16:20
下一篇 2025-08-08 16:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信