Бесплатное тестирование доступно для жителей Франции , Великобритании или Сингапура в Telegram Присоединяйтесь к Telegram •
Руководство по отладке приложений для Android

Настройка Charles Proxy на Android: пошаговое руководство по SSL

Настройте прокси-сервер Charles на Android за 5 минут. Полное пошаговое руководство: установка SSL-сертификата, настройка Wi-Fi-прокси и перехват трафика.

Android 7–15 September 23, 2026 9 мин чтения
Port 8888 Прослушиватель Charles по умолчанию
chls.pro/ssl Шлюз сертификатов CA
Android 7–15 Настройка сетевой безопасности
7+ Места расположения операторов
  • Ручная настройка Wi-Fi-прокси — направляйте трафик с телефона напрямую через IP-адрес вашей рабочей станции и порт Charles по умолчанию (8888).
  • Установка сертификата SSL CA — загрузите файл с сайта chls.pro/ssl и зарегистрируйте его в качестве доверенного сертификата на устройствах с Android версий от 11 до 15.
  • Обход SSL-привязки в Android 7+ — настройте файл network_security_config.xml для отладочных сборок или разверните системные сертификаты для проверки релизных APK-файлов.
  • Цепочка мобильных прокси на входе — направление расшифрованных запросов Charles через подлинные IP-адреса операторов 4G/5G для тестирования мобильных API с географической привязкой.
Дорожный контроль Дешифрование SSL/TLS
Порт прокси по умолчанию8888 (TCP)
Формат сертификатаX.509 (.crt / .pem)
Версии AndroidNougat (7.0) to Android 15
Цепочка «вверх по потоку»Внешний прокси-сервер HTTP и SOCKS5
Полная прозрачность трафика

Дешифрование SSL (MITM)

Цепочка мобильных устройств на входе

Что такое Charles Proxy и зачем его использовать на Android?

Charles Proxy — это кроссплатформенный прокси-сервер для отладки HTTP- и HTTPS-соединений, который располагается между клиентскими приложениями и Интернетом. Для разработчиков мобильных приложений, исследователей в области безопасности и специалистов по контролю качества Charles выступает в роли локального механизма «человек посередине» (MITM). Он регистрирует каждый исходящий запрос, инициированный вашим смартфоном или эмулятором Android, измеряет задержку на конечной точке, переписывает заголовки, ограничивает пропускную способность для имитации ухудшенного качества сотовой связи и дешифрует данные TLS, преобразуя их в открытый вид в формате JSON или XML.

В то время как анализ трафика веб-браузера на настольных компьютерах не представляет сложности благодаря встроенным инструментам DevTools, современные мобильные приложения для Android шифруют свои сетевые потоки с помощью протокола TLS 1.3 и процедур проверки сертификатов. Настройка Charles Proxy для Android позволяет вам заглянуть «за кулисы» сторонних мобильных приложений, проверить заголовки аутентификации API, отлаживать сбои при мобильных платежах, проверять теги отслеживания аналитики и диагностировать ответы с ограничением скорости перед развертыванием обновлений клиентского ПО.

Проверка и воспроизведение API

Просматривайте полные данные запросов REST и GraphQL, анализируйте токены Bearer, параметры запросов и файлы cookie, а также повторно выполняйте неудачные вызовы с измененными заголовками.

Полное расшифрование SSL/TLS

Расшифровывайте HTTPS-трафик на лету с помощью динамически сгенерированных корневых сертификатов ЦС, преобразуя нечитаемые двоичные потоки TLS в читаемый текст.

Цепочка операторов на входе

Подключите Charles через PXM2 с помощью сменяющихся мобильных прокси 4G/5G, чтобы отлаживать мобильные приложения с использованием подлинных IP-адресов сотовых сетей из более чем 40 стран, не вставая со своего рабочего места.

Необходимые условия и определение IP-адреса вашей рабочей станции

