← Назад к вопросам

Как подключал прокси Charles

2.0 Middle🔥 201 комментариев
#Инструменты тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Подключение прокси Charles для анализа трафика в тестировании

В своей практике как QA Engineer я регулярно использовал Charles Proxy для глубокого анализа сетевого трафика мобильных и веб-приложений. Это критически важный инструмент для проверки API, обнаружения уязвимостей в передаче данных, анализа производительности и имитации различных сетевых условий. Процесс подключения состоит из нескольких ключевых этапов.

1. Настройка Charles Proxy на компьютере (прокси-сервер)

Первым шагом является установка и запуск Charles на вашем локальном компьютере (Windows/Mac/Linux), который станет прокси-сервером.

  • После запуска Charles необходимо установить Root Certificate (Корневой сертификат) для возможности декодирования HTTPS трафика. Это делается через меню Help -> SSL Proxying -> Install Charles Root Certificate.
  • Затем нужно настроить SSL Proxying для конкретных доменов, которые вы хотите анализировать. Это позволяет Charles "прослушивать" защищённый трафик.
    // Пример настройки в Charles (через UI):
    // Правой кнопкой на нужном хосте в структуре трафика -> Enable SSL Proxying
    
  • Важно проверить и запомнить порт прокси (обычно 8888) и IP-адрес компьютера, которые будут использоваться клиентами (тестовыми устройствами) для подключения.

2. Подключение мобильного устройства (iOS / Android)

Это наиболее распространённый сценарий для тестирования мобильных приложений.

Для iOS:

  • Убедитесь, что устройство и компьютер находятся в одной сети Wi-Fi.
  • На устройстве в Settings -> Wi-Fi выбираете текущую сеть, прокручиваете до секции HTTP Proxy, выбираете Manual.
  • Вводите Server (IP компьютера) и Port (8888).
  • Для работы с HTTPS необходимо так же установить сертификат Charles на устройство. Это делается через браузер Safari: открываете chls.pro/ssl (с адреса, который показывает Charles при старте), скачиваете и устанавливаете сертификат. После этого в Settings -> General -> About -> Certificate Trust Settings нужно явно доверить этому корневому сертификату.

Для Android:

  • Процесс аналогичен: устройство в той же Wi-Fi сети, настройка прокси в свойствах Wi-Fi сети (Manual, IP, Port 8888).
  • Для установки сертификата Charles на Android необходимо открыть в браузере chls.pro/ssl, скачать файл (.crt или .pem), а затем импортировать его в настройках безопасности как сертификат устройства или пользователя. Конкретный путь может отличаться (Settings -> Security -> Install from storage).

3. Подключение веб-браузера или другого клиента на компьютере

Если нужно анализировать трафик веб-приложения, запущенного на том же компьютере, где работает Charles:

  • Можно настроить системный прокси (например, через Network Settings) на localhost:8888.
  • Чаще и более безопасно (чтобы не нарушать работу других приложений) я использую настройку прокси на уровне конкретного браузера через его собственные настройки или расширения (например, SwitchyOmega для Chrome).
  • Для браузера также нужно импортировать и доверить Root Certificate Charles, чтобы он не блокировал HTTPS трафик. Сертификат скачивается с chls.pro/ssl и добавляется в список доверенных центров сертификации браузера.

4. Проверка подключения и начало работы

После всех настроек необходимо убедиться, что соединение работает:

  • На устройстве или в браузере открываем любой сайт (например, http://charlesproxy.com/get).
  • В интерфейсе Charles должна появиться соответствующая запись в списке Structure или Sequence.
  • Если трафик HTTPS не виден или виден как "unknown", значит проблема с сертификатами (не установлен, не доверен, не включен SSL Proxying для домена).

Ключевые практики и сложности

В процессе подключения я сталкивался с несколькими типовыми проблемами и выработал best practices:

  • Конфликты с другими прокси/VPN: Если на устройстве или компьютере активен VPN или другой прокси, Charles может не работать. Их нужно временно отключать.
  • Сложности с сертификатами на Android 7+: В новых версиях Android приложения могут игнорировать пользовательские сертификаты. Для тестирования часто приходится использовать ручную модификацию сети (через Settings -> Security) или, в крайних случаях, root-права для размещения сертификата в системном хранилище.
  • Анализ трафика с компьютера: Для анализа собственного трафика компьютера иногда нужно временно отключить прокси в Charles (Proxy -> macOS Proxy или Windows Proxy) или использовать внешний клиент.
  • Фиксирование IP адреса: В больших сетях DHCP может менять IP компьютера. Для стабильности лучше назначить компьютеру статический IP в настройках роутера или сети.

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