Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Подключение прокси 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-тестирования к глубокой валидации логики, безопасности и эффективности всего приложения на уровне данных.