Вы можете сделать это легко, используя openWRT. Если вы используете скрытый портал, вы можете смешивать php и openWRT и устанавливать связь между IP и маком.
Вы можете написать простой PHP-код, используя:
$localIP = getHostByName(getHostName());
Позже , используя openWRT, вы можете перейти к /tmp/dhcp.leases
, вы получите что-то с формой:
e4:a7:a0:29:xx:xx 10.239.3.XXX DESKTOP-XXX
Там у вас есть mac, IP-адрес и имя хоста.