Я и некоторые мои друзья разрабатываем bluetooth-сканер, чтобы открыть замок на входной двери нашего хакерского пространства .
Мы связали все разрешенные устройства и, по сути, использовали hcitool
для проверки, находится ли одно из сопряженных устройств поблизости. Например, если у сопряженного устройства есть адрес «00: 00: 00: 00: 00: 00», вы должны сделать это в консоли командной строки:
hcitool cc 00:00:00:00:00:00 && hcitool auth 00:00:00:00:00:00 && hcitool dc 00:00:00:00:00:00;
Если это возвращает ноль, устройство находится в непосредственной близости.
Одним из недостатков является то, что это займет ~ 5 секунд, если устройство не находится рядом.
Мы опубликовали исходный код на Github под лицензией Apache с открытым исходным кодом.
hcitool ...
. Однако вы должны объединить команды, как в примере, приведенном выше. Соединение активно только в течение очень короткого промежутка времени. Вы можете добавить близость в микс, делаяhcitool rssi ...
.Я видел некоторые настройки, использующие Bluetooth для аналогичных случаев использования, но это, вероятно, потребует некоторого взлома. Телефоны, которые вы хотите обнаружить, обычно не находятся в режиме обнаружения.
Если телефоны используют Wi-Fi, вы, вероятно, можете обнаружить некоторую близость, но это также может означать, что вам придется сканировать их на довольно низком уровне, так как они не получат доступ к вашей Wi-Fi-антенне и, вероятно, будут подключаться в зашифрованном виде. Взгляните на kismet для небольшого беспроводного бонанса.
Самым простым способом определить, находится ли кто-то в комнате или нет, хотя, я думаю, было бы использование модуля камеры и панорамного зеркала.
источник
Если у вас есть сеть Wi-Fi, к которой они подключаются, когда находятся в офисе, вы можете проводить PI-сканирование на наличие MAC-адресов каждые x периодов времени и обновлять веб-страницу (раскрывающийся список, что угодно) с текущим состоянием. Наверное, самый надежный маршрут.
Возможно, вы сможете что-то сделать с помощью Bluetooth и USB-адаптера Bluetooth, но у меня нет опыта в этом.
Без них, подключенных к пи, или к сети, в которой пи пи, я не думаю, что у тебя будет большой успех.
источник
Чтение приведенных выше ответов также заставило меня задуматься о следующей возможности:
используйте airmon-ng для непрерывного сканирования сети на наличие клиентских устройств по Wi-Fi. Вывод может быть записан в файл, поэтому, если файл изменяется, либо клиент вошел, либо вышел из диапазона числа пи. Наличие списка известных mac-адресов позволяет вам идентифицировать пользователя, и из-за изменения файла вы можете вызвать некоторые действия ....
это довольно интересная идея! Спасибо!
Арьен
источник
Пока все устройства находятся в одной сети, вы можете легко использовать Raspberry Pi для этого ... Вот полный проект со всем необходимым кодом ...
http://www.element14.com/community/people/mcollinge/blog/2014/09/12/raspberry-pi-network-spy--part-1
источник
Так что я работаю над этой проблемой уже около года. Я заставил его работать на моем Mac довольно быстро, но мне было очень трудно заставить его работать прямо на моем ПК. Я перепробовал много разных подходов. У меня есть система домашней автоматизации, которая включает отопление и горячую воду (через модуль Arduino и RF), когда я или мой партнер дома (то есть наши iPhone обнаруживаются в домашнем Wi-Fi). В конце я использовал nslookup, чтобы найти IP-адрес для iPhone (в случае, если IP-адрес изменился, поскольку они динамические (но они фактически никогда не изменяются на моем маршрутизаторе)) и nmap, чтобы определить, включен ли iPhone сеть. Если iPhone находится в очень глубоком сне, «nmap» не всегда находит телефон, поэтому я сделал 10 проверок, прежде чем он сказал, что телефона нет дома. Ниже приведена часть кода моей домашней автоматизации на python. Я использовал потоки. Любые вопросы с кодом ниже, дайте мне знать.
и
и основной код
Код может не сработать, если вы скопируете его прямо в свой собственный скрипт, так как отсутствуют некоторые части, которые я не скопировал, чтобы попытаться сделать вещи простыми и легкими для чтения, но, надеюсь, приведенный выше код дает всем ощущение того, как я это сделал вещи.
источник