%2C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B5%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE%D0%BC%2C%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20%D0%BA%20%D0%BC%D0%BE%D0%B5%D0%BC%D1%83%20Wi-Fi.png)
Недавно я купил умный термостат, который подключается к моему Wi-Fi. Я могу управлять устройством через приложение на моем телефоне.
Приложение оставляет желать лучшего, и я хотел бы написать собственные скрипты на своем настольном ПК для подключения к устройству, чтобы управлять им и регистрировать данные с него.
Я вижу MAC-адрес и IP-адрес устройства в списке подключенных устройств в интерфейсе администратора маршрутизатора, но не могу определить, какой порт устройство использует для связи с приложением на моем телефоне.
Если бы для этого устройства существовало приложение для ПК, я бы просто использовал Fiddler для прослушивания трафика, но поскольку приложение установлено на моем телефоне, я не знаю альтернативы.
Я перепробовал несколько сканеров портов и просканировал все порты на IP-адресе устройства, но безрезультатно.
Как узнать, как приложение взаимодействует с устройством, чтобы провести его обратную разработку?
Дополнительные сведения: Приложение от производителя предназначено для Android, а я хотел бы общаться с устройством с ПК на базе Windows.
Редактировать: Я попробовал следовать инструкциям здесь:https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForAndroidперенаправить трафик моего телефона через fiddler. При использовании браузера на моем телефоне я вижу, что трафик регистрируется в fiddler, но при использовании приложения термостата ничего не регистрируется. Странно.
решение1
Чтобы узнать, какой порт используется вашим приложением, вы можете либо прослушивать соединения вашего устройства во время использования приложения (ссылка в комментарии отСаару Линдестёкке) или вы устанавливаете эмулятор терминала на свой телефон Android и используете команду netstat
.
netstat -lt
выводит список всех портов, которые ваше устройство или программное обеспечение прослушивает и ожидает TCP-подключений ( netstat -lu
то же самое для UDP-подключений).
netstat -t
выводит список всех текущих TCP-подключений. Используйте эту команду при использовании приложения, чтобы увидеть порты, используемые этим конкретным приложением. ( netstat -u
для UDP)