跳至主要内容

如果能随机生成Mac地址,每次使用的都是随机生成的Mac地址,设备本身的Mac地址有什么意义? 原创 车小胖谈网络

   

  我用手机连接      WIFI      ,发现随机生成      Mac      地址是默认开启的。  


  

  如果关闭了      随机      MAC      地址      功能,手机就用      设备出厂的      MAC      地址      了,就这么简单。    

  为何手机需要随机      MAC      地址?这个问题会变得更有意义。    

  手机出厂的      MAC      地址,      48            bit      位,      6            byte          

   C4:AC:AA       :5E:9B:28   

  谁家的?    

   Apple      的。    

   00:0c:29       :8e:6e:8d   

  谁家的?    

   Vmware      的。    

  怎么知道的      ?   

   MAC      地址的高      32bit      位,即上文的      C4:AC:AA            00:0c:29             这些      prefix      代表      organizationally unique identifier (OUI)      ,分配给      Apple            Vmware          

  使用手机访问      Wi-Fi      时,无线信号是在开放(      Open      )空气介质里传播的。这里      open      意思是,方圆      100      米以内的人是有可能抓到你的      packet      的。    

  虽然      Wi-Fi      网络大多是加密的,但是      Wi-Fi      的二层头是不加密的,意味着你的      MAC      地址就暴露了。 如果不使用随机      MAC      地址,手机会一直使用出厂的、一成不变的      MAC      地址,这就给第三方跟踪你提供了便利。    

  如果使用随机      MAC      地址,下次连接      Wi-Fi      使用一个和上次连接不一样的      MAC      地址,甚至虚假的      OUI      编号,第三方跟踪你的难度就大大提升了。    

  在一个      Wi-Fi      网络里,多个手机有可能使用相同的随机      MAC      地址,从而造成冲突吗?    

  有这个可能,但概率极其小,小到可以忽略不记。    

  如果真的产生这种小概率事件,会发生什么?    

  任何手机要想上网,必须要      associate      到无线路由器上的。    

  如果老王已经用      MAC = 0000.0000.1234        连上了路由器。    

  此时,老李也想用      MAC = 0000.0000.1234      连接路由器,猜猜路由器会怎么做?    

  路由器内心独白:      MAC = 0000.0000.1234      对应的手机,目前的状态      class 3       (bind)      。怎么又进来一个      class 1            authenticate      报文,状态机不对啊! 按理说,应该给他一个      de-authenticate      报文踢他下线。可是那么一搞,把老王也干下线了,不妥。怎么办?不理他,当作什么也没有发生!    

  老李的手机,没有收到      authenticate reply      报文,心里很着急,来自路由器的周期信标      beacon      是可以收到的,说明路由器是在该信道,也是工作着的,为什么不理我呢?    

  但还是重传了几次      authenticate      报文直到放弃。直到下次      retry      定时器超时,老李手机又一次尝试,这次老李的手机选择了另外一个随机      MAC      地址,和老王不一样的      MAC      地址,终于等来了来自路由器的      Reply      ,老李

评论

此博客中的热门博文

不花一分钱,用 Cloudflare Warp 免费实现科学上网 原创 W不懂安全

   在如今网络环境越来越复杂的情况下,很多人开始寻找安全、可靠、免费的科学上网方式。但动辄买 VPS、配置节点、折腾端口,对大多数人来说太麻烦。      其实你知道吗? Cloudflare 推出的      WARP       工具,只需要几步,就能让你       免费访问 Google、YouTube、ChatGPT 等国外网站       ,而且不需要任何技术背景、完全免费、跨平台支持(手机 +电脑都能用)!      如果你是学生党 / 打工人,想要上 Google 查资料、用 ChatGPT 学习、看看油管上的教程,但又不懂 VP恩、不想花钱买魔法……  

程序员的投资武器库:6 个 GitHub 顶级开源投资分析工具盘点

1. Microsoft Qlib — 微软出品的 AI 量化投资平台 🔗 GitHub: https://github.com/microsoft/qlib ⭐ 37,960 Stars | 🍴 5,894 Forks | 📄 MIT License 微软研究院出品的重量级项目。Qlib 定位为「AI 驱动的量化投资平台」,目标是用 AI 技术赋能量化研究的全流程——从探索想法到生产部署。 核心亮点: 支持多种 ML 建模范式:监督学习、市场动态建模、强化学习 内置高质量金融数据集和预处理管道 集成微软自研的 RD-Agent,可自动化研发流程 完善的文档和活跃的社区维护 适合人群: 有 Python 和机器学习基础的量化研究者,想用 AI 做系统化投资研究的开发者。 2. OpenBB — 开源版彭博终端 🔗 GitHub: https://github.com/OpenBB-finance/OpenBB ⭐ 62,276 Stars | 🍴 6,072 Forks 本榜单 Star 数最高的项目。OpenBB 的野心是做「开源版彭博终端」,为分析师、量化交易员和 AI Agent 提供统一的金融数据平台。 核心亮点: 聚合股票、期权、固定收益、经济数据等多类数据源 提供 Python SDK 和 REST API,方便集成 支持 AI Agent 直接调用,适配 LLM 时代的工作流 活跃的开发团队,持续更新中 适合人群: 需要一站式金融数据接口的开发者,想搭建自己投资分析系统的个人投资者。 3. yfinance — 最流行的雅虎财经数据接口 🔗 GitHub: https://github.com/ranaroussi/yfinance ⭐ 21,826 Stars | 🍴 3,104 Forks | 📄 Apache 2.0 如果你只想快速获取股票数据,yfinance 是最简单的选择。一行代码就能拉取历史行情、财务报表、分红记录等数据。 核心亮点: 极简 API:yf.download("AAPL") 即可获取苹果股票数据 支持批量下载、多线程加速 覆盖全球主要市场的股票、ETF、基金数据 与 Pandas 无缝集成,数据分析一步到位 适合人群: 所有需要金融市场数据的 Python 开发者,量化入门的第一个工具。...

详解 Google 账号与 Google Play 换区,看完你就明白了 原创 海外社媒ACC

               现在很多兄弟虽然解决了 Google 账号注册问题,但是对于 Google 账号的了解知之甚少。比如,你知道 Google 账号和 Google Play 的地区可以设置不一致吗?Google 账号多久未使用会被注销吗?如何安全有效地更改账号和商店地区等等疑问。