Help us understand the problem. What is going on with this article?

MacのMACアドレスを偽装する

More than 3 years have passed since last update.

概要

世の中にはMACアドレスでフィルタリングする等のセキュリティ対策がありますが、MACアドレスフィルタリングってMACアドレス偽装されたら意味無さそう?と思ったので、そもそもMacアドレスの偽装が出来るかどうか調べました。

タイトルは「MacでMACアドレスを偽装する」になっていますが、多分Mac以外でも動きます。(未検証)

注意

悪用、ダメ。ゼッタイ。
不正アクセス行為の禁止等に関する法律

参考サイト

feross/spoof

準備

  • node.js のインストール
  • npm install spoof -g

実践

まず spoof help とやると下記のオプションがあることがわかります。

SpoofMAC - Easily spoof your MAC address in OS X & Linux

Usage:
  spoof list [--wifi]                     List available devices.
  spoof set <mac> <devices>...            Set device MAC address.
  spoof randomize [--local] <devices>...  Set device MAC address randomly.
  spoof reset <devices>...                Reset device MAC address to default.
  spoof normalize <mac>                   Given a MAC address, normalize it.
  spoof --help | -h                       Shows this help message.
  spoof --version | -v                    Show package version.

Options:
  --wifi          Try to only show wireless interfaces.
  --local         Set the locally administered flag on randomized MACs.

このオプションから下記のことが出来ることがわかりますので、上から1つずつ試してみます。

  • 自分のデバイスで利用可能なMacアドレスの一覧を表示
  • 任意のMacアドレスの設定
  • ランダムなMacアドレスの設定
  • 元のMacアドレスに戻す

自分のデバイスで利用可能なMacアドレスの一覧を表示

xx:xx:xx:xx:xx:xx に実際のMacアドレスが入ります。

[xxx@xxx]spoof list

- Wi-Fi on device en0 with MAC address xx:xx:xx:xx:xx:xx
- Bluetooth PAN on device en3 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 1 on device en1 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 2 on device en2 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt Bridge on device bridge0 with MAC address xx:xx:xx:xx:xx:xx

任意のMacアドレスの設定

MACアドレスっぽいものを生成する でダミーMacアドレスを生成して設定してみます。

[xxx@xxx]sudo spoof set 1e:5e:d7:e0:b0:bc en0

そして、もう一度 spoof list をしてみると、Macアドレスが書き換わっていることがわかります。

[xxx@xxx]spoof list

- Wi-Fi on device en0 with MAC address xx:xx:xx:xx:xx:xx currently set to 1E:5E:D7:E0:B0:BC
- Bluetooth PAN on device en3 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 1 on device en1 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 2 on device en2 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt Bridge on device bridge0 with MAC address xx:xx:xx:xx:xx:xx

ランダムなMacアドレスの設定

[xxx@xxx]sudo spoof randomize en0
[xxx@xxx]spoof list

- Wi-Fi on device en0 with MAC address xx:xx:xx:xx:xx:xx currently set to 00:05:69:55:1D:06
- Bluetooth PAN on device en3 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 1 on device en1 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 2 on device en2 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt Bridge on device bridge0 with MAC address xx:xx:xx:xx:xx:xx

元のMacアドレスに戻す

[xxx@xxx]sudo spoof reset en0
[xxx@xxx]spoof list

- Wi-Fi on device en0 with MAC address xx:xx:xx:xx:xx:xx
- Bluetooth PAN on device en3 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 1 on device en1 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt 2 on device en2 with MAC address xx:xx:xx:xx:xx:xx
- Thunderbolt Bridge on device bridge0 with MAC address xx:xx:xx:xx:xx:xx

まとめ

Macアドレスは簡単に偽装出来ます。しかし、実際にMacアドレスフィルタリングを回避するには許可されているMacアドレスを調べる必要があるので、Macアドレスフィルタリング自体のセキュリティには意味があると思いました。

yakimeron
株式会社テックコネクト代表取締役兼エンジニアです。Scala/Swift/Kotlin/C#/Java/C++/Go/Ruby/PHP/Python/JavaScriptを書き、AWS/Firebaseを使います。現在はUnity+Go+Nuxt.js+AWS+Firebase+PhotonEngineを利用してVRサービスを開発しています。コードを書いて物を作り出すのが何よりも好き!!
https://techconnect.co.jp/
techconnect
仮想世界の未来を創る VR SNS「TECO」を開発しています!日本のxR業界の発展に少しでも貢献できればと思い立ち上げました。
https://techconnect.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away