Постоянные. Два телефона на Андроидах и оба бывает теряет не по одному разу.craber писал(а):А чем стандартный функционал "Устройства Online" не подходит?
У меня работает уже давно. Ни каких сбоев не замечено.
Определение людей дома с использованием ARP и SNMP
Модератор: immortal
-
- Сообщения: 289
- Зарегистрирован: Вт авг 18, 2015 6:23 pm
- Благодарил (а): 8 раз
- Поблагодарили: 36 раз
Re: Определение людей дома с использованием ARP и SNMP
-
- Сообщения: 105
- Зарегистрирован: Чт окт 20, 2016 10:59 pm
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
Re: Определение людей дома с использованием ARP и SNMP
А чем стандартный функционал "Устройства Online" не подходит?
ПО поводу таскеров и прочего.ЧТо-то с MAC адресом есть:
плюс работы то, что не важно закрыт ли фаерволом компьютер/телефон или нет.
Зачем ставить на телефоны лишнее, если это не требуется?
Так на таскере, наверное, и некоторый функционал MD изобразить можно.
Вопрос только, а надо ли это?
-
- Сообщения: 4
- Зарегистрирован: Пн мар 14, 2016 5:05 pm
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Re: Определение людей дома с использованием ARP и SNMP
Меня полностью устраивает "Устройства Online", работает чётно трубку не теряет. Но есть одно НО, на телефоне wifi должен работать в спящем режиме, а это сильно батарею садит.
Думаю метод с ARP тоже не поможет никак.
Думаю метод с ARP тоже не поможет никак.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Определение людей дома с использованием ARP и SNMP
Тоже такое было с батареей. Пока телефон не поменял. Последние телефона отлчно эконоият батарею с вайфай. С вайфай 1 день заряда. Без 1.5 дня
Отправлено с моего SM-G7102 через Tapatalk
Отправлено с моего SM-G7102 через Tapatalk
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 7
- Зарегистрирован: Чт ноя 24, 2016 11:16 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Определение людей дома с использованием ARP и SNMP
Сорри что долго не заглядывал. Вижу что вы мне много тут насоветовали.
Попробую ответить по очереди на все предложенные выше варианты варианты.
1. Использовать стандартную фичу определения устройства OnLine методом ping. Это плохой метод. Потому что во все современные телефоны очень сильно экономят батарейку и включают радио модуль только когда он им необходим. Этот метод будет давать огромное количество False Positive срабатываний. Уже проверил... Так же мне совсем не удобно прописывать всем телефонам которые появляются в моей сети статические адреса...
2. Ставить сторонний софт на телефон. Решение плохо тем что не все из телефонов мои и далеко не все они Android. Да и зачем?
3. Syslog и все что с ним связано. Решение интересное. Но не без нюансов. Роутер должен поддерживать отсылку изменений ARP таблицы или DHCP событий (DHCP offer?) через Syslog. По умолчанию Syslog использует UDP и как следствие может теряться. А потеря одного события о входе или устройства из сети никак не исправляется до следующего его входа а это временной лаг который плохо прогнозируется.
Предложенное же мной решение основанное на опросе ARP таблицы роутера имеет плюсом свою инерционность. А так же может работать как по событию (например по датчику двери), так и просто по расписанию. И никак не зависит от клиентского устройства.
Так же просто добавлять новые устройства. Да и само по себе беспалевно дать человеку доступ к сети, и потом все время получать информацию о его доступности.
Буду пробовать реализовывать...
Попробую ответить по очереди на все предложенные выше варианты варианты.
1. Использовать стандартную фичу определения устройства OnLine методом ping. Это плохой метод. Потому что во все современные телефоны очень сильно экономят батарейку и включают радио модуль только когда он им необходим. Этот метод будет давать огромное количество False Positive срабатываний. Уже проверил... Так же мне совсем не удобно прописывать всем телефонам которые появляются в моей сети статические адреса...
2. Ставить сторонний софт на телефон. Решение плохо тем что не все из телефонов мои и далеко не все они Android. Да и зачем?
3. Syslog и все что с ним связано. Решение интересное. Но не без нюансов. Роутер должен поддерживать отсылку изменений ARP таблицы или DHCP событий (DHCP offer?) через Syslog. По умолчанию Syslog использует UDP и как следствие может теряться. А потеря одного события о входе или устройства из сети никак не исправляется до следующего его входа а это временной лаг который плохо прогнозируется.
Предложенное же мной решение основанное на опросе ARP таблицы роутера имеет плюсом свою инерционность. А так же может работать как по событию (например по датчику двери), так и просто по расписанию. И никак не зависит от клиентского устройства.
Так же просто добавлять новые устройства. Да и само по себе беспалевно дать человеку доступ к сети, и потом все время получать информацию о его доступности.
Буду пробовать реализовывать...
-
- Сообщения: 7
- Зарегистрирован: Чт ноя 24, 2016 11:16 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Определение людей дома с использованием ARP и SNMP
Я предвидел подобные аргументы.Ged писал(а):ЧТо-то с MAC адресом есть:
плюс работы то, что не важно закрыт ли фаерволом компьютер/телефон или нет.
минусы:
- нужно рисовать свой обработчик
- требуется "умный" роутер
- работает только в локальной сети
Что бы это работало из-за пределов локальной сети надо просто заменить SNMP (все же знают что это расшифровывается как Security is Not My Problem) на ssh допсустим с авторизацией по ключам, ну а дальше все тривиально:
Код: Выделить всё
ssh root@192.168.1.1 arp -an
К стати метод с Пингом тоже не будет работать из-за пределов локальной сети...
-
- Сообщения: 207
- Зарегистрирован: Вт июл 12, 2016 6:16 pm
- Благодарил (а): 2 раза
- Поблагодарили: 14 раз
Re: Определение людей дома с использованием ARP и SNMP
2 роутер пишет в сислог когда к нему подключается устройство и никакие arp ему туда писать не надо.
Не на всех железках есть ssh да и вообще искать железки по arp плохая идея.
Я тоже раньше пытался и по 10 раз в день все в разное время "выходили из дома".
Сейчас через сислог вообще не одного ложного за 4 месяца
Не на всех железках есть ssh да и вообще искать железки по arp плохая идея.
Я тоже раньше пытался и по 10 раз в день все в разное время "выходили из дома".
Сейчас через сислог вообще не одного ложного за 4 месяца
-
- Сообщения: 7
- Зарегистрирован: Чт ноя 24, 2016 11:16 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Определение людей дома с использованием ARP и SNMP
Я правильно понимаю что в логах значатся IP адреса клиентов или хостнеймы? Логи какого процесса парсятся? dhcpd?Sas писал(а):2 роутер пишет в сислог когда к нему подключается устройство и никакие arp ему туда писать не надо.
Не на всех железках есть ssh да и вообще искать железки по arp плохая идея.
Я тоже раньше пытался и по 10 раз в день все в разное время "выходили из дома".
Сейчас через сислог вообще не одного ложного за 4 месяца
Можешь показать строчку входа и выхода клиента?
В случае с ARP можно увеличить срок жизни записи в таблице и ложных срабатываний выхода станет меньше, но соответственно и выход будет обрабатываться с большим опозданием...
Поглядел на своем роутере, у меня тоже есть отправка через syslog логов, но как это работает руки не доходят посмотреть. На эти игры у меня всего 2 часа в сутки есть...
Сейчас пишу скетч для ESP8266 что бы снимать показания со счетчиков воды через MQTT. Буду автоматизировать отправку показаний в органы ЖКХ...
Re: Определение людей дома с использованием ARP и SNMP
Наткнулся тут на вашу темку. Хотел узнать что у вас получилось? По поводу задачи отслеживания устройств в сети у себя я опирался на "arp -a" и MAC адреса. Я не обсуждаю включение WiFi на телефоне, при входе домой. WiFi включен 24х7 в у меня в телефоне. Все запросы выполняются на сервере (виндовая машина, но тоже и на Unix будет). Ни каких опросов\команд на роутере. Что бы не увеличивать время жизни ARP таблицы, обновляю ее непосредственно перед командой. Замарачиваться с sys логами мне кажется излишне. В объектах созданы телефоны\компы\ноуты\IPTV. В свойствах жестко прописаны только MAC. Раз в 3 минуты под MAC подтягивается текущий IP если онлайн (это что бы не прописывать статистические DHCP на роутере раз, и мои андройд устройства не ищутся по hostname два. Только виндовые). Онлайн устройства пингуются раз в минуту просто по свойству "%ноут.IP%". Телефоны действительно бывают дают два периода в оффе. Но добавив 3 попытки в свойствах получил 99% точность с погрешностью +3 мин в случае худшего расклада. Все это позволило отслеживать не только устройства в локалке, но и создало систему защиты на предмет появления в сети неизвестного устройства (нового MAC) о чем Алиса и сообщает. Наверно в логах роутера будет прям очень точно, по пока "arp -a" на сервере ни разу не потеряла стандартные устройства. Одна проблема пока, одна из TV приставок при перезагрузке меняет свой MAC при этом не отдает hostname в сеть. Вот это сейчас проблема.)