Трафик мобильного приложения
Вопрос
Нужно посмотреть HTTPS-запросы мобильного приложения через Charles или mitmproxy, но запросы не видны или падают с ошибкой TLS. Что скорее всего мешает?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Прокси не расшифровывает HTTPS, он видит только запросы по HTTP
- На устройстве не доверен сертификат прокси, или в приложении SSL pinningправильный ответ
- Мобильные приложения ходят не по HTTP, а по собственному бинарному протоколу
- Нужно выключить Wi-Fi, чтобы трафик пошёл через прокси по мобильной сети
Разбор
Прокси подменяет сертификат сервера своим, поэтому устройство должно доверять корневому сертификату прокси. На Android с версии 7 приложение по умолчанию не доверяет пользовательским сертификатам, нужна debug-сборка с настройкой network security config. SSL pinning (приложение проверяет конкретный сертификат сервера) просят отключить в тестовой сборке. Charles, Fiddler и mitmproxy с HTTPS работают.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.