コンテンツへスキップ
🛠️ToolsShed

MAC Address Generator

ベンダーOUIプレフィックス、フォーマット、数量オプション付きのランダムMAC アドレスを生成します。

このツールについて

MACアドレス(メディアアクセスコントロールアドレス)はネットワークインターフェースカードに割り当てられた一意の識別子で、ローカルエリアネットワーク上のデバイスを識別するために使用されます。このツールは特定のベンダーOUIプリフィックス、異なるフォーマットスタイル、および複数のアドレスを一度に作成する機能に対応した、ランダムなMACアドレスを生成します。ネットワーク設定のテスト、仮想マシンの作成、またはネットワーク環境のシミュレーションを行う場合、MACアドレスジェネレータは時間を節約し、フォーマット規則を覚える必要なく有効なアドレスを提供します。

ツールを使用するには、目的のMACアドレスフォーマット(コロン区切り、ハイフン区切り、またはドット区切り表記)を選択し、必要に応じてドロップダウンからベンダーOUIプリフィックスを選択して、特定のメーカーの範囲に限定し、生成したいアドレスの数を指定します。生成ボタンをクリックすると、ツールは選択したフォーマットで有効なランダムMACアドレスを即座に生成します。個別のアドレスまたはすべての生成されたアドレスを一度にコピーして、ネットワークテスト、仮想マシン設定、またはシミュレーションシナリオで使用できます。

このジェネレータは、仮想環境またはネットワークシミュレーションで作業しているネットワークエンジニア、システム管理者、およびソフトウェア開発者に特に役立ちます。ベンダーOUI機能は、テストシナリオで一般的な、特定のメーカーから来たように見えるアドレスが必要な場合に便利です。生成されたアドレスはランダムで実際のデバイスに登録されておらず、テストと開発目的のためだけです。

よくある質問

コード実装

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.