Перед настройкой устройства Android необходимо убедиться, что и компьютер (на котором запущен Charles Proxy), и ваш смартфон или планшет Android подключены к одной и той же локальной сети Wi-Fi. Сети общественных кафе, корпоративные гостевые сети Wi-Fi, а также сети с включенной функцией «Изоляция клиентов точки доступа» не позволят вашему телефону получить доступ к порту 8888 на вашем компьютере.

По умолчанию Charles Proxy прослушивает порт HTTP-прокси 8888 на всех локальных интерфейсах:

Настройки прокси-сервера Charles, в которых указан порт HTTP-прокси 8888
Рисунок 1: Настройки прокси-сервера в Charles (Прокси > Настройки прокси) отображают порт HTTP-прокси по умолчанию 8888 и параметры прозрачного проксирования.

Выполните следующие действия, чтобы узнать локальный IPv4-адрес вашего компьютера:

  1. Способ А: Проверка непосредственно в Charles Proxy (самый простой)

    В программе Charles Proxy на вашем компьютере щелкните по верхнему меню: «Справка» > «Локальный IP-адрес». Появится диалоговое окно с вашим текущим IPv4-адресом в локальной сети (например, 192.168.1.145 или 10.0.0.22).

  2. Способ B: Проверка через терминал командной строки

    В macOS или Linux запустите в терминале команду `ifconfig` или `ip a` и найдите IP-адрес устройства `en0` или `wlan0`. В Windows откройте «Командную строку» или PowerShell и запустите команду `ipconfig`, обратив внимание на адрес IPv4, указанный для активного Wi-Fi-адаптера.

Команды терминала для определения локального IPv4-адреса рабочей станции
# macOS / Linux terminal:
ip route get 1.1.1.1 | awk '{print $7}'

# Windows PowerShell:
(Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias 'Wi-Fi*').IPAddress
Обязательно запишите этот локальный IPv4-адрес; его нужно будет ввести в настройках Wi-Fi на устройстве Android

Firewall Warning: Ensure your workstation firewall (Windows Defender, macOS Application Firewall, or ufw on Linux) allows incoming TCP connections on port 8888. If blocked, your phone will immediately display "No Internet Connection" upon enabling the proxy.

Шаг 1: Ручная настройка прокси-сервера для Wi-Fi на Android

После того как IP-адрес вашей рабочей станции подтвержден и запущен Charles Proxy, настройте сетевой адаптер Wi-Fi вашего устройства Android таким образом, чтобы весь исходящий TCP-трафик пропускался через прокси-порт вашего компьютера.

  1. Открыть настройки Wi-Fi на Android

    Откройте «Настройки» > «Сеть и Интернет» > «Интернет» (или «Wi-Fi»). Нажмите и удерживайте или нажмите значок шестеренки рядом с сетью Wi-Fi, к которой вы сейчас подключены.

  2. Изменить настройки сети и раскрыть дополнительные параметры

    Tap "Modify network" (or the pencil edit icon), then expand "Advanced options".

  3. Установить ручной режим прокси

    In the Proxy dropdown, select "Manual". Enter your computer's local IP (e.g. 192.168.1.145) under Proxy hostname, and type 8888 under Proxy port. Tap Save.

Ручная настройка прокси-сервера Wi-Fi в Android для Charles Proxy
Рисунок 2: Настройка сети Wi-Fi на Android: прокси-сервер настроен на «Вручную» с указанием локального IP-адреса рабочей станции и порта по умолчанию Charles — 8888.

Нажмите «Сохранить». С этого момента все HTTP-запросы, инициируемые вашим телефоном Android, будут перенаправляться на ваш компьютер через порт 8888.

Шаг 2: Авторизация подключения Android в Charles

Как только ваш телефон отправляет первый сетевой пакет через прокси, Charles Proxy обнаруживает подключение с неизвестного IP-адреса в вашей локальной подсети. В целях безопасности Charles блокирует доступ до тех пор, пока вы явно не авторизуете это устройство.

A modal dialog will pop up on your computer screen asking: "A connection attempt from [phone IP] was received. Do you want to allow it?"

