跳到主内容
UniKit

MAC 地址生成器

批量生成随机 MAC 地址,可指定厂商前缀(OUI)、单播/组播位、本地管理位、大小写与分隔符(冒号、连字符、点号或无分隔符),并校验已有 MAC 地址的格式与标志位。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

生成结果

生成过程完全在浏览器本地完成;「单播」与「本地管理」两个开关会重写首字节的最低两位。

大小写
分隔符

MAC 地址校验

格式校验
单播 / 组播
管理范围
规范化写法

这个工具能做什么

  • 做网络设备测试或虚拟化环境时需要一批格式随意的 MAC 地址:指定数量(1–1000)批量生成,输出可直接粘进配置或测试用例。
  • 保留真实厂商前缀:填上 OUI(如 00:1A:2B)后只有后 3 字节随机,生成出来的地址能在厂商库里查到对应品牌。
  • 构造特定类型的地址:关掉「单播」得到组播地址(首字节最低位为 1),打开「本地管理」得到 02 开头这类随机化地址(第二低位为 1),模拟手机/虚拟机的隐私 MAC。
  • 顺手校验一个已有的 MAC:格式、单播/组播、本地管理/全局唯一、规范化写法以及四种分隔符写法都会列出来。

示例

输入

厂商前缀 00:1A:2B,单播,非本地管理,大写,冒号分隔

输出

00:1A:2B:7C:4E:91

前 3 字节是你给的 OUI,后 3 字节来自 crypto.getRandomValues(不可用时降级到 Math.random)。首字节的最低两位会被开关重写,所以即使 OUI 自带标志位也会被覆盖。

常见问题

生成的 MAC 会冲突吗?

后 3 字节是 24 位随机值,同一次批量里几乎不可能重复,但它不保证全球唯一,也不能拿去注册为真实设备的地址。需要真实可路由的地址必须向 IEEE 申请 OUI。

单播和本地管理这两个开关到底改了什么?

它们重写首字节的最低两位:bit0 = 0 是单播、1 是组播;bit1 = 0 是全局唯一、1 是本地管理。所以打开「本地管理」后首字节会变成 02 / 06 / 0A 这类值,这也是手机随机化 MAC 的典型特征。

OUI 能填几位?

6 位或 8 位十六进制都可以(即 3 或 4 个字节),支持 : - . 分隔或不分隔,例如 00:1A:2B、001A2B、00-1A-2B、001A.2B 都行。填错位数或含非十六进制字符会直接报错。

为什么生成的地址可能查不到厂商?

OUI 里的标志位(单播、本地管理)被重写后,前缀就和你填的原值不一致了;另外本地管理地址本来就不属于任何厂商。想保留可查的厂商前缀,就别开「本地管理」并保持「单播」开启。

随机数来自哪里,会不会被上传?

优先用浏览器内置的 crypto.getRandomValues,环境不支持时才降级到 Math.random。整个过程在本地完成,不发网络请求。

关键词:macmac addressouimac 地址mac 地址生成随机 mac单播本地管理vendor prefix网络工具

同类工具