Парсинг подключенных клиентов с WI-FI роутера



  • Как получить информацию о подключенных клиентов с WI-FI роутера

    Задача — получить с WEB — интерфейса роутера информацию о подключенных устройствах (смартфон/часы/фитнес браслет) с помощью плагина HTTP, привязать эти данные к устройствам системы. Данный метод позволяет получать информацию без дополнительного программного обеспечения на устройстве и не зависит от режима энергосбережения.

    Первым шагом нужно убедиться, что роутер предоставляет всю необходимую информацию для выполнения задуманного. Для этого нам нужно произвести небольшое исследование Web — интерфейса роутера. Для выполнения этой задачи нам потребуется Google Chrome, любой текстовый редактор и IP-адрес роутера. Все действия мы будем проводиnь на примере роутера: D-Link DIR-825

    1. Поиск списка подключенных клиентов

    Для начала мы попробуем найти информацию о подключенных клиентов WI-FI, не путать с таблицей DHCP. Обычно эта информация представляет из себя таблицу с колонками: MAC-адрес, IP-адрес, Уровень сигнала, Время подключения, Тип сети и .т.д. Найти её можно в разделах меню: Информация, Состояние, Статус, Список Устройств, WI-FI Клиенты и т.д.
    http_wifi_010-1024x372.png

    Если поиски увенчались успехом, то можно записать необходимую нам информацию: MAC-адрес и URL страницы. Данная информация нам потребуется для настройки плагина HTTP.

    2. Анализ парсинга страницы

    После того как мы нашли нужную нам страницу, нам необходимо убедиться, что данные содержатся в коде страницы, и мы можем извлечь их с помощью регулярного выражения. Для этого на странице нужно нажать правой кнопкой мыши и выбрать пункт «Просмотр кода страницы» или «CTRL+U»
    http_wifi_020-1024x539.png

    Откроется новая вкладка с кодом страницы, где нам необходимо нажать «CTRL+F» и вести в поле поиска наш MAC-адрес, и мы попадем на строчку с нужной нам информацией.
    http_wifi_030-1024x501.png

    Теперь мы точно знаем, что все необходимое присутствует в коде страницы. Сохраните URL запроса для получения данных и MAC-адрес в текстовом редакторе и можно переходить к следующему шагу.

    3. Анализ запроса авторизации

    Каждый роутер имеет систему защиты, и перед тем как получить данные по HTTP запросу, мы должны обязательно выполнить авторизацию. Запрос авторизации обычно бывает методом POST и телом запроса BODY. Тело запроса — то самое, что нужно нам для успешной авторизации.

    Для этого в браузере откроем «новое окно в режиме инкогнито» или «CTRL+SHIFT+N».
    http_wifi_040-1024x399.png

    Далее мы вводим IP-адрес роутера и попадаем на страницу авторизации. Для того, чтобы увидеть запрос авторизации в браузере, нам необходимо запустить панель «инструменты разработчика» или нажать «CTRL+SHIFT+I» В панели разработчика переходим на вкладку «Network» и ставим галочку «Preserve Log»
    http_wifi_050-1024x469.png

    Теперь как обычно выполняем вход на роутер не закрывая панель разработчика. После авторизации мы увидим лог запросов браузера. Нажимая на запрос, мы можем увидеть свойства запроса и дополнительные параметры. Из свойств запроса видно, что он метода «POST» — именно то что мы ищем. Сохраните URL запроса авторизации в текстовый редактор.
    http_wifi_060-1024x580.png

    Прокрутив свойства вниз, увидим, что у запроса имеется свойство «Form Data», это и есть тело запроса BODY
    http_wifi_070-1024x582.png

    Нажмем на кнопку «view source», чтобы отобразить тело запроса в исходном виде.
    http_wifi_080-1024x578.png

    Сохраните тело запроса (BODY) в текстовый редактор. У нас есть все параметры, чтобы перейти к настройке плагина HTTP.

    4. Настройка плагина HTTP

    Где скачать и как установить плагин вы можете посмотреть здесь

    Нажимаем кнопку добавить канал, вводим ранее сохраненный URL запроса для получения данных и ставим галочку «предварительный запрос авторизации»:
    http_wifi_set_010-1024x535.png

    Переходим на вкладку Авторизация и вводим ранее сохраненный URL запроса для Авторизации. Выбираем метод запроса POST, вводим в Body ранее сохраненное тело запроса для авторизации и обязательно все сохраняем.
    http_wifi_set_020-1024x533.png

    Нажимаем на кнопку создания подчиненного канала и заполняем поля:
    http_wifi_set_030-1024x554.png

    Выбираем необходимое устройство, тип обработки «TEXT SEARCH» (нам нужно только попытаться найти MAC-адрес в результате ответа HTTP), в регулярное выражение вводим необходимый MAC-адрес (то что будем искать), заполняем если найдено =1, и не найдено = 0. Сохраняем.

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



  • Добрый день всем!
    подскажите а как парсить клиентов на кинетиках с последней осью?



  • @m_n61rus добрый день, пришлите пожалуйста фирму производитель и название модели, постараемся вам помочь 🙂



  • я по snmp беру, правда с управляемых свитчей. мне кажется можно найти и в домашних роутерах snmp oid с ip нужного устройства



  • Участник @dev написал в Парсинг подключенных клиентов с WI-FI роутера:

    @m_n61rus добрый день, пришлите пожалуйста фирму производитель и название модели, постараемся вам помочь 🙂
    Добрый день ! zyxel keenetec Omni (KN-1410)



  • Всем спасибо! разобрался!
    может кому понадобится настроить на Keenetic-ах
    1.необходимо зарегистрировать устройство (что бы при подключении был всегда один и тот же IP)
    2. в url вставить строчку http://192.168.1.1/rci/show/ip/arp
    3. вместо мака надо прописать свой IP
    4. пользоваться)))


Авторизуйтесь, чтобы ответить