IPv6 を MAC アドレスに変換する方法
IPv6 アドレスから MAC アドレスを逆算できるのは、IPv6 のインター
フェース識別子が EUI-64 方式でその MAC アドレスから作られている場合
だけです。これは fe80:: で始まる古いリンクローカルアドレスや、一部
のステートレス自動設定アドレスでよく見られます。
使える条件
この逆変換は、IPv6 アドレスの下位 64 ビットに EUI-64 のインター フェース識別子がそのまま残っている場合に機能します。
- インターフェース識別子が 48 ビットの MAC アドレスから作られている。
- 中央のバイトが
ff:feのまま残っている。 - プライバシー拡張や他のランダム化方式で生成されたアドレスではない。
変換の仕組み
このコンバーターは次の手順で MAC アドレスを復元します。
- IPv6 アドレスの下位 64 ビットを読み取る。
- インターフェース識別子の中央に挿入された
ff:feを取り除く。 - 先頭バイトの universal/local ビットを反転する。
- 残った 48 ビットを標準的な MAC アドレス形式に整形する。
結果が出ない理由
次のような場合は結果が表示されません。
- IPv6 アドレスの構文が正しくない。
- アドレス自体は有効だが、MAC アドレスから EUI-64 で生成されたもので はない。
- プライバシーアドレス、安定ランダムアドレス、DHCPv6 など、MAC ベース ではない割り当て方式を使っている。