Приложение Charles Proxy запрашивает разрешение на подключение устройства Android
Рисунок 3: Charles Proxy connection alert: Click "Allow" to authorize your Android device to route traffic through Charles.

Нажмите Разрешить. Система Charles автоматически добавит IP-адрес вашего телефона в белый список системы контроля доступа.

Если вы случайно нажали кнопку «Запретить» или если окно запроса так и не появилось, вы можете вручную настроить белый список системы контроля доступа в разделе Прокси > Настройки контроля доступа:

Настройки контроля доступа Charles Proxy, в которых указан IP-адрес разрешенного устройства
Рисунок 4: Настройки контроля доступа Charles: добавьте IP-адрес своего телефона Android или подстановочный знак локальной подсети (например, 192.168.1.0/24), чтобы разрешить трафик.

Совет от профессионала: если добавить всю локальную подсеть (например, 192.168.1.0/24 или 10.0.0.0/24) в настройки контроля доступа, программа Charles перестанет запрашивать ваше подтверждение каждый раз, когда аренду DHCP вашего телефона обновляется с другим IP-адресом.

Шаг 3: Загрузка SSL-сертификата Charles

На данном этапе обычный HTTP-трафик фиксируется, однако весь HTTPS-трафик отображается в Charles в виде зашифрованных туннелей CONNECT со значками замка и искажёнными данными. Для расшифровки TLS-потоков Android должен доверять корневому центру сертификации (CA) Charles.

Charles содержит встроенные инструкции и предоставляет свой корневой сертификат по запросу через локальный веб-шлюз:

