Charles Proxy для QA: установка и настройка на Windows и Android (пошагово)

Практический курс для начинающих QA о том, как установить и настроить Charles Proxy на Windows и подключить Android-устройство для перехвата и расшифровки HTTPS-трафика. В курсе — только нужные шаги, типовые ошибки и проверка результата после каждого модуля.

1. Введение: что такое Charles и зачем он QA

Введение: что такое Charles и зачем он QA

Что такое Charles Proxy простыми словами

Charles Proxy — это программа, которая помогает видеть и анализировать сетевой трафик между приложением (или браузером) и сервером.

Если совсем “на пальцах”: вы ставите Charles между устройством и интернетом, и он показывает, какие запросы отправляет приложение и что сервер отвечает.

!Схема «устройство → Charles → сервер», чтобы понять идею прокси

Официальный сайт Charles: Charles Proxy

Почему QA это нужно

Почти любое современное приложение общается с сервером через API. На экране вы видите кнопку “Войти”, “Оплатить”, “Показать список”, а на самом деле в фоне уходят запросы.

Charles нужен QA, чтобы:

  • Понимать, что реально отправляет приложение (какие параметры, заголовки, токены).
  • Проверять, что реально пришло с сервера (код ответа, тело ответа, ошибки).
  • Быстрее находить причины багов: проблема в UI, в запросе, в сервере или в сети.
  • Собрать доказательства для баг-репорта: запрос/ответ, статус-коды, время.
  • Какие задачи Charles решает

    Ниже — самые частые сценарии, ради которых Charles устанавливают в QA-командах.

    Просмотр трафика (что уходит и что приходит)

    Что вы получаете:

  • список запросов (обычно по доменам и эндпоинтам)
  • параметры запроса
  • заголовки (headers)
  • тело запроса/ответа (body)
  • статус-коды (например, 200, 401, 500)
  • время выполнения
  • Зачем это QA:

  • проверить, что приложение отправляет корректные данные (например, правильный userId)
  • увидеть, почему сервер вернул ошибку
  • подтвердить, что запрос вообще был (или его не было)
  • Перехват и подмена (когда нужно “сыграть” за сервер)

    Charles умеет не только смотреть, но и вмешиваться:

  • Breakpoint — “пауза” на запросе/ответе, чтобы вы успели посмотреть и изменить данные перед отправкой дальше.
  • Rewrite — автоматическая подмена по правилам (например, всегда менять параметр или подставлять другой хост).
  • Map Local / Map Remote — подмена ответа: вернуть данные из локального файла или с другого адреса.
  • Зачем это QA:

  • проверить, как приложение ведёт себя при ошибках (например, вернуть 500 вместо 200)
  • смоделировать “плохой интернет” или нестабильный сервер
  • протестировать кейсы, которые сложно получить на реальном бэкенде (например, редкие ошибки)
  • Документация по SSL Proxying (когда дело касается HTTPS): SSL Proxying в Charles

    Ключевые термины (коротко и понятно)

  • Прокси (proxy) — посредник между устройством и сервером. В нашем курсе прокси — это Charles.
  • Трафик — все сетевые запросы и ответы.
  • HTTP/HTTPS — протоколы общения. HTTPS — это HTTP, но с шифрованием.
  • SSL-сертификат Charles — специальный сертификат, который вы устанавливаете, чтобы Charles мог “читать” HTTPS-трафик.
  • Важно: без установки сертификата HTTPS-запросы обычно будут выглядеть как “зашифрованные”, и вы не увидите содержимое.

    Как будет устроена настройка в этом курсе

    Дальше мы сделаем настройку в понятной последовательности:

  • Установим Charles на Windows.
  • Настроим, чтобы Windows отправляла трафик через Charles.
  • Установим SSL-сертификат на Windows, чтобы читать HTTPS.
  • Подключим Android-устройство к Charles по Wi‑Fi (телефон будет ходить в интернет через ваш ПК).
  • Установим SSL-сертификат на Android, чтобы видеть HTTPS трафик приложений.
  • Типичные ошибки новичков (и как их заранее избежать)

  • “Я вижу запросы, но в них пусто/непонятно” — часто это HTTPS без сертификата.
  • “Телефон не подключается к Charles” — обычно неправильный IP компьютера, порт, или устройства не в одной Wi‑Fi сети.
  • “После установки сертификата ничего не работает” — возможно, сертификат установлен не туда, или приложение использует защиту (например, certificate pinning). Это отдельный кейс, мы его кратко разберём в блоке про проблемы.
  • Чек-лист: что должно быть понятно после этого урока

  • вы понимаете, что Charles — это прокси-посредник между приложением и сервером
  • вы знаете, что основная ценность для QA — видеть запросы/ответы и быстрее разбирать баги
  • вы понимаете, что для чтения HTTPS нужен SSL-сертификат Charles
  • вы представляете общую последовательность настройки: Windows → сертификат → Android → сертификат
  • Мини-резюме

    Charles Proxy — базовый инструмент QA для работы с сетевыми запросами. Он помогает увидеть реальное API-взаимодействие приложения, диагностировать ошибки и (при необходимости) подменять запросы/ответы. Главный “порог входа” для новичка — понимание прокси и установка SSL-сертификата, без которого HTTPS-трафик не получится нормально анализировать.

    2. Установка Charles Proxy на Windows: скачивание и первый запуск

    Установка Charles Proxy на Windows: скачивание и первый запуск

    Зачем этот шаг нужен

    Чтобы перехватывать и анализировать трафик (как мы обсуждали во введении), Charles должен быть установлен на компьютере. В следующих уроках мы настроим прокси в системе и SSL-сертификат, но сначала важно:

  • поставить Charles из надежного источника
  • убедиться, что программа запускается
  • понять, где в интерфейсе смотреть запросы
  • Где скачать Charles (только официальный источник)

    Скачивайте Charles только с официального сайта, чтобы избежать проблем с безопасностью и “кривых” сборок.

  • Официальная страница загрузки: Charles Proxy Download
  • Что выбрать на странице:

  • Windows (обычно установщик .exe)
  • Установка Charles на Windows

    Зачем нужен этот шаг

    Charles устанавливается как обычная программа. Никаких “драйверов” вручную на этом этапе не требуется: ваша задача — корректно поставить приложение и запустить его.

    Пошаговая инструкция

  • Откройте страницу Charles Proxy Download.
  • Скачайте версию для Windows.
  • Запустите скачанный установщик.
  • Пройдите шаги установки:
  • - принять лицензионное соглашение - выбрать папку установки (можно оставить по умолчанию) - нажать Install
  • После установки нажмите Finish и запустите Charles.
  • Возможные ошибки и как их исправить

  • Windows SmartScreen блокирует установщик
  • - Что происходит: появляется предупреждение, что приложение “неизвестного издателя”. - Что сделать: убедитесь, что файл скачан с официального сайта Charles, затем в окне SmartScreen нажмите ПодробнееВыполнить в любом случае.

  • Не хватает прав на установку
  • - Что происходит: установка завершается ошибкой или кнопка установки неактивна. - Что сделать: запустите установщик от имени администратора.

  • Антивирус удаляет/блокирует файл
  • - Что происходит: установщик исчезает или не запускается. - Что сделать: заново скачайте установщик с официального сайта и проверьте карантин/лог антивируса. Если в компании строгие политики, попросите DevOps/IT подтвердить, что Charles разрешен.

    Чек-лист: что должно получиться

  • Charles установлен в Windows и запускается без ошибок
  • вы видите основное окно программы
  • Первый запуск: что увидеть и где “трафик”

    Зачем нужен этот шаг

    На первом запуске важно понять две вещи:

  • Charles умеет показывать запросы сразу (например, из браузера)
  • интерфейс разделен на список доменов/хостов и детали выбранного запроса
  • !Как выглядит окно Charles и где смотреть запрос/ответ

    Пошаговая инструкция

  • Запустите Charles.
  • Обратите внимание на режим отображения трафика:
  • - чаще всего слева показывается дерево доменов (Structure) - при выборе домена виден список запросов
  • Откройте любой сайт в браузере на этом же ПК (например, новостной портал или поисковик).
  • Посмотрите, появляются ли новые строки/домены в Charles.
  • Важно: на этом уроке достаточно увидеть, что Charles “живой” и умеет собирать HTTP-трафик. HTTPS-подробности мы включим позже, когда поставим SSL-сертификат.

    Возможные ошибки и как их исправить

  • В Charles ничего не появляется, хотя браузер открывает сайты
  • - Самая частая причина: Charles еще не назначен системным прокси. - Это нормально на данном этапе: в следующем уроке мы настроим прокси в Windows.

  • Трафик появляется, но вместо содержимого HTTPS вы видите “туннели” или непонятные записи
  • - Причина: HTTPS шифруется. - Решение: это исправится после установки SSL-сертификата и настройки SSL Proxying (следующие уроки).

    Чек-лист: что должно получиться

  • Charles запускается
  • вы понимаете, где смотреть список запросов и детали (Request/Response)
  • вы не пугаетесь, если HTTPS пока “не читается” (это ожидаемо до сертификата)
  • Полезные настройки на старте (необязательно, но удобно)

    Зачем нужен этот шаг

    Эти настройки не влияют на перехват, но помогают новичкам быстрее ориентироваться.

    Пошаговая инструкция

  • Включите более удобный вид списка (по желанию):
  • - найдите переключение Structure / Sequence в интерфейсе - Structure удобен для группировки по доменам - Sequence удобен для просмотра запросов “лентой” по времени
  • Очистка списка запросов перед новой проверкой:
  • - используйте очистку сессии (обычно это иконка “очистить” или пункт меню очистки)

    Возможные ошибки и как их исправить

  • Переключили вид и “пропали” домены
  • - Причина: вы перешли в другой режим отображения. - Решение: вернитесь обратно в Structure.

    Чек-лист: что должно получиться

  • вы знаете, что есть два удобных режима просмотра: Structure и Sequence
  • вы умеете очищать список запросов перед тестом
  • Мини-резюме

    В этом уроке вы установили Charles Proxy на Windows из официального источника и запустили его в первый раз. На данном этапе главное — чтобы программа открывалась и вы понимали, где в интерфейсе появляются запросы. Если трафика пока нет или HTTPS “не читается” — это ожидаемо: дальше мы настроим прокси в Windows и установим SSL-сертификат, чтобы видеть HTTPS-содержимое.

    3. Настройка системного прокси на Windows и проверка HTTP

    Настройка системного прокси на Windows и проверка HTTP

    Зачем нужна настройка системного прокси

    Пока Charles просто установлен, он может показывать трафик, но чаще всего — только частично или случайно.

    Чтобы Charles стабильно перехватывал запросы от браузера и приложений на вашем ПК, нужно сделать так, чтобы Windows отправляла трафик через Charles как через прокси.

    Проще говоря:

  • без прокси Windows ходит в интернет напрямую
  • с прокси Windows ходит в интернет через Charles, и вы видите запросы
  • !Схема, показывающая как трафик Windows проходит через системный прокси в Charles

    Перед началом: что нужно знать

  • Прокси — это “посредник”, через которого идут запросы.
  • 127.0.0.1 или localhost — это “этот же компьютер”. То есть Windows будет отправлять трафик в Charles, который запущен на вашем ПК.
  • 8888 — стандартный порт Charles. Если у вас другой — используйте его.
  • > Если включить прокси в Windows, а Charles закрыть, интернет может частично перестать работать. Это нормально: Windows будет пытаться ходить “через посредника”, которого нет.

    Включаем системный прокси через Charles

    Зачем этот шаг нужен

    Это самый простой способ: Charles сам пропишет настройки прокси в Windows. Не нужно руками лезть в параметры сети.

    Пошаговая инструкция

  • Запустите Charles.
  • В верхнем меню откройте Proxy.
  • Убедитесь, что включено Proxy (если видите галочку рядом — ок).
  • Нажмите ProxyWindows Proxy.
  • Проверьте, что рядом с Windows Proxy появилась галочка.
  • Возможные ошибки и как исправить

  • Charles не может включить Windows Proxy
  • 1. Что вы видите: галочка не ставится или сразу пропадает. 2. Почему так бывает: не хватает прав. 3. Что делать: закройте Charles и запустите его от имени администратора, затем повторите шаги.

  • Интернет “сломался” после включения прокси
  • 1. Почему так бывает: Charles закрыт, завис, или заблокирован фаерволом. 2. Что делать: 1. Убедитесь, что Charles запущен. 2. Если не помогло — временно отключите ProxyWindows Proxy.

    Чек-лист результата

  • в меню Proxy включены Proxy и Windows Proxy
  • Charles запущен и не закрыт
  • Проверяем, что HTTP-трафик перехватывается

    Зачем этот шаг нужен

    HTTP — это нешифрованный трафик. Его проще всего проверить: если HTTP виден в Charles, значит прокси работает.

    Пошаговая инструкция

  • В Charles нажмите кнопку очистки сессии (или используйте пункт меню очистки), чтобы начать “с чистого листа”.
  • Откройте в браузере на этом же ПК сайт по HTTP, например: NeverSSL.
  • Вернитесь в Charles.
  • Убедитесь, что появились новые записи.
  • Откройте любой запрос и посмотрите вкладки:
  • - Request (что отправили) - Response (что получили)

    Возможные ошибки и как исправить

  • В Charles всё равно пусто
  • 1. Проверьте, что включено ProxyWindows Proxy. 2. Проверьте, что Charles запущен. 3. Попробуйте другой браузер (или откройте сайт в режиме без расширений). 4. Важно про Firefox: иногда он не использует системный прокси. 1. Откройте настройки Firefox. 2. Найдите настройки сети (Network Settings). 3. Выберите использование системных настроек прокси (обычно это вариант Use system proxy settings).

  • Открываю сайт, но он сразу становится HTTPS
  • 1. Это нормально: многие сайты автоматически переключают на HTTPS. 2. Для проверки именно HTTP используйте NeverSSL или другой ресурс, который не форсит HTTPS.

  • Появляются записи вида CONNECT ...:443, но содержимого нет
  • 1. Это HTTPS-трафик: Charles видит факт соединения, но не может “прочитать” зашифрованные данные. 2. Решение: это будет в следующем модуле — установка SSL-сертификата Charles и настройка чтения HTTPS.

    Чек-лист результата

  • при открытии NeverSSL в Charles появляются запросы
  • хотя бы один запрос открывается и показывает понятные данные в Request/Response
  • вы понимаете, что HTTPS пока может быть “нечитаемым” и это исправится после сертификата
  • Как быстро отключить прокси (если нужно)

    Зачем этот шаг нужен

    Иногда прокси нужно выключить: например, чтобы проверить поведение приложения “как у обычного пользователя” или если Charles временно не нужен.

    Пошаговая инструкция

  • Откройте Charles.
  • Нажмите ProxyWindows Proxy, чтобы снять галочку.
  • При необходимости снимите галочку Proxy.
  • Возможные ошибки и как исправить

  • Charles не открывается, а интернет не работает
  • 1. Откройте системные настройки прокси Windows и выключите прокси вручную. 2. Подсказка от Microsoft: Use a proxy server in Windows.

    Чек-лист результата

  • после отключения Windows Proxy интернет работает даже при закрытом Charles
  • Мини-резюме

    В этом уроке вы включили системный прокси Windows через Charles и убедились, что HTTP-трафик появляется в списке запросов. Если вы видите только CONNECT к :443 или “нечитабельный” HTTPS — это ожидаемо. Следующий шаг курса — установка SSL-сертификата Charles на Windows, чтобы нормально читать HTTPS-запросы и ответы.

    4. Установка SSL-сертификата Charles на Windows и проверка HTTPS

    Установка SSL-сертификата Charles на Windows и проверка HTTPS

    Зачем нужен SSL-сертификат Charles

    В предыдущем уроке вы настроили системный прокси Windows и убедились, что HTTP-трафик виден в Charles. Но с HTTPS другая история: он шифруется, поэтому без дополнительной настройки Charles обычно видит только “факт соединения” (записи типа CONNECT host:443), но не видит содержимое запросов и ответов.

    Чтобы Charles мог расшифровывать HTTPS-трафик и показывать:

  • URL/эндпоинт
  • параметры
  • заголовки
  • тело запроса/ответа
  • статус-коды
  • нужно:

  • Установить корневой SSL-сертификат Charles в доверенные сертификаты Windows.
  • Включить SSL Proxying (правило “для каких доменов расшифровывать HTTPS”).
  • Официальная документация:

  • SSL Proxying (Charles Documentation)
  • SSL Certificates (Charles Documentation)
  • !Схема, почему без сертификата HTTPS не читается и зачем нужен Charles Root Certificate

    Перед началом: быстрый чек

  • Charles запущен.
  • В Charles включено Proxy.
  • Если вы хотите проверять трафик именно с Windows, включено ProxyWindows Proxy (как в прошлом уроке).
  • > Если включить Windows Proxy и закрыть Charles, интернет может работать плохо или не работать вовсе — это ожидаемо.

    Установка SSL-сертификата Charles в Windows

    Зачем это нужно

    Когда Charles расшифровывает HTTPS, он фактически “выдаёт” вашему браузеру сертификат от имени сайта. Чтобы браузер и Windows доверяли этому сертификату и не ругались, вы добавляете Charles Root Certificate в доверенные корневые сертификаты.

    Пошаговая инструкция

  • Откройте Charles.
  • В меню выберите HelpSSL ProxyingInstall Charles Root Certificate.
  • Откроется окно управления сертификатами Windows.
  • Найдите сертификат, который добавился (обычно он называется Charles Proxy CA).
  • Убедитесь, что сертификат находится в хранилище:
  • - Trusted Root Certification AuthoritiesCertificates
  • Если сертификат установился не туда, переместите его:
  • 1. Откройте сертификат. 2. Нажмите Install Certificate.... 3. Выберите размещение вручную. 4. Укажите Trusted Root Certification Authorities. 5. Завершите мастер установки.

    Возможные ошибки и как исправить

  • Сертификат установился, но браузер всё равно ругается на безопасность
  • 1. Причина: сертификат установлен не в доверенные корневые (или установлен для другого пользователя). 2. Что делать: 1. Повторите установку и явно выберите хранилище Trusted Root Certification Authorities. 2. Закройте и заново откройте браузер.

  • Не получается установить сертификат (ошибка прав)
  • 1. Причина: иногда политика безопасности Windows/компании требует админ-права. 2. Что делать: 1. Запустите Charles от имени администратора и повторите установку. 2. Если это корпоративный ПК, возможно, потребуется помощь IT/DevOps.

  • В Chrome/Edge всё ок, а в Firefox HTTPS не расшифровывается
  • 1. Причина: Firefox может использовать собственное хранилище сертификатов. 2. Что делать (простой вариант): в Firefox включить доверие к системным корневым сертификатам (настройка зависит от версии Firefox и политик компании). Если это сделать нельзя — сертификат нужно импортировать в хранилище Firefox отдельно.

    Чек-лист: что должно получиться

  • сертификат Charles Proxy CA установлен
  • сертификат находится в Trusted Root Certification Authorities
  • браузер не показывает предупреждение “соединение небезопасно” только из-за Charles (при корректной настройке)
  • Включаем SSL Proxying в Charles (без этого HTTPS всё равно будет “CONNECT”)

    Зачем это нужно

    Даже если сертификат установлен, Charles не начнёт автоматически расшифровывать все HTTPS-сайты. Нужно включить SSL Proxying и указать, для каких хостов/портов выполнять расшифровку.

    Пошаговая инструкция

  • В Charles откройте ProxySSL Proxying Settings....
  • Поставьте галочку Enable SSL Proxying.
  • Нажмите Add (или +) и добавьте правило.
  • Для первой проверки можно добавить самое простое правило:
  • - Host: * - Port: 443
  • Нажмите OK/Save.
  • > Для реальной работы лучше добавлять только нужные домены (например, тестовый API), а не *, чтобы не собирать лишнее.

    Возможные ошибки и как исправить

  • Сертификат установлен, но в Charles всё равно видно только CONNECT ...:443
  • 1. Причина: не включен SSL Proxying или не добавлено правило на нужный хост. 2. Что делать: 1. Проверьте ProxySSL Proxying Settings... → включена ли галочка. 2. Проверьте, что правило подходит под ваш сайт (хост и порт).

  • Включили правило *, но “сломались” отдельные сайты
  • 1. Причина: некоторые сайты/приложения используют дополнительные механизмы защиты (в том числе certificate pinning). 2. Что делать: 1. Для начала ограничьте правила SSL Proxying конкретными доменами. 2. Если приложение использует pinning, перехват HTTPS может быть невозможен “в лоб” — это нормальная ситуация, её обычно решают отдельными подходами (зависит от проекта).

    Чек-лист: что должно получиться

  • включен Enable SSL Proxying
  • добавлено правило на нужный домен (или временно * : 443 для проверки)
  • Проверка: читается ли HTTPS-трафик на Windows

    Зачем это нужно

    Нам важно убедиться, что вы видите содержимое HTTPS-запросов (URL, заголовки, тело), а не только “туннели” CONNECT.

    Пошаговая инструкция

  • В Charles очистите текущую сессию (чтобы не мешали старые запросы).
  • В браузере на этом же ПК откройте HTTPS-страницу, например:
  • - httpbin.org (GET)
  • Вернитесь в Charles и найдите запросы к httpbin.org.
  • Откройте запрос и проверьте вкладки:
  • - Request (должны быть видны method, URL, headers) - Response (должно быть видно тело ответа, обычно JSON)

    Что должно быть видно

  • в списке запросов вы видите не только CONNECT, но и реальный запрос типа GET /get
  • во вкладке Response видно содержимое ответа (а не пустота)
  • Возможные ошибки и как исправить

  • Видно только CONNECT httpbin.org:443, а GET /get не появляется
  • 1. Проверьте, что включено ProxySSL Proxying Settings...Enable SSL Proxying. 2. Проверьте правило: временно поставьте Host: *, Port: 443. 3. Перезапустите браузер (иногда он “держит” старые соединения).

  • Браузер показывает предупреждение про сертификат (страница “небезопасна”)
  • 1. Причина: Windows/браузер не доверяет Charles Root Certificate. 2. Решение: убедитесь, что сертификат установлен именно в Trusted Root Certification Authorities.

  • В Charles появились запросы, но часть полей пустая/непонятная
  • 1. Причина: вы смотрите не тот запрос (например, системные обращения браузера) или приложение использует дополнительные механизмы защиты. 2. Решение: 1. Используйте фильтр по домену (например, httpbin.org). 2. Для мобильных приложений часть трафика может быть недоступна из-за pinning — это отдельный кейс.

    Чек-лист итогового результата (Windows + HTTPS)

  • системный прокси Windows включен (или вы осознанно включаете его, когда нужно)
  • установлен Charles Root Certificate в доверенные корневые сертификаты Windows
  • включен SSL Proxying и добавлено правило для нужного домена
  • при открытии HTTPS-страницы вы видите в Charles реальные запросы и ответы (а не только CONNECT)
  • Мини-резюме

    Чтобы читать HTTPS-трафик в Charles на Windows, недостаточно просто включить системный прокси. Нужно установить Charles Root Certificate в доверенные корневые сертификаты Windows и включить SSL Proxying (с правилом на нужные домены). После этого Charles сможет показывать содержимое HTTPS-запросов и ответов — именно то, что чаще всего нужно QA для анализа API и багов.

    5. Подключение Android к Charles: настройка Wi‑Fi прокси и проверка

    Подключение Android к Charles: настройка Wi‑Fi прокси и проверка

    Зачем подключать Android к Charles

    В прошлых уроках мы настроили Charles на Windows (прокси и чтение HTTPS на самом ПК). Теперь задача другая: сделать так, чтобы Android-устройство отправляло свой трафик через ваш компьютер с Charles.

    Это нужно QA, чтобы:

  • видеть запросы мобильного приложения к API
  • проверять параметры, заголовки, статус-коды
  • быстрее понимать, это баг приложения, сервера или сети
  • Важно: в этом уроке мы настраиваем подключение и проверяем, что трафик вообще приходит. Расшифровку HTTPS на Android мы включим в следующем модуле, когда установим сертификат на телефон.

    !Схема, показывающая что Android ходит в интернет через Charles на ПК

    Что должно быть готово перед началом

  • Charles запущен на Windows
  • вы знаете, что Charles слушает порт (обычно 8888)
  • телефон и компьютер подключены к одной и той же Wi‑Fi сети
  • > Если ПК подключен по кабелю, а телефон по Wi‑Fi, это обычно нормально. Главное, чтобы они были в одной локальной сети и “видели” друг друга.

    Шаг 1. Узнаём IP-адрес компьютера (Windows)

    Зачем нужен этот шаг

    Android должен понимать, куда отправлять трафик. Для этого в настройках Wi‑Fi прокси мы укажем:

  • IP компьютера в вашей сети
  • порт Charles (обычно 8888)
  • Пошаговая инструкция

  • На Windows откройте командную строку:
  • Нажмите Win + R → введите cmd → нажмите Enter
  • Введите команду ipconfig и нажмите Enter
  • Найдите активный сетевой адаптер (обычно Wi‑Fi или Ethernet) и строку IPv4 Address
  • Запишите IP, он выглядит примерно как 192.168.0.15
  • Возможные ошибки и как их исправить

  • Вы видите несколько IPv4 адресов и не понимаете, какой брать
  • Выберите тот, который относится к активному подключению, через которое у ПК есть интернет (Wi‑Fi или Ethernet)
  • Не используйте 127.0.0.1 или localhost, это адрес “самого себя”, он работает только на этом же ПК, но не с телефона
  • Чек-лист результата

  • у вас записан IPv4 адрес ПК вида 192.168.x.x или 10.x.x.x
  • Шаг 2. Разрешаем подключения с других устройств в Charles

    Зачем нужен этот шаг

    По умолчанию Charles может быть настроен только на локальную работу. Чтобы телефон смог подключиться к Charles на ПК, нужно разрешить remote access.

    Официальная документация: Remote Access в Charles

    Пошаговая инструкция

  • В Charles откройте ProxyProxy Settings...
  • Откройте вкладку Access Control (или раздел про доступ)
  • Включите опцию, которая разрешает подключения извне (обычно это про Allow remote clients to connect)
  • Если есть список разрешённых адресов, добавьте IP вашего телефона или временно разрешите доступ вашей подсети
  • Нажмите OK
  • Возможные ошибки и как их исправить

  • Телефон не подключается, а Charles ничего не показывает
  • Проверьте, что удалённый доступ действительно разрешён в настройках Charles
  • Проверьте Windows Firewall
  • Чек-лист результата

  • в Charles разрешены входящие подключения от устройств из вашей сети
  • Шаг 3. Настраиваем Wi‑Fi прокси на Android

    Зачем нужен этот шаг

    Это ключевой шаг: мы говорим Android, что весь Wi‑Fi трафик нужно отправлять не напрямую в интернет, а через прокси на ПК с Charles.

    Пошаговая инструкция

  • Откройте на Android НастройкиWi‑Fi
  • Нажмите на вашу текущую сеть Wi‑Fi и откройте её параметры (обычно Изменить сеть)
  • Найдите настройку Прокси и переключите на Вручную
  • Заполните поля:
  • Имя хоста прокси или Proxy hostname → IP вашего ПК (например, 192.168.0.15)
  • Порт прокси или Proxy port8888 (или ваш порт Charles)
  • Сохраните настройки сети
  • > На разных версиях Android названия пунктов могут немного отличаться, но логика одинаковая: Wi‑Fi сеть → изменить → прокси вручную → IP и порт.

    Возможные ошибки и как их исправить

  • Нет пункта “Прокси” в настройках Wi‑Fi
  • Убедитесь, что вы открыли именно редактирование текущей сети, а не общий список сетей
  • На некоторых оболочках нужно нажать “Дополнительно” в настройках сети
  • Чек-лист результата

  • в Wi‑Fi сети Android установлен прокси: IP ПК и порт Charles
  • Шаг 4. Проверяем соединение: трафик с Android появляется в Charles

    Зачем нужен этот шаг

    Нам нужно доказать, что цепочка “Android → Charles” работает. Самая простая проверка делается через браузер на телефоне.

    Пошаговая инструкция

  • На ПК откройте Charles и очистите сессию (чтобы видеть только свежие запросы)
  • На Android откройте браузер и перейдите на страницу:
  • Откройте NeverSSL (это HTTP, удобно для первичной проверки)
  • Вернитесь в Charles на ПК
  • Убедитесь, что появились запросы от телефона
  • Что должно быть видно в Charles

  • новые записи при открытии сайта на телефоне
  • домен neverssl.com или связанные запросы
  • при открытии запроса видны вкладки Request и Response с понятным содержимым
  • Возможные ошибки и как их исправить

  • На телефоне пропал интернет после включения прокси
  • Проверьте, что Charles запущен на ПК
  • Проверьте, что IP и порт введены без ошибок
  • Проверьте, что телефон и ПК в одной Wi‑Fi сети
  • Проверьте Firewall Windows
  • В Charles ничего не появляется, но сайты на телефоне открываются
  • Такое бывает, если прокси не применился к сети
  • Перепроверьте, что прокси указан именно в настройках той Wi‑Fi сети, к которой подключён телефон
  • Телефон пишет ошибку подключения к прокси
  • Частые причины:
  • Неверный IP ПК
  • Неверный порт (не 8888 или в Charles настроен другой)
  • Charles запрещает удалённые подключения
  • Блокировка Firewall
  • В Charles видны подключения, но HTTPS “не читается”
  • Это ожидаемо на данном этапе
  • Для чтения HTTPS трафика мобильных приложений нужно установить сертификат Charles на Android и включить SSL Proxying для нужных доменов, это будет в следующем уроке
  • Чек-лист результата

  • при открытии NeverSSL на Android в Charles появляются запросы
  • вы понимаете, что телефон действительно ходит в интернет через Charles на ПК
  • Как быстро вернуть всё “как было” (если прокси больше не нужен)

    Зачем нужен этот шаг

    Если оставить прокси включённым, телефон будет зависеть от вашего ПК с Charles. Как только вы закроете Charles или уйдёте из этой сети, интернет на телефоне может “сломаться”. Поэтому важно уметь быстро откатить настройку.

    Пошаговая инструкция

  • Android НастройкиWi‑Fi → ваша сеть
  • Изменить сетьПрокси
  • Выберите Нет или Отключено
  • Сохраните
  • Возможные ошибки и как их исправить

  • Интернет не вернулся после отключения прокси
  • Выключите и включите Wi‑Fi на телефоне
  • Переподключитесь к сети
  • Чек-лист результата

  • Wi‑Fi прокси на Android отключён
  • интернет на телефоне работает независимо от Charles
  • Мини-резюме

    Вы подключили Android к Charles через настройку Wi‑Fi прокси: нашли IP компьютера, разрешили удалённые подключения в Charles и указали на телефоне прокси IP ПК : порт Charles. После этого вы проверили, что HTTP-запросы с телефона появляются в Charles.

    Следующий шаг курса: установить SSL-сертификат Charles на Android, чтобы читать HTTPS-трафик мобильных приложений.

    6. SSL-сертификат Charles на Android: установка и нюансы версий

    SSL-сертификат Charles на Android: установка и нюансы версий

    Зачем ставить SSL-сертификат на Android

    В прошлом уроке вы подключили Android к Charles через Wi‑Fi прокси и убедились, что HTTP-трафик виден.

    Но большинство приложений работают по HTTPS (всё шифруется). Без сертификата Charles вы обычно увидите только записи вида CONNECT api.site.com:443, но не увидите:

  • какой именно эндпоинт вызвали
  • какие параметры и заголовки отправили
  • какое тело ответа вернул сервер
  • Установка сертификата на Android делает так, чтобы телефон доверял Charles при расшифровке HTTPS.

    > Важно: даже с сертификатом часть приложений может не расшифровываться из-за ограничений Android (начиная с Android 7) или из-за certificate pinning. Ниже разберём, как это распознать.

    !Схема, показывающая разницу между HTTPS без сертификата и с установленным сертификатом на Android

    Что должно быть готово перед началом

  • Charles запущен на Windows.
  • Android уже подключён к Charles через Wi‑Fi прокси (как в предыдущем уроке).
  • Вы видите, что HTTP-запросы с телефона приходят в Charles (например, через NeverSSL).
  • В Charles включён Proxy.
  • Скачивание сертификата Charles на Android

    Зачем нужен этот шаг

    Сертификат нужно получить на самом телефоне. Самый простой способ: открыть специальную страницу, которую Charles отдаёт через прокси.

    Пошаговая инструкция

  • Убедитесь, что на Android включён Wi‑Fi прокси на ваш ПК с Charles (IP и порт, обычно 8888).
  • Откройте браузер на Android.
  • Перейдите по адресу chls.pro/ssl.
  • Нажмите на установку сертификата (страница обычно предлагает загрузить сертификат Charles).
  • Дождитесь, пока файл сертификата будет скачан или сразу откроется установщик.
  • Возможные ошибки и как их исправить

  • Страница chls.pro/ssl не открывается
  • 1. Проверьте, что телефон всё ещё использует прокси (иногда сеть переподключилась и настройки не применились). 2. Проверьте, что Charles запущен. 3. Проверьте, что телефон и ПК в одной сети. 4. Проверьте Windows Firewall (иногда он блокирует входящие подключения к Charles).

  • Открывается обычный сайт вместо страницы Charles
  • 1. Почти всегда это значит, что прокси на телефоне не применился. 2. Перепроверьте настройки именно текущей Wi‑Fi сети: прокси должен быть Вручную и с IP ПК.

    Чек-лист: что должно получиться

  • На телефоне открывается страница установки сертификата Charles.
  • Сертификат скачался или запустился экран установки сертификата.
  • Установка сертификата на Android

    Зачем нужен этот шаг

    Скачанный сертификат нужно добавить в доверенные на Android, чтобы при HTTPS-соединении телефон не считал подмену сертификата «атакой».

    Пошаговая инструкция

  • После скачивания сертификата Android обычно сам предложит его установить.
  • Если не предложил, откройте файл сертификата из загрузок (например, через приложение “Файлы”).
  • Введите имя сертификата, например Charles.
  • Если Android спросит назначение сертификата, выберите вариант типа CA certificate или Сертификат ЦС.
  • Подтвердите установку.
  • > Часто Android требует, чтобы на устройстве был настроен блокировщик экрана (PIN/пароль). Это нормальная защита: без неё сертификаты ставить нельзя.

    Возможные ошибки и как их исправить

  • Android пишет, что нужен PIN/пароль
  • 1. Установите блокировку экрана (PIN/пароль). 2. Повторите установку сертификата.

  • Сертификат устанавливается, но потом вы его “не находите”
  • 1. Откройте настройки Android и найдите раздел сертификатов. 2. Обычно путь похож на НастройкиБезопасностьШифрование и учетные данныеДоверенные учетные данные или Пользовательские сертификаты.

  • Установщик говорит, что формат сертификата не поддерживается
  • 1. Скачайте сертификат заново через chls.pro/ssl. 2. Не переименовывайте файл вручную. 3. Убедитесь, что скачиваете именно сертификат Charles, а не HTML-страницу.

    Чек-лист: что должно получиться

  • Сертификат установлен как пользовательский CA (в списке пользовательских сертификатов).
  • Телефон после установки не показывает ошибку установки.
  • Включаем расшифровку HTTPS для доменов приложения в Charles

    Зачем нужен этот шаг

    Сертификат на Android сам по себе не заставляет Charles расшифровывать HTTPS. В Charles должно быть включено SSL Proxying для нужных доменов.

    Если SSL Proxying не настроен, вы продолжите видеть CONNECT без содержимого.

    Пошаговая инструкция

  • На ПК откройте Charles.
  • Откройте ProxySSL Proxying Settings....
  • Убедитесь, что включено Enable SSL Proxying.
  • Добавьте правило для домена вашего приложения (лучше точечно):
  • 1. Host: домен API, например api.test-company.com 2. Port: 443
  • Нажмите OK.
  • > Для быстрой диагностики можно временно поставить Host: * и Port: 443, но для реальной работы лучше так не оставлять.

    Возможные ошибки и как их исправить

  • Сертификат стоит, но в Charles всё равно только CONNECT
  • 1. Проверьте, включён ли Enable SSL Proxying. 2. Проверьте, подходит ли правило под нужный домен.

    Чек-лист: что должно получиться

  • SSL Proxying включён.
  • Для нужного домена добавлено правило на 443.
  • Проверка: что HTTPS с Android читается

    Зачем нужен этот шаг

    Нужно убедиться, что вы видите реальные GET/POST и вкладки Request/Response, а не только туннели.

    Пошаговая инструкция

  • В Charles очистите сессию.
  • На Android откройте браузер и перейдите на страницу httpbin GET.
  • На ПК в Charles найдите запросы к httpbin.org.
  • Откройте запрос и проверьте:
  • 1. Во вкладке Request видны метод, URL, заголовки. 2. Во вкладке Response видно тело ответа (обычно JSON).

    Возможные ошибки и как их исправить

  • В браузере на телефоне предупреждение о недоверенном сертификате
  • 1. Значит сертификат не установился или установлен не как CA. 2. Удалите сертификат и поставьте заново через chls.pro/ssl.

  • В Charles опять только CONNECT httpbin.org:443
  • 1. Проверьте SSL Proxying Settings и правило для httpbin.org (или временно * : 443).

    Чек-лист: что должно получиться

  • Для HTTPS-запросов в Charles видны реальные пути типа GET /get.
  • В Response видно содержимое ответа.
  • Нюансы разных версий Android: почему “сертификат стоит, но приложение не расшифровывается”

    Главная идея простыми словами

    Начиная с Android 7 (Nougat) многие приложения по умолчанию не доверяют пользовательским CA-сертификатам (тем, что вы поставили вручную). Это сделано специально, чтобы защитить пользователей от перехвата трафика вредоносными прокси.

    Из-за этого возможна ситуация:

  • браузер на телефоне нормально читается в Charles
  • а мобильное приложение не работает через прокси или не расшифровывается
  • Таблица: что ожидать по версиям Android

    | Версия Android | Что обычно происходит с сертификатом Charles | Что это значит для QA | |---|---|---| | Android 6 и ниже | Многие приложения доверяют пользовательскому CA | Часто приложение расшифровывается “из коробки” | | Android 7–13 | По умолчанию приложения не доверяют пользовательскому CA | Браузер часто читается, а приложения могут давать SSL-ошибки | | Android 14+ | Та же логика, плюс иногда больше ограничений и предупреждений в UI | Чаще нужны подходы через debug-сборку/эмулятор/рут |

    Официальная справка про доверие сертификатам и настройки доверия в приложении: Network security configuration

    Как понять, что вы упёрлись именно в ограничение Android 7+

    В Charles вы можете увидеть ошибки в сессии, а на телефоне приложение может:

  • не загружать данные
  • показывать “No internet”, “Network error”
  • падать на экране логина
  • Типичные признаки в Charles:

  • SSL Handshake failed
  • соединение обрывается сразу после CONNECT
  • Что можно сделать QA в реальной работе

  • Попросить debug-сборку приложения, где разработчики разрешили доверять пользовательским сертификатам
  • 1. Обычно это делается настройкой доверия в network_security_config для debug. 2. Это самый правильный путь в команде.

  • Использовать эмулятор или тестовое устройство с возможностью установить сертификат как системный
  • 1. Часто требует root-доступа и не всегда разрешено политиками компании.

  • Если приложение использует certificate pinning
  • 1. Даже системный сертификат может не помочь. 2. Это отдельная защита, и её обычно обходят только специальными методами (зависит от проекта и правил компании).

    > Для QA важно не “ломать защиту любой ценой”, а понимать причину: это ограничение ОС или защита приложения. Дальше вы идёте к команде и договариваетесь о тестовом подходе.

    Типичные проблемы и быстрые решения

    Проблема: на телефоне пропал интернет после установки сертификата

    Чаще всего причина не в сертификате, а в прокси.

  • Проверьте, что Charles запущен.
  • Проверьте, что телефон всё ещё в той же Wi‑Fi сети.
  • Проверьте, что в настройках Wi‑Fi прокси указан правильный IP и порт.
  • Проблема: браузер читается, а приложение нет

  • Проверьте, что в Charles включён SSL Proxying именно для домена приложения.
  • Если SSL Proxying включён, а приложение всё равно падает с SSL-ошибкой, вероятны причины:
  • 1. Android 7+ не доверяет пользовательскому CA для этого приложения. 2. В приложении включён certificate pinning.
  • Зафиксируйте симптомы (скрин, текст ошибки, лог из Charles) и обсудите с командой вариант debug-сборки.
  • Проблема: слишком много доменов и мусора в сессии

  • Используйте фильтр в Charles по домену API.
  • Не держите правило * : 443 постоянно, замените на конкретные хосты.
  • Чек-лист: итог по Android (что должно быть настроено)

  • Android подключён к Charles через Wi‑Fi прокси.
  • Сертификат Charles установлен на Android как CA.
  • В Charles включён SSL Proxying и добавлены домены, которые нужно расшифровывать.
  • В Charles видны HTTPS-запросы Android в виде реальных GET/POST, а не только CONNECT.
  • Если приложение не расшифровывается, вы понимаете две основные причины: ограничения Android 7+ для пользовательских CA и certificate pinning.
  • Мини-резюме

    Чтобы читать HTTPS-трафик Android в Charles, нужно скачать и установить сертификат Charles на телефон (через chls.pro/ssl) и включить SSL Proxying для нужных доменов на ПК. Если после этого браузер читается, а приложение нет, чаще всего причина в том, что Android 7+ не доверяет пользовательским CA по умолчанию или приложение использует certificate pinning. Для рабочих проектов обычно решают это через debug-сборку, эмулятор или согласованный с командой тестовый подход.

    7. Проверка настройки, типовые проблемы и общий чек-лист QA

    Проверка настройки, типовые проблемы и общий чек-лист QA

    Зачем нужен этот урок

    Вы уже сделали базовую настройку:

  • поставили Charles на Windows
  • включили прокси на Windows
  • установили SSL-сертификат на Windows и включили SSL Proxying
  • подключили Android к Charles через Wi‑Fi прокси
  • установили сертификат на Android и включили SSL Proxying для нужных доменов
  • Но в реальной работе почти всегда всплывают вопросы уровня «почему не вижу запросы?», «почему только CONNECT?», «почему браузер читается, а приложение нет?».

    Этот урок — про:

  • быструю проверку, что всё настроено правильно
  • типовые проблемы и их решения
  • общий чек-лист готовности QA к работе с Charles
  • !Блок-схема, по которой удобно отлаживать настройку шаг за шагом

    Быстрая проверка настройки

    Ниже — самый короткий набор проверок, который показывает, где именно проблема: в прокси, сертификатах или в ограничениях приложения.

    Проверка Windows: HTTP

    #### Зачем HTTP не шифруется. Если HTTP виден — значит прокси на Windows работает.

    #### Шаги

  • Запустите Charles.
  • Включите ProxyWindows Proxy.
  • Очистите сессию (чтобы видеть только свежие запросы).
  • Откройте в браузере на ПК NeverSSL.
  • Убедитесь, что в Charles появились запросы к neverssl.com.
  • #### Возможные ошибки и решения

  • В Charles пусто
  • 1. Проверьте, что включён ProxyWindows Proxy. 2. Попробуйте другой браузер. 3. Если это Firefox — проверьте, что он использует системный прокси.

    #### Что должно получиться

  • в Charles появляются запросы к neverssl.com
  • в Request и Response видны понятные данные
  • Проверка Windows: HTTPS

    #### Зачем Если HTTPS расшифровывается — значит сертификат на Windows установлен корректно и включён SSL Proxying.

    #### Шаги

  • В Charles откройте ProxySSL Proxying Settings....
  • Убедитесь, что включено Enable SSL Proxying.
  • Для проверки добавьте правило на домен (или временно Host: *, Port: 443).
  • Очистите сессию.
  • Откройте в браузере на ПК httpbin GET.
  • Найдите в Charles запрос вида GET /get (а не только CONNECT ...:443).
  • #### Возможные ошибки и решения

  • Видно только CONNECT host:443
  • 1. Не включён SSL Proxying. 2. Нет правила на нужный домен.

  • Браузер ругается на сертификат
  • 1. Charles Root Certificate установлен не в доверенные корневые. 2. Перепроверьте установку сертификата в Trusted Root Certification Authorities.

    #### Что должно получиться

  • в Charles видны реальные HTTPS-запросы (например, GET /get)
  • во вкладке Response видно тело ответа (обычно JSON)
  • Проверка Android: HTTP

    #### Зачем Это подтверждает, что телефон действительно ходит через Charles по сети.

    #### Шаги

  • Убедитесь, что телефон и ПК в одной Wi‑Fi сети.
  • На Android в настройках Wi‑Fi сети указан прокси IP_ПК:8888.
  • В Charles очистите сессию.
  • На Android откройте NeverSSL.
  • Убедитесь, что в Charles появились запросы с телефона.
  • #### Возможные ошибки и решения

  • На телефоне пропал интернет
  • 1. Charles не запущен. 2. Неверный IP/порт. 3. Windows Firewall блокирует входящие.

    #### Что должно получиться

  • в Charles появляются запросы к neverssl.com после действий на телефоне
  • Проверка Android: HTTPS

    #### Зачем Это проверка самого важного для QA: чтение HTTPS трафика мобильных приложений.

    #### Шаги

  • Убедитесь, что на Android установлен сертификат Charles (через chls.pro/ssl).
  • В Charles включите Enable SSL Proxying.
  • Добавьте правило для домена (например, httpbin.org:443).
  • Очистите сессию.
  • На Android откройте httpbin GET.
  • Найдите в Charles запрос GET /get и откройте Response.
  • #### Возможные ошибки и решения

  • В Charles только CONNECT
  • 1. Не включён SSL Proxying. 2. Нет правила под нужный домен.

  • В браузере на Android предупреждение о сертификате
  • 1. Сертификат не установлен как CA certificate. 2. Переустановите сертификат через chls.pro/ssl.

  • Браузер читается, а приложение нет
  • 1. Это может быть ограничение Android 7+ для пользовательских CA. 2. Либо приложение использует certificate pinning.

    Как понять, что всё настроено правильно

    Какие записи должны появляться в Charles

    Ориентируйтесь на два типа записей:

  • Плохо для анализа, но нормально как симптом: CONNECT api.example.com:443
  • То, что нужно QA: реальные методы и пути, например:
  • Что проверять внутри запроса

    Откройте запрос и проверьте вкладки:

  • Request
  • - метод (GET/POST/...) - URL/путь - заголовки (например, Authorization, Content-Type) - параметры и тело запроса (если есть)
  • Response
  • - статус-код - тело ответа (JSON/HTML) - время ответа (полезно для перформанс-заметок)

    Если вы видите только CONNECT, значит расшифровка HTTPS не включилась (сертификат/SSL Proxying/ограничения приложения).

    Типовые проблемы и быстрые решения

    Таблица ниже помогает отталкиваться от симптома, а не гадать.

    | Симптом | Самая частая причина | Что сделать | |---|---|---| | В Charles вообще нет трафика с Windows | Не включён Windows Proxy | В Charles включите ProxyWindows Proxy | | Трафик с Windows есть, но HTTPS только CONNECT | Не включён SSL Proxying или нет правила | ProxySSL Proxying Settings... → включить и добавить домен | | После включения прокси интернет на ПК “сломался” | Charles закрыт или завис | Запустите Charles или выключите Windows Proxy | | Android не открывает сайты после указания прокси | Неверный IP/порт, Charles не запущен | Проверьте ipconfig, порт 8888, что Charles запущен | | Android пишет cannot connect to proxy | Firewall или запрет в Access Control | Разрешите remote access в Charles и проверьте Windows Firewall | | chls.pro/ssl не открывается на телефоне | Прокси на телефоне не применился | Перепроверьте прокси именно у текущей Wi‑Fi сети | | Android браузер читается по HTTPS, а приложение нет | Android 7+ не доверяет пользовательским CA | Нужна debug-сборка с разрешением user CA через network security config | | В Charles видно SSL Handshake failed | Сертификат не доверен или pinning | Проверьте сертификат; если app pinning — обсудить с командой | | Слишком много “мусора” от системы/браузера | Слишком широкое правило * : 443 | Ограничьте SSL Proxying только нужными доменами |

    Источники по ключевым причинам:

  • Документация Charles по SSL Proxying: SSL Proxying (Charles Documentation)
  • Документация Charles по сертификатам: SSL Certificates (Charles Documentation)
  • Ограничения доверия сертификатам в Android и подход через debug-конфигурацию: Network security configuration (Android Developers)
  • Как отключить прокси в Windows вручную (если что-то пошло не так): Use a proxy server in Windows (Microsoft Support)
  • Практичная схема диагностики: что проверять в каком порядке

    Чтобы не прыгать по настройкам хаотично, идите сверху вниз.

    Если не видите трафик вообще

  • Charles запущен.
  • Включён Proxy.
  • Для Windows: включён ProxyWindows Proxy.
  • Для Android: в Wi‑Fi сети задан прокси IP_ПК:8888.
  • ПК и телефон в одной сети.
  • В Charles разрешён доступ для внешних устройств (Proxy Settings...Access Control).
  • Windows Firewall не блокирует входящие подключения (если блокирует — временно разрешите Charles или порт 8888).
  • Если видите только CONNECT, но не видите GET/POST

  • Сертификат установлен на нужном устройстве.
  • - Windows: Charles Root Certificate в доверенных корневых. - Android: сертификат установлен как пользовательский CA certificate.
  • Включён Enable SSL Proxying.
  • Добавлено правило именно для нужного домена и порта 443.
  • Очистите сессию и повторите запрос.
  • Перезапустите браузер/приложение (иногда держатся старые соединения).
  • Если Android браузер читается, а приложение нет

  • Убедитесь, что домен приложения добавлен в SSL Proxying.
  • Если домен добавлен, а приложение всё равно падает или пишет сетевую ошибку:
  • 1. Это часто ограничение Android 7+ по довериям пользовательским CA. 2. Или certificate pinning в приложении.
  • Действие QA в рабочем процессе:
  • 1. Соберите симптомы (скрин ошибки, запись SSL Handshake failed, домен, время). 2. Попросите debug-сборку или тестовый стенд/эмулятор с корректной конфигурацией доверия.

    Полезные привычки QA при работе с Charles

  • Перед тестом очищайте сессию, иначе легко смотреть не те запросы.
  • Не держите правило Host: * постоянно.
  • - Лучше добавлять только нужные домены API.
  • Пользуйтесь фильтрацией по домену, чтобы быстро находить нужные запросы.
  • Помните про чувствительные данные.
  • - В трафике могут быть токены, телефоны, e-mail. - Если вы прикладываете сессию к баг-репорту, убедитесь, что это допустимо по правилам компании.

    Общий чек-лист готовности QA к работе с Charles

    Используйте как финальную проверку после настройки и как “регрессию” при проблемах.

    Windows

  • Charles установлен и запускается.
  • Включён Proxy.
  • Включён ProxyWindows Proxy (когда нужно перехватывать трафик с ПК).
  • HTTP проверка проходит: NeverSSL виден в Charles.
  • Установлен Charles Root Certificate в доверенные корневые сертификаты Windows.
  • Включён Enable SSL Proxying.
  • HTTPS проверка проходит: httpbin GET виден как GET /get с читаемым Response.
  • Android

  • Телефон и ПК в одной Wi‑Fi сети.
  • В Wi‑Fi сети Android задан прокси IP_ПК:8888.
  • В Charles разрешены подключения с других устройств (Access Control настроен).
  • HTTP проверка проходит: NeverSSL с телефона виден в Charles.
  • На Android установлен сертификат Charles через chls.pro/ssl как CA certificate.
  • В Charles добавлено SSL Proxying правило для доменов, которые нужно расшифровывать.
  • HTTPS проверка проходит: httpbin GET с телефона виден как GET /get.
  • Понимание ограничений

  • Вы понимаете разницу между «прокси работает» и «HTTPS расшифровывается».
  • Вы знаете, что на Android 7+ приложения могут не доверять пользовательскому CA.
  • Вы знаете, что certificate pinning может полностью блокировать расшифровку, и это нормальный повод идти за debug-подходом, а не “чинить Charles”.
  • Мини-резюме

    Правильная настройка Charles проверяется простыми контрольными точками: HTTP-трафик показывает, что прокси работает, а появление реальных GET/POST вместо CONNECT показывает, что HTTPS расшифровывается (сертификат + SSL Proxying). Если Android браузер читается, а приложение нет — чаще всего это ограничения доверия сертификатам в Android 7+ или certificate pinning, и тогда решение обычно организационное: debug-сборка или согласованный тестовый контур.