他のPCのMACアドレスを取得する方法

先日、なんとなく横に置いてあるPC(ディスプレイ無し)のMACアドレスを知りたくなりました。
ただ、リモートデスクトップをつなぐのもめんどくさいなあと思って以下の方法で調べました。

1. コマンドプロンプトを立ち上げる

2. 以下のコマンドを実行する


C:\Users\itotto>ping -n 1 192.168.11.1 > NUL

C:\Users\itotto>arp -a

インターフェイス: 192.168.11.5 --- 0xa
  インターネット アドレス      物理アドレス      種類
  192.168.11.1          00-0d-0b-b5-2e-e8     動的
  192.168.11.255        ff-ff-ff-ff-ff-ff     静的
  224.0.0.22            01-00-5e-00-00-16     静的
  224.0.0.251           01-00-5e-00-00-fb     静的
  224.0.0.252           01-00-5e-00-00-fc     静的
  239.255.255.250       01-00-5e-7f-ff-fa     静的
  255.255.255.255       ff-ff-ff-ff-ff-ff     静的

今回は192.168.11.1というIPアドレスを対象にしていますが、ここは好きに変えてください。


この物理アドレスという列がMACアドレスの値です。


これはあらためて書くまでもないのですがMACアドレスはあくまで同一ネットワーク内の通信で使われるものであり、ネットワークの異なるコンピューターのMACアドレスは通常の通信を行う上では必要となることはありません(つまり取れない)。専用のアプリケーションを使えばできますが、通常はルーターゲートウェイ)のMACまでしか取れないのでその点はご注意ください。

おまけ

以下のバッチファイルを使えば対話式に求めることができます(テストしてないのでエラーが出たら教えてください)。

@ECHO OFF

ECHO IPアドレスを入力してください
SET /PIPADDR=IF "%IPADDR%"=="" GOTO ERRFIN

:: いったんクリアする場合はこちら
arp -d && PING -n %IPADDR% > NUL && arp -a | FIND /I "%IPADDR%"
IF %ERRORLEVEL%.==1. GOTO NOTFIND
GOTO FIN


:ERRFIN
ECHO IPアドレスが入力されていません
GOTO FIN

:NOTFIN
ECHO %IPADDR%のMACアドレスは見つかりませんでした
GOTO FIN

:FIN
ECHO [なにかキーを押してください]
PAUSE > NUL