Какие инструменты вы использовали для мониторинга трафика с телефонов
Что проверяют
Умеете ли вы видеть, что приложение реально отправляет на сервер, и использовать это в тестировании. Вопрос про личный опыт, поэтому ждут конкретных инструментов и историй. Следом почти всегда спрашивают, как вы перехватили HTTPS и что делали, если приложение не пускало через прокси.
Как отвечать
Назовите инструменты, с которыми работали сами, и под какую задачу:
- HTTP(S)-прокси: Charles Proxy, Proxyman, Fiddler Everywhere, mitmproxy, HTTP Toolkit. Телефон и компьютер в одной сети, в настройках Wi-Fi прописан прокси, на устройстве стоит корневой сертификат;
- встроенные средства: Network Inspector в Android Studio для debug-сборок, библиотека Chucker в тестовых сборках;
- низкий уровень: Wireshark для DNS, TCP и TLS-рукопожатий. Содержимое HTTPS он без ключей не покажет.
Покажите, что знаете подводные камни. На Android с 7-й версии приложения по умолчанию не доверяют пользовательским сертификатам, поэтому в тестовой сборке нужен network_security_config.xml с debug-overrides. На iOS после установки профиля доверие включают отдельно в настройках сертификатов. Если в приложении certificate pinning, просите у разработчиков сборку без него.
Главное: перехват нужен для проверок, а не для просмотра. Что вы делали с трафиком:
- подменяли ответы через Map Local, Rewrite или breakpoints: 500, пустой список, битый JSON, лишнее поле;
- эмулировали медленную сеть и обрывы, проверяли повторы и таймауты;
- искали дубли запросов, токены в URL, персональные данные в логах и аналитике.
Примеры и цифры приводите свои. Если такого опыта не было, скажите честно и опишите, как настроили бы Charles для первой проверки.
Где спотыкаются
Называют Wireshark основным инструментом для HTTPS и не могут объяснить, как увидели тело запроса.
Не знают про ограничение Android 7 и тратят день на «прокси не работает», хотя дело в доверии к сертификату.
Забывают снять прокси и удалить сертификат с тестового устройства, и следующий тестировщик ловит странные сетевые ошибки.