3.

MAC アドレスの確認・変更方法 (Linux/Windows/macOS) | ネットワーク入門

編集
この記事の要点
  • MAC アドレスの確認は Linux で ip link / ifconfig、Windows で getmac / ipconfig /all、macOS で ifconfig が定番
  • link/ether や「物理アドレス」欄に表示される 16 進 6 バイトが MAC アドレス
  • MAC アドレスはソフトウェアで一時的に変更 (スプーフィング) できる。Linux は ip link set address、macOS は ifconfig ether
  • スマホ/PC は近年プライバシー保護のため、Wi-Fi 接続ごとに MAC をランダム化する機能を標準搭載している
  • MAC 変更は検証・プライバシー目的では有用だが、なりすましや MAC フィルタ回避など悪用にもつながるため目的を明確に

概要

本記事では、各 OS で MACアドレス を確認する方法と、ソフトウェアで MAC アドレスを変更する方法、そして近年のプライバシー機能である MAC アドレスのランダム化について扱います。MAC アドレスは NIC に焼き込まれた識別子ですが、OS のドライバ層で送信時の MAC を書き換えられるため、表示される値と「焼き込み値」が必ずしも一致しないことを理解しておくと混乱を避けられます。MAC の内部構造は アドレッシング・識別子 配下の関連項目を参照してください。

仕組み

NIC には製造時に書き込まれた MAC アドレス (バーンインアドレス) がありますが、OS は NIC ドライバを通じて送信フレームの送信元 MAC を任意の値に上書きできます。これを MAC スプーフィング (MAC アドレス変更) と呼びます。変更は揮発的で、再起動やドライバ再読み込みで元の値に戻るのが一般的です。永続化するには各 OS のネットワーク設定 (NetworkManager, netplan, systemd-networkd など) に記述します。

また、スマートフォンや最近の PC は、Wi-Fi のアクセスポイントごとに異なるランダムな MAC を提示する「ランダム MAC アドレス」機能を標準で備えています。これは、店舗や公共 Wi-Fi が MAC アドレスを使って利用者の移動を追跡 (トラッキング) するのを防ぐためのプライバシー保護機能です。ランダム化された MAC は U/L ビットが立ったローカル管理アドレスになります。

実用例

# ===== 確認 =====
# 【Linux】
ip link show                 # link/ether の値が MAC
ip -br link                  # 簡潔表示
ifconfig eth0 | grep ether   # net-tools が入っていれば

# 【Windows (cmd / PowerShell)】
getmac /v
ipconfig /all                # 「物理アドレス」欄
Get-NetAdapter | Select-Object Name,MacAddress   # PowerShell

# 【macOS】
ifconfig en0 | grep ether
networksetup -getmacaddress en0

# ===== 変更 (スプーフィング) =====
# 【Linux】IF を落として MAC を書き換えて戻す
sudo ip link set dev eth0 down
sudo ip link set dev eth0 address 02:11:22:33:44:55
sudo ip link set dev eth0 up
# 元の焼き込み値に戻す
sudo ip link set dev eth0 address $(ethtool -P eth0 | awk '{print $3}')

# 専用ツール macchanger を使う場合
sudo macchanger -r eth0      # ランダムな MAC に
sudo macchanger -p eth0      # 元に戻す

# 【macOS】
sudo ifconfig en0 ether 02:11:22:33:44:55

スマホでのランダム MAC は OS の Wi-Fi 設定画面 (iOS なら「プライベート Wi-Fi アドレス」、Android なら「ランダム MAC を使用」) で SSID ごとに ON/OFF を切り替えます。

主な用途

  • トラブルシュート/検証: 別端末になりすまして DHCP の挙動や MAC フィルタの動作を検証する。
  • プライバシー保護: 公共 Wi-Fi でのトラッキングを避けるため MAC をランダム化する。
  • NIC 交換時の互換維持: 旧 NIC の MAC を新 NIC に設定し、MAC に紐づくライセンスや DHCP 予約を引き継ぐ。
  • 機器の棚卸し確認: 各 OS で MAC を確認し、ネットワーク機器台帳と突き合わせる。

OS 別コマンドの比較

OS確認変更
Linuxip link show / ifconfigip link set dev IF address ... / macchanger
Windowsgetmac /v / ipconfig /allデバイスマネージャの詳細設定 (NetworkAddress)
macOSifconfig en0 / networksetupifconfig en0 ether ...

注意点

  • 変更は揮発的: ip link での変更は再起動で消える。永続化は NetworkManager/netplan 等の設定ファイルに書く。
  • ローカル管理ビットを立てる: 任意に設定する MAC は 02: 始まりのようにローカル管理アドレスにするのが作法。既存機器の MAC と衝突させない。
  • 悪用との線引き: MAC 変更は MAC フィルタの回避や他端末へのなりすましにも使える。自分の管理する機器・許可された検証に限る。
  • DHCP 予約への影響: MAC を変えると DHCP の固定割り当てや認証が外れ、IP が変わったり接続できなくなることがある。
  • ランダム化で MAC フィルタが効かない: 端末側のランダム MAC が ON だと、許可リスト方式の MAC フィルタで弾かれる。必要なら該当 SSID だけ OFF にする。

関連リンク

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. MACアドレスの構造
  2. MACアドレスフィルタリング
  3. MACアドレスの確認・変更方法

最近更新/作成されたページ