IPアドレスが漏れるとヤバい、みたいな話はよく聞きますが、MACアドレスはいかがでしょうか。MACアドレスはもともと、世界でただ一つの変わることがない番号として使われてきましたが、最近ソフトウェアでランダム化されることが増えてきたので、それによる設定ミスも増加しています。この記事ではMACアドレスの基本から、確認方法、調査方法まで、わかりやすく解説しています。
MACアドレスで機器が特定される仕組み
MACアドレスの基本と、ベンダーの調査方法、ランダム化について解説します。
MACアドレスとは
「MACアドレス(Media Access Control Address)」とは、ネットワークデバイスを一意に判別するため、製造時に割り当てられた識別子です。
基本的には世界で唯一のアドレスであり、他と重複することはないのですが、最近はソフトウェアによって書き換えたり、ランダム化したりすることが増えています。
MACアドレスは、OSI参照モデルのデータリンク層、TCP/IPのリンク層で機能します。
階層 | 主なプロトコル | 主なアドレス |
---|---|---|
アプリケーション層 | HTTP、HTTPS、FTP、SMTP、DNS、TELNET、SSH | ドメイン名、URL |
トランスポート層 | TCP、UDP | ポート番号 |
インターネット層 | IP、ICMP、ARP | IPアドレス |
リンク層 | Ethernet、Wi-Fi、PPP | MACアドレス |
一般的によく知られているアドレスはIPアドレスですが、それより下位の、物理的・機械的な層ではMACアドレスが使用されています。
IPアドレスとMACアドレスは、「ARP」「RARP」によって相互に変換されています。
ARP、RARP、DHCPとは
MACアドレスをやり取りするための「ARP」について解説します。
ARP(Address Resolution Protocol)
「ARP」は、IPアドレスからMACアドレスを取得するためのプロトコルです。
ARPは、「このIPアドレスのMACアドレスは分かる?」と、ネットワーク内の全デバイスにブロードキャスト通信します。
受け取った通信が自身のMACアドレスだったデバイスは、「それは私のアドレスですね」とユニキャストで個別に返します。
RARP(Reverse Address Resolution Protocol)
「RARP」は、MACアドレスからIPアドレスを取得するためのプロトコルです。
ただし現在ではほとんど使われておらず、以下のDHCPに置き換えられています。
DHCP(Dynamic Host Configuration Protocol)
DHCPは、ネットワークデバイスに自動でIPアドレスを割り当てるためのプロトコルです。
デバイスがネットワークに接続されると、DHCPサーバーと以下のようなやり取りがおこなわれます。
- このネットワークにDHCPサーバーさんいますか?
- 私がDHCPサーバーだよ、このIPアドレスでどう?
- それでお願いします
- 設定したよ
DHCPによって、ネットワーク管理が簡素化されています。
MACアドレスの構成
MACアドレスの表記方法と、その意味について解説します。
表記
MACアドレスは、通常48ビット(0または1が48桁)です。
それを8ビット(1バイト)ごとに、「-(ハイフン)」または「:(コロン)」で区切り、16進数に変換して表します。
それ以外の表記が使われることもありますが、すべて同じ意味です。
ローカルアドレスとグローバルアドレス
MACアドレスは世界でただ一つと書きましたが、それはグローバルアドレスの場合です。
ローカルアドレスならば重複してもよいというより、ローカルアドレスが割り当てられた機器は、一般的には流通しないようになっています。
ローカルアドレスとグローバルアドレスは、先頭から第7ビットで判別します。第7ビットが0であればグローバルアドレス、1であればローカルアドレスです。
グローバルアドレスの管理
グローバルアドレスは、IEEE(Institute of Electrical and Electronics Engineers)によって管理されています。
最初の24ビット(3バイト)を、「OUI(Organizationally Unique Identifier)」と言い、製造会社を識別するために使用されています。
後半の24ビット(3バイト)は、「NIC Specific Identifier」と言い、製造会社が製品に一つずつ割り振るものです。
製造会社・ベンダーの検索
OUIが分かれば、製造会社・ベンダーを特定することができます。
IEEEの公式サイトが使いにくいので、MACVendorsのようなサイトを使うのが便利です。
その他にも、「MACアドレス ベンダー」などで検索すれば、類似サイトはたくさん見つかります。
MACアドレスのベンダー該当なし?
上記のようなサイトで検索しても、該当ベンダーなしという結果になった場合、以下のような理由が考えられます。
ローカルMACアドレス
ローカルMACアドレスとは、第7ビットが1に設定されたアドレスです。
このMACアドレスは、一意である必要がないため、ベンダー登録されていない可能性があります。
第7ビットが1といっても、16進数の場合は分かりにくいので、2進数に変換して調べる方法が便利です。
別ページに変換表を掲載しましたので、ご活用ください。
MACアドレスの2進数と16進数の変換表
2024/8/2
8ビットの2進数と16進数の変換表です。 第7ビットが0ものはグローバルアドレス、1のものはローカルアドレスです。 また第8ビットが0はデバイスの識別に用いられ、1はグループへのマルチキャストとなりま ...
ランダムMACアドレス
最近のモバイルデバイスは、プライバシー保護のために、ランダムなMACアドレスを使用する機能が有効になっています。
これにより、実際のベンダー情報が特定できなくなります。
ランダムMACアドレスは、通常ローカルアドレスとして登録されます。
未登録のOUI
新しいベンダーや、新しいデバイスの場合は、まだIEEEのデータベースにOUIが登録されていないことがあります。
手動変更されたMACアドレス
MACアドレスは手動で変更することもでき、「スプーフィング(偽造)」と呼ばれています。
ネットワーク管理者がテストのためにおこなうこともありますが、悪意のある攻撃の場合もあります。
非標準のデバイス
一部の非標準デバイスや、プロトタイプデバイスは、OUIを持たず、ベンダー登録されていないことがあります。
入力ミス
上述したように、MACアドレスには様々な表記方法がありますが、検索サイトによっては特定の表記方法での入力しか受け付けていないことがあります。
どのように入力するのが正しいのか、もう一度確認してみましょう。
スマホにもMACアドレスはある?
スマートフォンにもMACアドレスはありますが、通信規格によって異なります。
MACアドレスは、ネットワークの部品に対して割り振られます。
Wi-FiやBluetoothは、それぞれMACアドレスを持ちますが、4G・5Gなどのモバイル通信回線にはMACアドレスはありません。
モバイル通信回線では、代わりに以下のような識別子が使用されます。
- IMEI(International Mobile Equipment Identity):端末の識別番号
- IMSI(International Mobile Subscriber Identity):SIMカードの識別番号
- MSISDN(Mobile Station International Subscriber Directory Number):いわゆる電話番号
MACアドレスはプライバシーの侵害となる?
MACアドレスは、世界で唯一の番号なので、どのネットワークに接続していたのかということを容易に特定することができます。ただし、インターネット全体でやり取りしている訳ではありません。
MACアドレスは、TCP/IPの一番下、リンク層で機能します。
有線LANケーブルや、無線Wi-Fiの機器同士のやり取りで使用されます。
階層 | 主なアドレス | ネットワークデバイス |
---|---|---|
アプリケーション層 | ドメイン名 URL | Webサーバー メールサーバー DNSサーバー プロキシサーバー |
トランスポート層 | ポート番号 | ファイアウォール ロードバランサー |
インターネット層 | IPアドレス | ルーター レイヤ3スイッチ |
リンク層 | MACアドレス | NIC スイッチ ハブ 無線アクセスポイント |
つまり、ルーターの外側では使用されません。
LANの内側でのやり取りであり、インターネットに流出することはないということです。
それであれば、プライバシーの心配をする必要はないと思われるかもしれませんが、公衆無線アクセスポイントなどに接続するとなると、話は変わってきます。
例えば、Aというお店のWi-Fiに接続したあと、Bというお店で接続したら、同一人物だということが特定できるわけです。
そのため最近のスマホには、MACアドレスをランダム化する機能がついており、機器の特定ができないようになっています。
ランダムMACアドレスのメリット
MACアドレスをランダム化するメリットは、プライバシー保護とセキュリティの向上です。
本来のMACアドレスは、機器の製造時に割り振られた世界でただ一つの番号なので、容易に追跡・特定することができます。
また、本来のMACアドレスは変わることがないので、一度ブラックリストに登録されれば、それを回避することはできません。
それがソフトウェアによってランダム化されれば、プライバシーが守られる他、恒久的なフィルタリングを回避する手段となります。
ランダムMACアドレスのデメリット
ランダムMACアドレスは、個人にはメリットが大きいですが、困るのはネットワーク管理者です。
ネットワーク管理者は、MACアドレス使って以下のようなことを行っています。
- ホワイトリストに登録した特定のMACアドレスだけ通過させる
- ブラックリストに登録した特定のMACアドレスだけブロックする
- MACアドレスをもとに決められたIPアドレスを割り当てる
- MACアドレスをもとに行動を監視する
MACアドレスがランダム化されることにより、これらのことができなくなってしまいます。
そのため、企業内のネットワークでは、MACアドレスのランダム化機能はオフにされることが多いです。
個人でも、NAT超えをするためにルーターの設定を変更しようとした場合に、このあたりの仕組みを理解していないと、意図した通りに動作しないことになります。
NATタイプとは? 変更するにはどうしたらいいの?
ゲーム機がオンライン接続できない場合、「NAT超えに失敗しました」「NATタイプをご確認ください」などのメッセージが表示されることがあります。そもそもNATとは何でしょうか。この記事では、NATの基本 ...
参考:いろいろなMAC
世の中には「マクドナルド(McDonald's)」を始め「MAC(マック)」と省略される言葉がたくさんあります。
困ったことに、IT業界に絞っても複数の意味でMACが使われています。代表的なものをご紹介します。
Media Access Control
「Media Access Control」は、日本語では「媒体アクセス制御」と呼ばれ、通信プロトコルの一種です。
ここでのアドレスを「MACアドレス」、または「Physical Address」「物理アドレス」と言います。
この記事で解説しているものです。
Message Authentication Code
「Message Authentication Code」は、日本語では「メッセージ認証符号」と呼ばれ、通信メッセージの認証と整合性を検証するための、小さなデータです。
こちらのMACもよく使われるので、ややこしいです。
Mandatory Access Control
「Mandatory Access Control」は、日本語では「強制アクセス制御」と呼ばれ、システムがユーザーのアクセス権を制御するセキュリティモデルのことです。
この反対は「Discretionary Access Control(任意アクセス制御)」と呼ばれ、ユーザーが自身の裁量でアクセス権を変更できるという点が異なります。
つまり、Windows、iOS、Androidなど日常的に使うOSのほとんどはDACで、一部領域がMACにて保護されています。
Multiple Access Control
「Multiple Access Control」は、複数のデバイスが同じネットワークで通信する際に、データの衝突を避け、制御するための仕組みです。
以下のような方式があります。
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
- CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
- TDMA(Time Division Multiple Access)
- FDMA(Frequency Division Multiple Access)
- CDMA(Code Division Multiple Access)
- SDMA(Space Division Multiple Access)
Mobile Application Code
「Mobile Application Code」という言葉に決まった定義がある訳ではありませんが、モバイルアプリ開発の現場で使われることがあります。
Maintenance Access Controller
「Maintenance Access Controller」は、主にネットワークインフラのメンテナンスを目的とした、管理システムを指します。
データセンターなどの大規模な施設では、重要となります。
Macintosh
「Machintosh」は、Apple社が販売するパーソナルコンピューターのブランドで、通称「Mac」です。
1984年に最初のMacintoshが発売されて以降、2000年代前半まではその名称が使われていましたが、現在は「Mac」で統一されています。
Project MAC
「Project MAC」は、1963年にマサチューセッツ工科大学(MIT)で開始されたコンピューターサイエンスの研究プロジェクトで、後のコンピューターやインターネットの発展に多大な貢献をしました。
MACアドレスで機器を特定する方法
OS別に、MACアドレスの確認方法、ランダム化をオフ/オンする方法、ネットワーク上のデバイスを調査するためのツールについて解説します。
iOS / iPadOSのMACアドレスを確認する方法
iPhoneやiPadで、デバイス本来のMACアドレスと、ランダム化されたMACアドレスを確認する方法をご紹介します。
バージョンによって若干異なるかもしれませんがご了承ください。
デバイスMACアドレス
「設定」アプリを開きます。
「一般」をタップします。
「情報」をタップします。
Wi-FiとBluetoothのMACアドレスが確認できます。
ここでは「Wi-Fiアドレス」と表示されています。
ランダムMACアドレス
「設定」アプリを開きます。
「Wi-Fi」をタップします。
「接続されているWi-Fi名」をタップします。
「プライベートWi-Fiアドレス」というのが、ランダム化のオン/オフです。
ここで表示されている「Wi-Fiアドレス」は、上記のアドレスとは異なっていることが分かります。
AndroidのMACアドレスを確認する方法
Androidで、デバイス本来のMACアドレスと、ランダム化されたMACアドレスを確認する方法をご紹介します。
バージョンによって若干異なるかもしれませんがご了承ください。
デバイスMACアドレス
「設定」アプリを開きます。
「デバイス情報」をタップします。
Wi-FiとBluetoothのMACアドレスが確認できます。
ランダムMACアドレス
「設定」アプリを開きます。
「ネットワークとインターネット」をタップします。
「インターネット」をタップします。
「接続されているWi-Fi名」をタップします。
ランダム化されたMACアドレスを確認できます。
設定を変更するには、右上の「ペンアイコン」をタップします。
「詳細オプション」の「プライバシー」から変更できます。
Windows 11のMACアドレスを確認する方法
Windowsで、MACアドレスを確認する方法はいろいろありますが、比較的簡単な方をご案内します。
デバイスMACアドレス
検索ボックスに「cmd」と入力し「コマンドプロンプト」を選択します。
「ipconfig /all」と入力します。
イーサネット(有線LAN)、Wi-Fi、Bluetoothなど、搭載されている全てのネットワーク機器の情報が表示されます。
「物理アドレス」と表示されているものが、MACアドレスです。
ただしここで表示されるアドレスは、すでにランダム化されたものです。次のランダム化の設定と合わせてご確認ください。
ランダムMACアドレス
スタートボタンを押し、「設定」を開きます。
「ネットワークとインターネット」をクリックします。
「Wi-Fi」の横の「>」をクリックします。
「プロパティ」の横の「>」をクリックします。
「ランダムなハードウェアアドレス」で、オン/オフを切り替えることができます。
ネットワーク上のデバイスのMACアドレスを確認する方法
ネットワーク上のデバイスをスキャンしてMACアドレスを表示する方法を、OS別にご紹介します。
iOS / Android
スマホでネットワーク上のMACアドレスを調べるには、何かしらネットワーク管理アプリをインストールする必要があります。
いろいろありますが、ここでは「Fing(フィング)」をご紹介させていただきます。
Windows
検索ボックスに「cmd」と入力し「コマンドプロンプト」を選択します。
「arp -a」と入力します。
または、「Advanced IP Scanner」のようなアプリを利用します。
macOS
検索ボックスに「ターミナル」と入力し「ターミナル」を選択します。
「arp -a」と入力します。
または、「Angry IP Scanner」のようなアプリを利用します。