MACアドレスは、Windowsならコマンドプロンプトでgetmacかipconfig /all、macOSならifconfig en0、Linuxならip linkで確認できます。表示は「物理アドレス」「ether」「link/ether」の欄です。Wi-Fiではランダムなアドレスが使われることがあり、機器側の表示と合わない原因になります。
この記事でわかること
- Windows・macOS・Linux・Cisco IOSでMACアドレスを確認するコマンドの一覧
- getmacの出力の見方と、/v・/fo・/sなどのオプション
- Linuxでランダムに作られたアドレスかを確かめる方法
- ハイフン・コロン・ドットの表記の違いと、OUIでメーカーを調べる手順
- ルーターやスイッチの表示とMACが合わないときの原因
一次情報: Microsoft Learn「getmac」(参照)/Microsoft Learn「Get-NetAdapter」(参照)/Linux kernel「sysfs-class-net」(参照)/RFC 9542(参照)※2026年10月時点
MACアドレスとARPの仕組みは、CCNAの出題範囲にも入っています。受験料や勉強時間、取得後の年収の動きは別の記事にまとめました。
MACアドレスを確認するコマンド一覧|OS・機器別
MACアドレスは、ネットワークのアダプター1つごとに付いている48ビットの番号です。同じPCでも、有線LANとWi-Fiでは別の値になります。まずは使っている環境のコマンドを、下の表から選んでください。
| 環境 | コマンド | MACが出る欄 | 向いている場面 |
|---|---|---|---|
| Windows | getmac /v | 物理アドレス | MACだけを一覧で見たい |
| Windows | ipconfig /all | 物理アドレス | IPやDNSも一緒に見たい |
| Windows(PowerShell) | Get-NetAdapter | MacAddress | 状態(Up・Disconnected)も見たい |
| macOS | ifconfig en0 | ether | ターミナルで手早く見たい |
| macOS | networksetup -listallhardwareports | Ethernet Address | どのポートがWi-Fiか分からない |
| Linux | ip link show | link/ether | 全インターフェースを見たい |
| Linux | cat /sys/class/net/eth0/address | 値だけ | スクリプトで値を取りたい |
| Cisco IOS | show interfaces | address is | ルーター・スイッチ自身のMAC |
ipconfig /allは、IPアドレスやDNSサーバーと同じ画面にMACが出ます。ほかの項目の読み方は、ipconfigコマンドの使い方の記事で解説しています。ここから先は、MACアドレスそのものを確かめる手順と、表示の読み方に絞って進めましょう。
知りたいMACアドレスで、使うコマンドが変わる
- どのMACアドレスを知りたいか
- 自分のPCWindowsはgetmac /v、macOSはifconfig、Linuxはip link
- ルーター・スイッチ自身Cisco IOSならshow interfacesの「address is」
- 同じネットワークの別の機器pingを1回打ってからarp -aで、IPに対応するMACを見る
- リモートのWindows権限があればgetmac /s コンピューター名
図:自分の端末か、別の機器かで、打つコマンドを分ける
WindowsでMACアドレスを確認する|getmacとPowerShell
Windowsでは、コマンドプロンプトでgetmacと打つのが一番手軽です。Microsoftの資料によると、getmacは「すべてのネットワーク カードのMACアドレス」を返すコマンドです。各アドレスで使っているプロトコルも一緒に出ます。
getmac /v
/vを付けないと、物理アドレスとトランスポート名の2列だけが出ます。どれがWi-Fiか分からないので、普段は/vを付けて打つと迷いません。
getmacの出力の見方
Windows 11(日本語版)でgetmac /v /fo listを打ってみました。アダプターごとに次の4項目が並びます。値は伏せていますが、項目名は実際の表示のままです。
接続名: Wi-Fi
アダプター: Intel(R) Wi-Fi 6E AX211 160MHz
物理アドレス: XX-XX-XX-XX-XX-XX
トランスポート名: \Device\Tcpip_{GUID}
接続名: Bluetooth ネットワーク接続
アダプター: Bluetooth Device (Personal Area Network)
物理アドレス: XX-XX-XX-XX-XX-XX
トランスポート名: メディアが切断されています
| 項目 | 意味 | 見るポイント |
|---|---|---|
| 接続名 | 設定画面に出るアダプターの名前 | 「Wi-Fi」「イーサネット」で有線と無線を分ける |
| アダプター | ネットワークカードの製品名 | USB LANやドッキングステーションもここで分かる |
| 物理アドレス | MACアドレス | 12桁の16進数。ハイフン区切りで出る |
| トランスポート名 | 通信に使っているかどうか | 「メディアが切断されています」なら未接続 |
今つながっているのは、トランスポート名が「\Device\Tcpip_」の行です。「メディアが切断されています」の行は使われていません。ケーブルが抜けているか、Wi-Fiにつないでいない状態になります。
getmacのオプション
getmacのオプションは多くありません。出力の形を変えるものと、別のPCに問い合わせるものに分かれます。
| オプション | 働き | 使い方の例 |
|---|---|---|
| /v | 接続名・アダプター名も含めて詳しく出す | getmac /v |
| /fo table・list・csv | 出力の形を選ぶ(既定はtable) | getmac /v /fo list |
| /nh | 列の見出しを出さない(table・csvのとき) | getmac /fo csv /nh |
| /s コンピューター名 | リモートのPCを調べる | getmac /s pc01 |
| /u・/p | /sで使うユーザー名とパスワード | getmac /s pc01 /u domain\user |
台帳にまとめるなら、/fo csv /nhで出してExcelに貼ると手早く済みます。/sで別のPCを調べるには、そのPCの管理者権限とリモート管理の通信の許可が必要です。社内のPCで使う前に、管理部門の運用ルールを確かめておきましょう。
PowerShellのGet-NetAdapterで状態も見る
PowerShellでは、Get-NetAdapterでアダプターの一覧が出ます。MacAddressの列にMACが、Statusの列に状態が並びます。つながっているかどうかも同時に分かるので便利です。
Get-NetAdapter | Format-Table Name, InterfaceDescription, MacAddress, Status
手元のWindows 11では、Wi-FiがUp、使っていないBluetoothがDisconnectedでした。仮想スイッチやVPNのアダプターは、既定では隠れていることもあります。Microsoftの資料では、-IncludeHiddenで隠れた分も出せるとされています。物理的なカードだけに絞るなら、-Physicalを付けてください。
macOSとLinuxでMACアドレスを確認する
macOSとLinuxは、どちらもターミナルで確認します。表示の欄の名前が違うので、どこを読むかだけ押さえておけば迷いません。
macOSはifconfigとnetworksetup
macOSでは、ifconfigにインターフェース名を付けて打ちます。多くの機種ではWi-Fiがen0ですが、機種によって番号が変わります。
ifconfig en0
networksetup -listallhardwareports
ifconfigの結果では、「ether」で始まる行の値がMACアドレスです。en0がWi-Fiか分からなければ、先にnetworksetupを打ちましょう。ポートの名前とDevice(en0など)、Ethernet Addressが3行ずつ並びます。どの番号がWi-Fiなのか、ここで対応が取れるはずです。
Linuxはip linkと/sys/class/net
Linuxでは、ip linkで全インターフェースのMACが出ます。最近のディストリビューションでは、古いifconfigが最初から入っていないこともあります。ip linkに慣れておくと安心です。
ip link show
cat /sys/class/net/eth0/address
cat /sys/class/net/eth0/addr_assign_type
ip link showでは、各インターフェースの2行目にある「link/ether」の後ろを読みます。/sys/class/net/の下のaddressには、値だけが入っています。形は「00:11:22:33:44:55」です。スクリプトで値を使うなら、こちらを読むと手間がかかりません。
Linuxでは、MACがどう決まったかまで確かめられるのが強みです。カーネルの資料では、addr_assign_typeの値を次のように定めています。
| 値 | 意味 | よく出る場面 |
|---|---|---|
| 0 | 機器に書き込まれた固定のアドレス | 物理NICの通常の状態 |
| 1 | ランダムに作られたアドレス | bridgeや仮想インターフェースの一部 |
| 2 | 別のデバイスから引き継いだアドレス | bondingなどで子のMACを使うとき |
| 3 | dev_set_mac_addressで設定されたアドレス | ip link set addressで手で変えたとき |
物理NICなのに0以外が出たら、どこかでMACが書き換えられています。仮想マシンを複製してMACが重なったときも、ここを見れば原因を早くつかめるでしょう。
Cisco機器でMACアドレスを確認する
ルーターやスイッチのインターフェースのMACは、show interfacesで確認します。読むのは2行目あたりの「Hardware is」で始まる行です。
show interfaces GigabitEthernet0/1
show mac address-table
「address is」の後ろが今使っているMACで、「bia」の後ろが元のMACです。biaはBurned-In Addressの略になります。設定でMACを変えていなければ、2つは同じ値です。
show mac address-tableは、スイッチ自身のMACではありません。そのスイッチが覚えている、つながった機器のMACとポートの対応表です。「どの差し口の先にこのMACの機器がいるか」を探すときに使います。
MACアドレスの読み方|表記の違いとランダムの見分け方
MACアドレスは、OSや機器によって書き方が違います。値は同じでも、検索や照合で一致しない原因になるので、表記の対応を押さえておきましょう。
| 書き方 | 例 | 使っている主な環境 |
|---|---|---|
| ハイフン区切り・2桁ずつ | 00-00-5E-00-53-01 | Windows(getmac・ipconfig)、RFC |
| コロン区切り・2桁ずつ | 00:00:5e:00:53:01 | Linux・macOS |
| ドット区切り・4桁ずつ | 0000.5e00.5301 | Cisco IOS |
例のアドレスは、RFC 9542が説明用に取っておいた範囲から選びました。00-00-5E-00-53-00〜FFの256個です。英字の大文字と小文字は、どちらでも同じ値として扱われます。
前半6桁(OUI)でメーカーを調べる
MACアドレスの前半24ビット(6桁)は、多くの場合OUIと呼ばれるメーカーの番号です。割り当て元のIEEEは、番号を検索できる一覧とCSVを公開しています(IEEE Registration Authorityのサイト)。ネットワークに見知らぬMACが出てきたとき、前半6桁を引けば、どこの製品かの見当がつきます。
ただし、後で説明するランダムなアドレスは、どのメーカーの番号にも当たりません。検索して出てこなければ、ランダムなアドレスを疑ってください。
2文字目が2・6・A・Eならランダムかもしれない
RFC 9542によると、MACアドレスの最初の1バイトには意味を持つビットがあります。一番下のビットが1なら、グループ宛て(マルチキャスト)です。下から2番目のU/Lビットが1なら、メーカーの番号を使わずに割り当てたアドレスになります。
16進数で見ると、左から2文字目が2・6・A・Eならローカル割り当てと読めます。
MACアドレスの2文字目で、出どころを見分ける
- 例:Wi-Fiの物理アドレスが「XA-XX-XX-XX-XX-XX」の形で出た
- 1左から2文字目を見る2・6・A・Eのどれかなら、U/Lビットが1
- 2ローカルに割り当てられたアドレスOSのランダム化、仮想マシン、手で設定した値のどれか
- 3Wi-Fiならランダム化の設定を確かめるWindowsは「ランダムなハードウェア アドレス」、Apple製品は「プライベートWi-Fiアドレス」
0・4・8・Cなら、メーカーが割り当てたアドレスの形。OUIで製品を引ける。
図:2文字目の16進数1文字で、メーカー由来かローカル割り当てかが分かる
たとえば先頭が「02」「0A」「12」のアドレスは、どれもローカル割り当てです。仮想マシンのMACにも、この形がよく使われています。
確認したMACと機器側の表示が合わないとき
PCで調べたMACが、ルーターの接続一覧やMACフィルターの登録と合わないこともあるでしょう。原因の多くは次の表のどれかです。
| 原因 | 起きていること | 確かめ方 |
|---|---|---|
| Wi-Fiのランダムなアドレス | 接続先ごと・定期的に別のMACで名乗っている | 2文字目が2・6・A・Eか、OSのWi-Fi設定 |
| 有線と無線の取り違え | Wi-FiのMACを有線の登録に使った | getmac /vの接続名・アダプター名 |
| ドッキングステーション・USB LAN | 本体ではなく外付けのアダプターのMACで通信している | アダプター欄の製品名 |
| 仮想アダプター・VPN | Hyper-VやVPNの仮想アダプターを見ている | Get-NetAdapter -Physicalで物理だけ出す |
| ルーター側の表記 | ハイフンとコロン、大文字と小文字が違う | 区切りを外して12桁で比べる |
Windowsでは、「設定」→「ネットワークとインターネット」→「Wi-Fi」に切り替えがあります。Microsoftのサポート資料では「ランダムなハードウェア アドレス」と呼ばれる機能です。公共の場所で、MACアドレスから動きを追われにくくするために使われます。
iPhoneやMacにも、Wi-Fiの詳細画面に「プライベートWi-Fiアドレス」があります。Appleのサポート資料では、「オフ」「固定」「ローテーション」から選ぶ設定です(Apple製デバイスでプライベートWi-Fiアドレスを使う)。MACフィルターに登録した端末が急につながらなくなったら、まずこの設定を見てください。
よくある質問
MACアドレスは変わることがありますか?
機器に書き込まれた元のアドレスは変わりません。ただ、OSが通信で名乗るアドレスは変えられます。Wi-Fiのランダム化をオンにしたり、設定でMACを書き換えたりすると、コマンドで出る値も変わるでしょう。
getmacで「メディアが切断されています」と出るのはなぜですか?
そのアダプターが通信に使われていないためです。LANケーブルが抜けている、Wi-Fiにつないでいない、といった状態で出ます。未接続でも、物理アドレスの欄にはMACが表示されます。
別のPCやプリンターのMACアドレスを調べるには?
同じネットワークにいる相手なら、pingを1回打ってからarp -aを実行してください。IPアドレスとMACの対応が表示されるので、相手のIPの行を探してください。ルーターを越えた先の機器は、この方法では調べられません。
「’getmac’ は、内部コマンドまたは外部コマンド…」と出て使えません
getmacはWindowsのコマンドなので、macOSやLinuxでは動きません。Windowsで出るなら、PowerShellのGet-NetAdapterを試してください。ipconfig /allでも物理アドレスは確認できます。
MACアドレスを人に教えても大丈夫ですか?
MACアドレスだけで外から侵入されることは、まずありません。ただ、同じ端末を長く見分ける手がかりにはなります。社内の申請など、決まった相手に伝えるぶんには問題ありません。SNSやネットの掲示板に貼るのは避けましょう。
まとめ
- Windowsはgetmac /vで一覧を出す。PowerShellのGet-NetAdapterなら状態も同時に見られる
- macOSはifconfigの「ether」、Linuxはip linkの「link/ether」の欄を読む
- Linuxはaddr_assign_typeで、固定・ランダム・手で設定のどれかまで分かる
- 表記はWindowsがハイフン、Linux・macOSがコロン、Ciscoがドット区切り
- 2文字目が2・6・A・Eならローカル割り当て。Wi-Fiのランダム化を疑う
MACアドレスの確認は、ヘルプデスクや運用保守の現場で毎日のように出てくる作業です。どのコマンドでどの欄を読むかを覚えておけば、端末探しはずっと速くなるでしょう。
MACやIPを読んで端末を探す作業は、監視や運用の現場で経験を積める仕事です。監視オペレーターからインフラエンジニアへ進む道筋を、期間の目安とあわせて整理しました。
免責事項
※本記事は各OS・製品の公開資料をもとに整理したものです。表示の内容は、OSや機器のバージョン・環境によって変わる場合があります。業務で使う機器では、所属先の手順と各製品の最新資料をあわせてご確認ください。

