2012-09-06 10 views
0

Я хочу, чтобы иметь возможность снимать/снимать с охраны мое программное обеспечение наблюдения (с открытым исходным кодом - ispy) на основе наличия Wi-Fi сети моего мобильного телефона (Wi-Fi). Как-то мне нужно, чтобы Ispy обнаружила, что мобильный телефон подключен к беспроводной сети, чтобы разоружить систему, а затем также обнаружил, что она отключена, чтобы она могла повторно ее вооружить.Как узнать, когда устройство подключается и отключается от сети?

Я читал о SNMP (который я не смог получить, я установил прослушиватель на порт udp 161 и установил, что диспетчер ловушек указывает на мой компьютер, и он ничего не отправляет, кроме начальный «0?») и ARP (который я смог получить, но он, похоже, кэшируется на моем локальном ПК и определенно не обновляется в режиме реального времени).

Я бы скорее нашел решение, основанное либо на уведомлении от маршрутизатора (желательно, не на UPNP, поскольку я обнаружил, что это может быть причиной сбоя), либо через некоторый нюхание сетевого пакета, а не путем постоянного опроса маршрутизатора для список подключенных устройств. Любые примеры в C# были бы удивительными.

+0

Надеюсь, что в системе нет сирены, иначе у вас будет очень неприятный звонок в середине ночи, если он отключится по какой-то причине ... – Alex

+0

Ха-ха, я думал, что батарея умирает по телефону и т. д. – KingCronus

+0

Да, это будет дополнительная функция :) – Sean

ответ

0

Вы не упомянули об этом, но так как вы говорили об ARP, я полагаю, что устройство находится под DHCP, поэтому нам нужно работать с MAC-адресом. Тем не менее, почему вы не используете Nmap? Он бесплатный, простой и уже содержит XML-вывод, который легко анализируется с помощью C#. Я на самом деле это сделал, только у меня сейчас нет кода на этом компьютере:/

1

Когда устройство подключается, оно будет транслировать запросы DHCP, которые должны быть видимыми для каждого устройства, подключенного к маршрутизатору (маловероятно, чтобы он 'll squash re-broadcast on the wireless только потому, что внутренний порт будет отвечать на него).

Отсоединение сложнее, потому что вы не получите ничего, когда устройство уйдет. Вам придется постоянно его опросить и отметить, когда он больше не отвечает. Конечно, вы можете просто транслировать опрос на что-то конкретное на телефон и знать, когда он прибывает и уходит, используя только это.

Существует программа под названием «голубая близость», которая аналогично использует Bluetooth. Вероятно, это не то, что вы хотите для своей проблемы, но вы можете посмотреть на нее для идей.

+0

Спасибо Брайан, проверит это – Sean