对于任何想要生成自己的MAC地址的人(一个很好的例子是VM NICs),您可能只需要这样:"02:00:00:%02x:%02x:%02x" % (random.randint(0, 255),
random.randint(0, 255),
random.randint(0, 255))
或者,如果您想在unix的shell中执行此操作,此操作可以在许多情况下执行:printf '02:00:00:%02X:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256))
这为您提供了一个单播MAC地址,在您的环境中使用它是100%安全的,并且不会破坏任何人注册的MAC地址空间。
更多细节。。。
顶部字节(0x02)的底部两位为您提供了一个本地管理的单播地址,这可能是您在遇到stackoverflow以了解如何生成该地址时所需要的。:)
如果MAC地址是而不是本地管理的,则意味着它应该是“全局唯一的”。此类别中的MAC地址是在IEEE中集中注册的,您应该有一个由IEEE颁发给您的唯一OUI(组织唯一标识符)。有关OUI值的全局注册表,请参见this链接。这个OUI值最后出现在前3个字节(实际上,只是前22位)。
MAC地址并没有那么复杂,所以您可能也应该看看定义。维基百科有a good one。