Траффик мобильного приложения | Перфоманс Лаб

Блог / Как читать траффик мобильного приложения под Android 7 и выше

Стратегия мобильного тестирования
Даниил Майстренко

Как читать траффик мобильного приложения под Android 7 и выше

В целях обеспечения качественного процесса тестирования мобильных приложений, не следует ограничиваться лишь анализом внешнего поведения программ. Просмотр траффика позволяет глубже погрузиться в оценку функциональности, выявить дефекты, обнаружить которые визуально не представляется возможным, а также точнее диагностировать причины их возникновения. Для анализа траффика мы применяем траффик-снифферы (в нашем случае это, Charles Proxy). Достаточно подключить приложение к прокси, установить на телефон пользовательский сертификат сниффера, включить чтение SSL-прокси – и мы в игре.
Данный подход ранее работал на Android без проблем, однако начиная с версии Android 7 (API 24) в ОС были внесены изменения. Теперь по умолчанию мы не можем получить доступ к траффику приложений используя пользовательский сертификат, это возможно только с системными сертификатами.

Что делать в подобной ситуации?

Для этого вам понадобится доступ к исходному коду вашего приложения. В него нужно сначала добавить файл конфигурации безопасности в Android манифест:

Функция конфигурации сетевой безопасности использует формат файлов XML. Общая структура файла показана ниже:

Оптимальным решением данной проблемы будет разрешение использования пользовательских сертификатов для отладочных сборок. Для этого мы воспользуемся переопределениями debug-overrides. Они применяются, когда параметр android:debuggable имеет значение «true”. Якоря доверия, указанные в debug-overrides, добавляются ко всем другим конфигурациям. Прикрепление сертификатов не выполняется, если цепочка сертификатов сервера использует один из этих якорей доверия, предназначенных только для отладки. Если параметр android:debuggable имеет значение «false», этот раздел полностью игнорируется.
Там мы указываем использование и системных и пользовательских сертификатов:

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

comments powered by HyperComments
Автор полностью отражает свои собственные взгляды (за исключением маловероятных случаев гипноза), которые могут не совпадать с точкой зрения Перфоманс Лаб.