MAC Address Generator
Generate random MAC addresses with vendor OUI prefix, format, and quantity options.
Domande Frequenti
Implementazione del Codice
import random
import re
def generate_mac(format="colon", case="upper", uaa=True, multicast=False, oui=None):
"""Generate a random MAC address"""
if oui:
parts = [int(x, 16) for x in re.split(r"[:\-]", oui[:8])][:3]
else:
b0 = random.randint(0, 255)
b0 = (b0 & 0xFE) if not multicast else (b0 | 0x01) # unicast/multicast
b0 = (b0 & 0xFD) if uaa else (b0 | 0x02) # UAA/LAA
parts = [b0, random.randint(0, 255), random.randint(0, 255)]
parts += [random.randint(0, 255) for _ in range(3)]
hex_parts = [f"{b:02x}" for b in parts]
if format == "colon":
mac = ":".join(hex_parts)
elif format == "hyphen":
mac = "-".join(hex_parts)
else:
mac = "".join(hex_parts)
return mac.upper() if case == "upper" else mac
# Generate 5 random MAC addresses
for _ in range(5):
print(generate_mac())
# With Apple OUI prefix
print(generate_mac(oui="00:1A:E3"))
# Locally administered
print(generate_mac(uaa=False))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.