wacs: wireless access control system

Даже при выключенном WiFi многие iPhone и часть Android смартфонов обнаруживаются точками доступа, в том числе Soft AP, поскольку смартфоны активно сканируют точки доступа, посылая пакеты Probe Request, независимо от того, включен или выключен Wi-Fi на телефоне.

Это делается, в частности, для того, чтобы делать быстрое подключение к точке доступа при включении Wi-Fi, так как отправка Probe Request и получение ответов от точек доступа не потребляет много энергии, но делает включение Wi-Fi быстрым и приятным.

wacs — wireless access control system. Wire man (c) 2018 Алексей Егоров, проволока.

Программная точка доступа hostapd очень популярна, установлена она и в Android телефонах, чтобы раздавать Интернет по Wi-Fi.

WiFi USB stick (on the left)

Вставляем в USB порт Wi-Fi свисток, устанавливаем и настраиваем hostapd и начинаем смотреть журнал hostapd.

В журнале hostapd фиксируются пакеты Probe Request- видны MAC адрес устройства и уровень сигнала.

В результате набирается довольно много статистики по производителям, помимо телефонов, есть какие-то изделия Ford Motors Company, и очень экзотичные устройства, для чего они предназначены, трудно догадаться.

По реестру IEEE с помощью скрипта определяется производитель телефона, но не всегда. Лучше всего с этим у Samsung.


Небольшое изменение в hostapd (его придется собрать из исходов) позволяет передать событие, когда мобильное устройство отправляет пакет discovery, в другую программу.

В небольшом open source проекте https://gitlab.com/commandus/wacs событие передается другим процессам по TCP или через shared memory с использованием библиотеки nanomsg, чтобы сделать какую-нибудь полезную его обработку.

Очевидное применение, это отслеживать присутствие людей в радиусе действия точки доступа.

Видны два пика активности- начало рабочего дня его окончание

Присоединяйтесь к open source проекту.

Android NotificationListener service cache bug

В новом приложении Уведомления для PC я столкнулся с такой проблемой- сервис, который должен получать уведомления из статусбара, их не получал.

Причина оказалась в том, что Андроид не отслеживает завершение работы сервиса, и при повторном запуске не делает bind сервиса, поэтому, по идее, могли бы помочь перезагрузка телефона, удаление и повторная установка из магазина придожения.

Мне помогло только переименовывание имени класса сервиса ;(

Что будет происходить, если система будет останавливать сервис приложения, или приложение будет крэшиться?

Ошибки «numpad» хеша

Ошибки «numpad» хеша (http://uri2dec.sourceforge.net/) — 6% по списку доменов в зоне .com на 2015 год.

На графике по оси абсцисс- число попадания имен в зоне .com в хеш, по оси ординат- число доменных имен. Для 94% доменных имен хеш не дает ошибок.

distribution

SIP сервер с websocket (webrtc)

Простой SIP сервер https://github.com/commandus/sipws с ws транспортом для webrtc voip  и видео клиентов, работающих в html5 браузерах, и tcp, udp транспортом для мобильных sip клиетов, например, штатного Android SIP клиента (4.2 и выше). Его можно использовать для связи продавцов сайта с мобильными телефонами.