на основе пинга и арп можна сварганить такой скриптец:
for ((i=$4; i<=$5; i++));do
/bin/ping -c 1 $1.$2.$3.$i 2>&1 >/dev/null
/sbin/arp -a $1.$2.$3.$i
done
запускаем так: findmac.sh 192 168 1 0 10
на выходе получаем маки с диапазона 192.168.1.0-10
огромное спасибо, но это не вариант. те в моём случае (я совершенно случайно нашёл этот ип) пинг не проходит (ответа не будет). есть ли ещё какие принципиально новые способы?
(я нашёл ип, так как разбирался с мультикастом и у нас на 1-м ипе висит туева хуча этих "ретрансляторов" - то есть свезло). вопрос ребром - может ли сервер сам выдать каким-то образом arp таблицу сети/сегмента?
Для этого nmap есть. И нет никакой разницы, отвечает хост на пинг или нет, ибо на arp-запрос он все равно ответит.
Узнать IP по MAC -- задача неоднозначная, так как IP на одном МАС может быть много. Тут только сканить, а затем arp -an. И никакой пинг по широковещательным адресам Вам не поможет.
Посмотрите еще на arpwatch
И еще. Я дико извиняюсь, но понимаете ли Вы, что это все относится к одному физическому сегменту, в котором и находится Ваш хост.
также есть arping
DESCRIPTION
The arping utility sends ARP and/or ICMP requests to the specified host and displays the replies. The host may
be specified by its hostname, its IP address, or its MAC address.
кстати, FYI, некоторые провайдеры сильно напрягаются и жалуются ФСБшникам если находят сетевушку в promisc режиме у клиентов.. а этот режим в принципе обнаружим. на просторах инета пару лет назад находил простенький сишный код для этого.