![避免:使用 MAC 地址随机器获取重复的 MAC 地址?](https://linux22.com/image/1583015/%E9%81%BF%E5%85%8D%EF%BC%9A%E4%BD%BF%E7%94%A8%20MAC%20%E5%9C%B0%E5%9D%80%E9%9A%8F%E6%9C%BA%E5%99%A8%E8%8E%B7%E5%8F%96%E9%87%8D%E5%A4%8D%E7%9A%84%20MAC%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
首先,我要说明一下我为什么问这个问题:我目前正在研究如何在网上更“匿名”,不是因为我做了什么需要隐藏的事情,而只是因为我很重视我的私生活。而网上隐私正变得比我希望的更不标准。
现在,这个问题已经解决了;我目前正在研究编写自己的“MAC 地址随机化脚本”,以便在重启时欺骗我的 MAC 地址。
现在我开始好奇,如果两台计算机使用相同的 MAC 地址访问同一个本地网络,会发生什么?我开始在 Google 上查阅资料,没有深入研究细节,人们明确表示这将是一团糟。
那么,如何避免这种情况呢?在我看来(我可能错了),如果我随机化我的 MAC 地址,我的电脑是否有机会获得与网络上另一台电脑相同的 MAC 地址?一般来说,这种可能性可能很小,但在大型网络上(例如大学)会成比例地变大。
但我确实想不出解决这个问题的方法。
你们有这方面的经验吗?
答案1
首先,请注意,一个地址位指示地址是“全局分配”(以制造商的 OUI 为前缀)还是“本地分配”(由主机本身决定)。因此,如果您的地址随机器仅正确使用本地分配的范围,那么它不能可能与制造商分配的全局地址冲突,因为它们在那一位上总是不同的。
其次,MAC 地址仅在同一个 L2 域(即同一个以太网/Wi-Fi 网络)内有效,而大多数大型网络实际上被划分为由路由器连接在一起的较小子网。这意味着冲突只在同一个子网中的设备之间发生 -不是在整个大学的所有设备之间。
如果您的 L2 网络中的每个人都使用地址随机器并设置“本地分配”地址,会怎么样?有 246 个唯一的“本地管理”MAC 地址。这提供了 70,368,744,177,664 种可能性。如果我理解正确这个公式正确的话,你至少需要 106个设备在单个 L2 网络中在发生碰撞的可能性变得很大之前。(如果你在一个共享以太网中拥有超过 5,000 个设备,我会感到惊讶。)
(从 IEEE 购买自己的 OUI 前缀可以获得几乎 100% 的唯一性保证;36 位“MA-S”前缀一次性花费 730 美元并赋予您 2 12 个MAC 地址的独占所有权。当然,这里的问题是前缀将是静态的,并且很容易被追踪到您,因此它完全违背了整个练习的重点。)
答案2
MAC 地址长度为 48 位,因此可能的 MAC 地址有 281,474,976,710,656 个。
在一个由 1,000,000(一百万)台设备组成的网络中,随机 MAC 地址冲突的概率为 0,0000000036%(约为 280,000,000 分之一)。
这比被雷击中。