Получение информации от DNS или DHCP-сервера

Я делаю программу мониторинга сети с PHP. Я хочу иметь возможность подключаться к DNS- или DHCP-серверу и получать доступ ко всем компьютерам, принадлежащим сети. В настоящее время я запускаю вложенные циклы for, чтобы пинговать каждый возможный IP-адрес, однако это занимает много времени с более чем 10 подсетями. Я пытаюсь перейти от того, чтобы делать это как нуб, к тому, чтобы делать это как босс. Я хочу получить список всех имен компьютеров и IP-адресов, а также указать, был ли их IP-адрес назначен динамически или статически. Как мне это сделать?


person CoderWalker    schedule 21.09.2012    source источник


Ответы (1)


Невозможно перечислить все хосты в сети, даже проверки связи со всеми из них недостаточно, поскольку некоторые из них могут не ответить на команду проверки связи. Для динамически выделенных вы можете запросить DHCP-сервер, но DHCP как протокол не поддерживает это, вам придется написать процесс демона и запросить журналы или файл назначения.

Если вы хотите сделать это с помощью пинга, я бы предложил написать небольшую программу, которая работает в фоновом режиме и пингует все, сохраняя результаты в памяти, а затем запрашивает ваш php-скрипт. Таким образом, ваше время отклика будет почти немедленным. Пока хосты не появляются и не исчезают слишком часто (звучит маловероятно), все должно быть в порядке.

person jleahy    schedule 21.09.2012