Меню справки Charles Proxy по установке корневого сертификата на мобильное устройство
Рисунок 5: Меню Charles Proxy: «Справка» > «SSL-прокси» > «Установить корневой сертификат Charles на мобильное устройство или в удалённый браузер».
  1. Откройте Chrome на своём телефоне Android

    Не используйте встроенные в приложение веб-просмотрщики или браузеры со строгой привязкой сертификатов. Используйте стандартный браузер Google Chrome или встроенный браузер Android.

  2. Перейдите на шлюз загрузки сертификатов

    Введите chls.pro/ssl в адресную строку и нажмите Enter. (Внимание: используйте http://, а не https://).

  3. Подтвердить загрузку файла

    Charles перехватывает этот домен и сразу же возвращает сгенерированный файл корневого сертификата с именем getssl.crt или charles-proxy-ssl-proxying-certificate.pem.

Альтернативный способ экспорта в автономном режиме: если ваш телефон не может подключиться к сайту chls.pro/ssl, запустите на компьютере программу Charles, перейдите в меню «Справка» > «SSL-прокси» > «Сохранить корневой сертификат Charles», сохраните его в формате .pem или .crt, а затем перенесите на телефон через USB или с помощью команды adb push cert.pem /sdcard/Download/.

Шаг 4: Установка сертификата центра сертификации на Android

После загрузки необходимо установить сертификат в хранилище учетных данных Android.

Установка корневого сертификата Charles Proxy на Android
Рисунок 6: Android certificate installer: Name the certificate (e.g. "Charles Proxy CA") and select VPN and apps credential use.

Установка сертификатов в различных версиях Android

Версия Android Путь навигации в настройках Поведение и подсказка
Android 11, 12, 13, 14, 15 «Настройки» > «Безопасность и конфиденциальность» > «Дополнительные настройки безопасности» > «Шифрование и учетные данные» > «Установить сертификат» > «Сертификат центра сертификации» Android displays "Your CA certificate won't be private". Tap "Install anyway", verify lock screen PIN, and select getssl.crt from Downloads.
Android 7, 8, 9, 10 «Настройки» > «Безопасность» > «Установить из хранилища» (или нажмите на файл getssl.crt в уведомлении «Загрузки») Direct certificate installation dialog appears. Enter name "Charles Proxy" and tap OK.

Шаг 5: Включение SSL-проксирования для расшифровки HTTPS

Установка сертификата на телефон позволяет ему проверять подлинность SSL-сертификатов, сгенерированных Charles. Однако сам Charles не будет пытаться расшифровывать HTTPS-трафик, пока вы не настроите правила SSL-проксирования.

  1. Настройки прокси-сервера OpenSSL в Charles

    В главном меню Charles перейдите в раздел «Proxy» > «Настройки SSL-прокси».

  2. Включить SSL-прокси

    Ensure the checkbox "Enable SSL Proxying" is checked.

  3. Добавить правило с подстановочными знаками для целевого адреса (*:* или *:443)

    Under the Include tab, click "Add". In the Host field, type * (asterisk) to decrypt all domains, or specify a targeted domain such as *.example.com. In the Port field, type 443 (or *), then click OK.

Настройки SSL-прокси-сервера Charles Proxy
Рисунок 7: Charles SSL Proxying Settings: "Enable SSL Proxying" enabled with wildcard or targeted host/port inclusions.

Шаг 6: Настройка сетевой безопасности в Android 7+ и привязка SSL

Если вы сейчас запустите Google Chrome на Android, то заметите, что все сайты с протоколом HTTPS успешно расшифровываются. Однако при запуске собственного мобильного приложения запросы могут завершаться с ошибкой SSLHandshakeException: «Не найден доверенный анкор для пути сертификата».

Начиная с Android 7.0 (уровень API 24) компания Google изменила политику доверия по умолчанию: native приложения больше не доверяют сертификатам центров сертификации, установленным пользователем, если разработчик приложения явно не разрешил их использование в манифесте приложения.

Решение A: Для разработчиков (приложения, которые вы создаете)

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

res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <!-- Trust system CAs and user-installed CAs (Charles) in debug builds -->
            <certificates src="system" />
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>
Позволяет Чарльзу проводить проверку в отладочных сборках, сохраняя при этом строгий уровень безопасности в релизных сборках

Затем укажите эту конфигурацию в файле AndroidManifest.xml внутри тега <application>:

AndroidManifest.xml
<application
    android:name=".MainApplication"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>
Активирует пользовательские опорные точки доверия сертификационных центров для отладки с помощью Charles Proxy

Решение B: для сторонних приложений (аудит безопасности и реверс-инжиниринг)

При анализе APK-файлов сторонних разработчиков, исходный код которых нельзя редактировать, используйте один из трёх проверенных способов обхода:

Техника Требования Как это позволяет обойти ограничения, связанные с сертификатами
Модуль Magisk TrustUserCerts Телефон с root-доступом или эмулятор Magisk Перемещает сертификаты из хранилища пользователя (/data/misc/user/0/cacerts-added) в системное хранилище (/system/etc/security/cacerts), благодаря чему приложения воспринимают Charles как предустановленный заводской центр сертификации.
«Фрида» — динамическая зацепка frida-server на устройстве Закрепляет классы OkHttp3 CertificatePinner, TrustManagerImpl и Conscrypt в памяти во время выполнения, чтобы принудительно обеспечить возвращение значения «true» при проверке SSL-сертификата.
Внесение исправлений с помощью APKTool Устройство без root-прав Decompiles the APK with apktool d app.apk, injects network_security_config.xml, sets android:debuggable="true", and resigns with uber-apk-signer.

Шаг 7: Подключение Charles к мобильным прокси-серверам PXM2 4G/5G

В то время как Чарльз проверяет и расшифровывает пакеты данных локально, запросы, отправляемые с вашей рабочей станции, содержат IP-адрес вашего домашнего или офисного широкополосного подключения. При проверке систем защиты от мошенничества, мобильной автоматизации в Instagram/TikTok или API потокового вещания с географическими ограничениями системы обнаружения будут выявлять характерные для центров обработки данных или домашних широкополосных подключений IP-адреса, используемые мобильными пользовательскими агентами.

Вы можете включить Charles Proxy в цепочку через выделенные мобильные модемы PXM2, поддерживающие стандарты 4G/5G. В такой архитектуре Charles расшифровывает запросы и отображает их локально на экране вашего компьютера, а PXM2 направляет фактические запросы к целевому ресурсу через радиосети реальных мобильных операторов.

Архитектура: подключение прокси-сервера Charles к вышестоящим модемам-носителям PXM2
Просматривайте расшифрованные мобильные запросы локально, при этом отображая удаленным серверам подлинные IP-адреса операторов 4G/5G.
ANDROID PHONE Target App / Chrome Wi-Fi: 192.168.1.145:8888 Trusts Charles Root CA LAN TCP CHARLES PROXY Workstation MITM Engine MITM Decrypt & Log External Proxy: PXM2 CONNECT PXM2 4G/5G MODEM Real Carrier Gateway gate.pxm2.io:8000 Dynamic CGNAT Rotation LTE/5G TARGET API Remote CDN 200 OK Sees Carrier IP

Полный рабочий процесс цепочки прокси-серверов на входе, соединяющий устройство Android с Charles и сотовыми модемами PXM2.

Чтобы настроить цепочку upstream в Charles:

  1. Перейти к настройкам внешнего прокси-сервера

    В программе Charles выберите «Прокси» > «Настройки внешнего прокси».

  2. Включить внешние прокси-серверы

    Check "Use external proxy servers". Check both "Web Proxy (HTTP)" and "Secure Web Proxy (HTTPS)".

  3. Введите учетные данные шлюза PXM2

    In Web Proxy Server, enter your assigned PXM2 gateway hostname and port (for example, gate.pxm2.io:8000). Check "External proxy requires authentication", then input your username and password.

Шаг 8: Отключение прокси и устранение типичных ошибок

По окончании тестирования не забудьте отключить прокси на телефоне. Если вы закроете программу Charles на рабочей станции, пока прокси Wi-Fi для Android остаётся включённым, ваш телефон потеряет доступ к Интернету.

Чтобы отменить изменения: перейдите в «Настройки» > «Сеть и Интернет» > «Wi-Fi» > «Изменить сеть» > «Дополнительные параметры» и измените значение параметра «Прокси» с «Вручную» обратно на «Нет».

Таблица устранения неполадок: проблемы с прокси-сервером Charles на Android

Выявленная проблема / ошибка Основная причина Исправить действие
Phone shows "No Internet Connection" immediately Порт 8888 заблокирован брандмауэром ПК, либо IP-адрес телефона заблокирован в системе контроля доступа Charles. Разрешите порт 8888 в брандмауэре Windows / Pfctl в macOS. Откройте Charles Proxy > «Настройки контроля доступа» и добавьте свою подсеть (например, 192.168.1.0/24).
chls.pro/ssl завершает работу по истечении времени ожидания или перенаправляет на внешний веб-сайт Wi-Fi-прокси на телефоне пока не активирован или указывает на неверный IP-адрес. Убедитесь, что IP-адрес вашего компьютера не изменился в результате работы DHCP. Перед переходом на сайт chls.pro/ssl убедитесь, что для прокси-сервера выбран режим «Вручную» с портом 8888.
SSLHandshake: Получено критическое предупреждение: certificate_unknown Сертификат центра сертификации (CA) не установлен, либо приложение применяет ограничения, связанные с центрами сертификации пользователей для Android 7 и выше. Перейдите в раздел «Настройки» > «Безопасность» > «Доверенные учетные данные» > вкладка «Пользователь», чтобы убедиться в наличии сертификата Charles CA. Добавьте файл network_security_config.xml или воспользуйтесь функцией Magisk TrustUserCerts.
Значок замка с красным крестиком рядом с запросами в Charles SSL-проксирование отключено для указанного хоста или порта. Right-click the host in the Structure panel and click "Enable SSL Proxying", or add *:443 under Proxy > SSL Proxying Settings.
Приложение выдает ошибку подключения, несмотря на наличие действительного сертификата Приложение реализует жестко запрограммированное привязывание SSL-сертификатов (например, OkHttp CertificatePinner). Используйте Frida вместе со скриптом для отключения проверки SSL-сертификатов (например, frida-multiple-unpinning), чтобы динамически отключить проверку хешей сертификатов.
🇬🇧

Великобритания

2 оператора 20-60 Mbps
Начиная с
$3.64 за 1 час
Доступные операторы:
O2 EE
🇪🇸

Испания

2 оператора 30-80 Mbps
Начиная с
$4.35 за 1 час
5G
Доступные операторы:
Orange Vodafone
🇮🇳

Индия

2 оператора 20-30 Mbps
Начиная с
$2.74 за 1 час
4G
Доступные операторы:
Airtel Vodafone Idea (Vi)
Смотреть все локации →

Часто задаваемые вопросы

Почему после настройки Charles Proxy в Android появляется сообщение «Нет интернета»?

Это происходит, если прокси-сервер Charles не запущен, брандмауэр компьютера блокирует входящие соединения по порту 8888 или ваше устройство Android не подключено к той же самой подсети Wi-Fi. Проверьте локальный IP-адрес вашего компьютера, убедитесь, что Charles запущен и что вы нажали «Разрешить» в окне запроса на подключение, а также разрешите порт 8888 в Windows Defender или брандмауэре приложений macOS.

Почему в Charles Proxy HTTPS-запросы завершаются сбоем из-за ошибок при установлении SSL-соединения?

Начиная с Android 7.0 (уровень API 24) приложения Android по умолчанию не доверяют сертификатам центров сертификации, установленным пользователем. Хотя Chrome может просматривать сайты HTTPS после установки сертификата, нативные приложения будут выдавать исключение SSLHandshakeException, если приложение не содержит файл network_security_config.xml, доверяющий пользовательским сертификатам, или если сертификат не перенесён в системное хранилище доверенных сертификатов на устройстве с root-доступом или в эмуляторе.

Как скачать сертификат Charles, если страница chls.pro/ssl не открывается?

Перед тем как открыть сайт chls.pro/ssl в мобильном браузере, необходимо настроить прокси Wi-Fi на Android так, чтобы он указывал на Charles (IP-адрес компьютера и порт 8888). Charles перехватывает именно этот домен, чтобы предоставить свой корневой сертификат. В качестве альтернативы в программе Charles на вашем ПК перейдите в меню «Справка» > «SSL-прокси» > «Сохранить корневой сертификат Charles», перенесите файл с расширением .pem или .crt на телефон через USB или adb и установите его.

Где в Android 11, 12, 13, 14 и 15 находится опция установки сертификата CA?

В Android 11 и более поздних версиях нажатие на файл сертификата больше не приводит к его непосредственной установке. Откройте «Настройки» > «Безопасность» (или «Безопасность и конфиденциальность») > «Дополнительные настройки безопасности» > «Шифрование и учетные данные» > «Установить сертификат» > «Сертификат центра сертификации». Нажмите «Установить всё равно» в окне предупреждения о безопасности, подтвердите действие с помощью PIN-кода или отпечатка пальца и выберите загруженный файл getssl.crt из папки «Загрузки».

Как подключить Charles Proxy к мобильному прокси PXM2 4G/5G?

В Charles перейдите в меню «Proxy» > «Настройки внешнего прокси». Установите флажок «Использовать внешние прокси-серверы», выберите «Веб-прокси (HTTP)» и «Безопасный веб-прокси (HTTPS)», введите имя хоста и порт прокси PXM2 (например, gate.pxm2.io:8000), установите флажок «Внешний прокси требует аутентификации» и введите свои учетные данные PXM2. Весь исходящий трафик с вашего устройства Android будет проходить через Charles для локальной проверки и выходить через реальные IP-адреса мобильного оператора.

Ознакомьтесь с руководствами по настройке языков программирования, операционных систем и платформ автоматизации в сети PXM2.

Руководства по платформам и ОС

Руководства для разработчиков и по автоматизации

Тестирование мобильных приложений с использованием реальных IP-адресов операторов 4G/5G

Объедините локальную отладку в Charles с использованием выделенных модемов сотовых операторов в более чем 40 странах. Неограниченный трафик, мгновенная смена конечных точек и отсутствие блокировок IP-адресов центров обработки данных.

Получить мобильный прокси