только внутри локальной сети
Чтобы узнать адрес MAC удаленного компьютера или компьютера в локальной сети, необходимо:
1. В командной строке выполнить пинг этого компьютера (пинг ip-адреса или dns-имени).
Для этого нажмите комбинацию клавиш Win+R, введите cmd. В окне командной строки введите:
ping ip-адрес или
ping dns-имя.

Выполняем ping на искомый узел.
Если вы выполнили пинг имени хоста, то это имя в процессе будет преобразовано в ip-адрес.
2. По окончанию отработки комманды ping, введите команду
arp -a. В результатах вывода команды найдите нужный вам ip-адрес и соответствующий ему MAC-адрес.

Узнаем требуемый MAC-адрес
arp — это отображение и изменение таблиц преобразования ip-адресов в физические, используемые протоколом разрешения адресов (ARP).
Так же можно сделать ping broadcast адрес вашей сети.
Например, если у вас сеть 192.168.31.0 с маской 255.255.255.0, ваш адрес тогда будет 192.168.31.1-254, а броадкастовый — самый последний 192.168.31.255. Его то мы и должны пропинговать, потом дать команду:
arp -a
Вы увидите все ip адреса в вашей сети с их маками, останется лишь найти нужный.
Если нужно узнать MAC по ip, то вводим команду:
nbtstat -A 192.168.31.5
Хочу заметить, что данная команда не работает в powershell только в cmd.
Пожалуй, это всё.