Скрипт мониторинга сетевых устройств PHP - PullRequest
0 голосов
/ 24 января 2011

Я улучшаю существующее веб-приложение для управления IPPBX.Нам бы очень хотелось, чтобы приложение обнаруживало недавно подключенные IP-телефоны в сети, чтобы мы могли знать MAC-адрес.Я читал, что возможным решением было бы получить эту информацию из файла аренды сервера DHCP, но, к сожалению, сервер DHCP не сообщает мне, на какой тип устройства он ссылается, в записи аренды.Возможно, для достижения этой цели мне нужен протокол сетевого мониторинга.

Я ищу некоторые подсказки в качестве краткого примера, чтобы я мог написать сценарий PHP, который позволит мне сделать то, что я объяснил выше.Существующий сценарий тоже подойдет ...:)

Комментарии и отзывы приветствуются и приветствуются!

Ответы [ 3 ]

1 голос
/ 24 января 2011

Честно говоря, я думаю, что это будет методом проб и ошибок (другими словами, исследования и разработки).

Некоторые вещи попробовать:

  1. В соответствии с Спецификацией Mac-адреса , первые 3 байта зависят от организации (OUI). Я подозреваю, что если ваши телефоны от одного производителя, этот раздел должен быть похожим (если не идентичным). В любом случае, на что посмотреть.

  2. Вы разбираетесь в тесте сети, чтобы узнать, телефон ли это. Итак, сначала вы получите IP-адрес устройства. Затем откройте порт и попытайтесь отправить эквивалент ping, специфичного для протокола (в HTTP это будет HEAD запрос на порт 80), но по протоколу, специфичному для телефонов. Все, что вам нужно, это правильный формат ответа (и соединение).

Удачи и веселья. Подобные проекты, на мой взгляд, являются лучшими, так как они являются вызовом и заставляют задуматься и открыть для себя ...

0 голосов
/ 17 ноября 2011

Вот существующее приложение (бесстыдный плагин, я его написал), написанное на PHP, которое запрашивает файл аренды DHCP и красиво форматирует его на веб-странице:

http://rivetcode.com/software/phpdhcpd/

Код на github:

https://github.com/firefly2442/phpdhcpd

0 голосов
/ 24 января 2011

Во-первых, я бы не советовал делать это на PHP. Напишите что-нибудь на реальном языке и затем отправьте это в скрипт php В любом случае, я бы пошел с файлом аренды. Затем используйте адреса в файле аренды, чтобы подключиться к новому устройству и определить, является ли он телефоном. Таким образом, вы будете подключаться к каждому «новому» устройству в сети. Неэффективно, но это может сработать ...

...