Как найти информацию об аренде DHCP от произвольного клиента?

Я пишу код Win32 API (C ++) для запроса определенной информации в сети. Одним из таких элементов является время окончания аренды DHCP. Я смог получить большую часть необходимой мне информации от GetIpNetTable (И / или GetIpNetTable2) функции; но после загрузки поисков Google, MSDN, Stackoverflow я не могу найти способ получения всей информации об аренде от произвольного клиента (этот код не запускается на сервере). Я знаком с GetAdaptersInfo функция, но которая извлекает информацию только для текущего компьютера, а не для всех компьютеров в сети. Кто-нибудь знает способ отобразить всю информацию об аренде DHCP сети от произвольного клиента?

3

Решение

Вы можете сделать это, внедрив DHCP-сервер только для чтения. Клиенты будут отправлять сообщение DHCPDISCOVER в виде широковещательной рассылки (по UDP-порту 67), которую вы можете получить. Отвечающий сервер DHCP передаст обратно DHCPOFFER, включая MAC-адрес клиента, соответствующую информацию IP и время аренды. Если клиент принимает эти настройки, он теперь передает сообщение DHCPREQUEST, поэтому ваш сервер только для чтения будет знать, что клиент будет (пытаться) использовать информацию DHCPOFFER. Вы не можете видеть подтверждение DHPCACK от сервера, но если у клиента ничего не получится, он отправит новый DHCPDISCOVER. Таким образом, вы можете создать таблицу информации DHCP, включая время аренды для локальных клиентов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector