Парсинг подключенных клиентов с WI-FI роутера
-
Как получить информацию о подключенных клиентов с WI-FI роутера
Задача — получить с WEB — интерфейса роутера информацию о подключенных устройствах (смартфон/часы/фитнес браслет) с помощью плагина HTTP, привязать эти данные к устройствам системы. Данный метод позволяет получать информацию без дополнительного программного обеспечения на устройстве и не зависит от режима энергосбережения.
Первым шагом нужно убедиться, что роутер предоставляет всю необходимую информацию для выполнения задуманного. Для этого нам нужно произвести небольшое исследование Web — интерфейса роутера. Для выполнения этой задачи нам потребуется Google Chrome, любой текстовый редактор и IP-адрес роутера. Все действия мы будем проводиnь на примере роутера: D-Link DIR-825
1. Поиск списка подключенных клиентов
Для начала мы попробуем найти информацию о подключенных клиентов WI-FI, не путать с таблицей DHCP. Обычно эта информация представляет из себя таблицу с колонками: MAC-адрес, IP-адрес, Уровень сигнала, Время подключения, Тип сети и .т.д. Найти её можно в разделах меню: Информация, Состояние, Статус, Список Устройств, WI-FI Клиенты и т.д.
Если поиски увенчались успехом, то можно записать необходимую нам информацию: MAC-адрес и URL страницы. Данная информация нам потребуется для настройки плагина HTTP.
2. Анализ парсинга страницы
После того как мы нашли нужную нам страницу, нам необходимо убедиться, что данные содержатся в коде страницы, и мы можем извлечь их с помощью регулярного выражения. Для этого на странице нужно нажать правой кнопкой мыши и выбрать пункт «Просмотр кода страницы» или «CTRL+U»
Откроется новая вкладка с кодом страницы, где нам необходимо нажать «CTRL+F» и вести в поле поиска наш MAC-адрес, и мы попадем на строчку с нужной нам информацией.
Теперь мы точно знаем, что все необходимое присутствует в коде страницы. Сохраните URL запроса для получения данных и MAC-адрес в текстовом редакторе и можно переходить к следующему шагу.
3. Анализ запроса авторизации
Каждый роутер имеет систему защиты, и перед тем как получить данные по HTTP запросу, мы должны обязательно выполнить авторизацию. Запрос авторизации обычно бывает методом POST и телом запроса BODY. Тело запроса — то самое, что нужно нам для успешной авторизации.
Для этого в браузере откроем «новое окно в режиме инкогнито» или «CTRL+SHIFT+N».
Далее мы вводим IP-адрес роутера и попадаем на страницу авторизации. Для того, чтобы увидеть запрос авторизации в браузере, нам необходимо запустить панель «инструменты разработчика» или нажать «CTRL+SHIFT+I» В панели разработчика переходим на вкладку «Network» и ставим галочку «Preserve Log»
Теперь как обычно выполняем вход на роутер не закрывая панель разработчика. После авторизации мы увидим лог запросов браузера. Нажимая на запрос, мы можем увидеть свойства запроса и дополнительные параметры. Из свойств запроса видно, что он метода «POST» — именно то что мы ищем. Сохраните URL запроса авторизации в текстовый редактор.
Прокрутив свойства вниз, увидим, что у запроса имеется свойство «Form Data», это и есть тело запроса BODY
Нажмем на кнопку «view source», чтобы отобразить тело запроса в исходном виде.
Сохраните тело запроса (BODY) в текстовый редактор. У нас есть все параметры, чтобы перейти к настройке плагина HTTP.
4. Настройка плагина HTTP
Где скачать и как установить плагин вы можете посмотреть здесь
Нажимаем кнопку добавить канал, вводим ранее сохраненный URL запроса для получения данных и ставим галочку «предварительный запрос авторизации»:
Переходим на вкладку Авторизация и вводим ранее сохраненный URL запроса для Авторизации. Выбираем метод запроса POST, вводим в Body ранее сохраненное тело запроса для авторизации и обязательно все сохраняем.
Нажимаем на кнопку создания подчиненного канала и заполняем поля:
Выбираем необходимое устройство, тип обработки «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. пользоваться)))