Как происходит перехват трафика http/https для мобильных устройств?

Перехват трафика HTTP/HTTPS с мобильного устройства используется для тестирования API, отладки сетевых запросов и анализа данных. Это делается с помощью прокси-сервера или снифферов, которые позволяют видеть запросы и ответы между приложением и сервером.


1. HTTP-трафик

  • HTTP не шифруется, поэтому перехват прост:

    1. Настроить мобильное устройство на использование прокси (например, Charles, Fiddler, mitmproxy).

    2. Все HTTP-запросы проходят через прокси и могут быть перехвачены и проанализированы.


2. HTTPS-трафик

  • HTTPS шифруется, поэтому нужно обойти TLS/SSL шифрование:

    1. Установить корневой сертификат прокси-сервера на мобильное устройство.

      • Charles, Fiddler, mitmproxy предоставляют такой сертификат.

      • Сертификат доверяется устройству, чтобы прокси мог расшифровывать трафик.

    2. Настроить устройство на использование прокси.

    3. Прокси расшифровывает запросы и ответы, показывая их в читаемом виде.

  • Ограничения:

    • Некоторые приложения используют certificate pinning, проверяя сертификат сервера. В этом случае трафик нельзя перехватить обычным прокси.

    • Для обхода используют инструменты для обхода pinning или модификацию приложения на тестовом билде.


3. Прокси и инструменты

  • Charles Proxy — GUI-инструмент, поддерживает Android и iOS.

  • Fiddler — аналог Charles, для Windows и Mac.

  • mitmproxy — консольный инструмент с возможностью скриптинга.

  • Wireshark — низкоуровневый анализатор трафика (только HTTP, HTTPS через расшифровку при наличии сертификата).


4. Настройка мобильного устройства

  1. Подключение к той же сети Wi-Fi, что и прокси.

  2. Указание прокси-сервера в настройках сети.

  3. (Для HTTPS) Установка корневого сертификата прокси.


5. Этапы перехвата

Мобильное приложение → прокси-сервер → интернет
  • Прокси перехватывает все HTTP/HTTPS запросы и ответы.

  • Можно смотреть:

    • Заголовки запросов и ответов.

    • Тело (payload) JSON/XML.

    • Коды ответов и ошибки.


Итог: перехват трафика HTTP/HTTPS мобильного устройства делается через прокси-сервер, с установкой корневого сертификата для HTTPS, что позволяет тестировщику видеть запросы, ответы и ошибки, используемые приложением.

Last updated

Was this helpful?