Есть набор mac-адресов некоторого количества PC, как под Windows или Linux узнать их IP-адреса, если соединения с этими компьютерами ни разу не происходило и arp пуст?
p.s. Можно предложить вариант как для Linux так и для Windows, под рукой есть обе ОС
Можно попробовать вот так (для Windows, в консоли)
Запустите пинг на бродкастовый адрес вашей сети.
Например если у вас сеть 192.168.0.0 с маской 255.255.255.0, ваш адрес тогда будет 192.168.0.1-254, а бродкастовый - самый последний 192.168.0.255. Вот именно его нужно попинговать, потом дать команду
arp -a
Увидите все ip адреса в вашей сети с их маками. Ну а там уже найдете нужный.
ну и просто что бы было напишу:
В винде (не нужно ставить доп утилиты)
узнать мак по ip: nbtstat -A 172.28.22.190
узнать ip по мак: arp -a | grep 00-11-22-33-44-55 //естественно с ограничением пределами одной сети.
К сожалению не вариант пинговать всех, слишком большая сеть. В итоге пришлось искать в записях DHCP сервера, но спасибо за наводку на arping, в одноранговых сетях может пригодится :)
@Anonym большая по расстоянию, большинство хостов может по 2-30 секунд отвечать. Ну и >20 минут это уже долго. Надо было вопрос решить максимально быстро. Ну это уже не относится к сути дела.
Если соединения с этими компьютерами ни разу не происходило и arp пуст, то просканируйте Вашу локальную сеть самым простым icmp ping-ом, например nmap-ом; и на 15 минут в Вашей ARP таблице будет весело и жизнерадостно.
Для Windows нужно сделать bat файл назвать как вам нравится. Например ping-by-mac.bat
@echo off
if "%1" == "" echo no MAC address & exit /b 1
for /L %%a in (1,1,254) do @start /b ping 192.168.31.%%a -n 2 > nul
ping 127.0.0.1 -n 3 > nul
arp -a | find /i "%1"
Потом запускаете данный bat файл с параметром ping-by-mac.bat X1-X2-X3-X4-X5-X6
Всё.