Чтобы пропинговать хост по известному MAC-адресу, можно воспользоваться командой arping:
arping AB:12:CD:56:AA:98
Если в таком виде не срабатывает, можно попробовать:
arping -i <имя_интерфейса> AB:12:CD:56:AA:98
или по IP:
arping -i <имя_интерфейса> 192.168.1.5
* * *
Причина, почему arping при каких-то неясных обстоятельствах не может пропинговать хост по MAC, хотя MAC однозначно правильный, состоит в том, что в Linux существует две утилиты arping. Одна находится в пакете arping, и расположена так:
/usr/sbin/arping
А вторая находится в пакете iputils-arping, и расположена так:
/usr/bin/arping
Так вот, вторая утилита (из пакета iputils-arping) не умеет пинговать хост по MAC. При попытке пропинговать по MAC, будет выводиться ошибка:
arping: 74:10:25:3e:4e:50: Name or service not known
Предполагается, что эта (вторая) утилита нужна просто для того, чтобы пингануть хост по обычному IP, и в выводимой информации увидеть какой MAC этому IP соответсвует.
Проблема в том, что в некоторых Linux-дистрибутивах имеется только пакет iputils-arping, а пакета arping нет (например это Astra Linux). Поэтому в таких дистрибутивах пропинговать хост по MAC-адресу просто не получится.
* * *
Если хосты уже пинговались, и известны сетевой подсистеме компьютера, то чтобы узнать IP адрес по MAC адресу, можно воспользоваться командой arp, которая покажет содержимое ARP-таблицы:
arp -an | grep AB:12:CD:56:AA:98
Другими словами, следует учитывать, что команда arp показывает закешированные на компьютере адреса, то есть адреса, к которым компьютер обращался (или к нему обращались и был какой-то обмен). Поэтому перед ее использованием обязательно надо сделать команду ping или arping.
Возможно, что вывод команды arp будет в нижнем регистре, тогда в grep нужно писать ab:12:cd:56:aa:98.