Содержание
Как сниффить HTTPS-трафик iOS-устройства / Хабр
Привет, меня зовут Андрей Батутин, я Senior iOS Developer в DataArt, и сегодня мы будем сниффить HTTPS-трафик твоего «Айфона».
FoodSniffer и с чем его едят
Возьмем, к примеру, очень простое iOS-приложение FoodSniffer. Оно в зависимости от времени дня показывает пользователю, что можно есть.
Приложение получает от сервера JSON вида:
[ { "name" : "soup", "consumePeriod" : "morning" }, … ]
Сервером в данном случае выступает Dropbox, а JSON можно посмотреть здесь.
Проблема №1
Пришел баг, что вместо двух элементов в списке разрешенной утром еды приложение показывает только один.
Один из способов проверить, что пошло не так, — увидеть JSON, который вам возвращает сервер.
Как сниффить трафик?
Предположим, что ваши MacOS-компьютер и iOS-устройство находятся в одной локальной сети, которая выглядит примерно так:
Трафик идет от iOS-устройства через роутер к серверу независимо от трафика компьютера.
Чтобы читать трафик iOS-устройства, нам нужно сделать так, чтобы он шел через наш Мac. Примерно так:
Кроме того, нам понадобится HTTP/S-прокси-сервер, с помощью которого мы бы и смотрели/модифицировали проходящий трафик iOS-устройства.
Еще одна очень важная задача — иметь возможность сниффить HTTPS-трафик. Загвоздка в том, что HTTPS-протокол и создавался, чтобы, кроме клиента и сервера, никто не мог прочесть, что передается в HTTPS-запросах. Поэтому HTTPS-прокси должен поставлять с собой еще и SSL-сертификат, который нужен для работы с HTTPS-трафиком.
Иными словами, нам нужно реализовать Man-in-the-Middle-атаку на нашу собственную сеть.
Charles Web Debugging Proxy Application
Как видим, сниффить HTTPS-трафик — задача многоэтапная, поэтому чтобы максимально упростить себе жизнь, я использую Charles Proxy.
Начнем с минусов:
- Он платный, но единственное ограничение которое есть в пробной версии — Charles работает не дольше 30 минут, потом его надо перезапускать. Еще есть пятисекундные задержки при запуске. Это раздражает, но жить можно.
- Если вам нужен подлинный хакерский инструмент для работы на удаленном сервере 24/7, да еще с нормальным CLI, Charles не для вас.
- Если вы работаете на Windows, вам лучше взять Fiddler, он еще и бесплатный.
- Если вам нужен прокси-сервер для большого количества устройств (больше двух-трех), Charles не для вас.
- Если вам нужно работать с TCP/IP-пакетами в чистом виде, возьмите Wireshark.
Теперь плюсы:
- User-Friendly UI. Charles не требует никаких специальных знаний ни для установки, ни для настройки, ни для использования. Обычное MacOs оконное приложение.
- HTTPS for iOS — у Charles есть набор инструментов, которые делают HTTPS-сниффинг с вашего iOS-устройства максимально простым в настройке.
- Функционал — Charles может сниффить, модифицировать проходящий через него трафик, имитировать медленный интернет, собирать статистику, импорт/экспорт трафика в различных форматах.
- Доступен для Windows и Linux.
Для меня это оптимальное решение по соотношению функционала и простоты в использовании при работе с iOS-устройствами.
Настройка Charles и iOS-устройства
Далее будет описана процедура первоначальной настройки iOS-устройства для работы с Charles Proxy.
1. Запустить Charles на компьютере:
2. Установить Charles Root Certificate на iOS устройстве:
В меню выбираем Help -> SSL Proxing — > Install Charles Root Certificate on Mobile Device or Remote Browser.
Появится следующее окно:
3. В настройках сети iOS-устройства указываем IP и порт Charles Proxy:
В зависимости от архитектуры вашей сети IP-адрес, на котором работает Charles, может отличаться.
4. Открываем браузер на iOS-устройстве и переходим по ссылке — http://chls.pro/ssl.
5. Устанавливаем Charles SSL-сертификат на устройство:
6. Указываем в настройках устройства, что полностью доверяем данному сертификату:
Шестой этап нужен для устройств с iOS 10 и выше.
На 5–6-м этапах мы установили на устройство Charles SSL-сертификат и указали, что мы ему доверяем. Т. е. теперь весь HTTPS-трафик, подписанный этим сертификатом, не будет блокироваться ATS.
Как смотреть трафик iOS-устройства
Откройте приложение FoodSniffer. Если настройка прокси была сделана правильно, то вы должны увидеть такой экран:
В Charles Proxy откройте в меню Tools -> No Caching.
И полностью выключите кэширование на прокси-сервере.
В приложении реализован Pull-to-refresh, после обновления списка продуктов вы должны в Charles увидеть https://www.dropbox.com в списке с левой стороны. Нажмите правой кнопкой мыши на него и выберите Enable SSL Proxing.
После этого еще раз обновите список продуктов в приложении. Теперь вы должны увидеть примерно такую картину:
Теперь мы можем свободно читать HTTPS-трафик, который идет от приложения на Dropbox за нашим JSON.
Но это еще не все!
Dropbox не отдает JSON c хоста dropbox.com напрямую. Вместо этого он возвращает 302-респонс и редиректит еще на один хост, с которого и происходит загрузка данных.
Найти его можно, просмотрев Raw Response следующего запроса:
В данном случае это —
uc9c29db95802af8490afc3afda9.dl.dropboxusercontent.com.
У вас, скорее всего, будет немного другой хост.
Затем включаем для него SSL Proxing: Enabled.
Обновляем FoodSniffer еще раз.
И теперь мы наконец можем увидеть реальный JSON, который и показывает приложение!
Мы видим, что у нас есть всего один тип еды на вечернее время — виски, пишем об этом нашему тимлиду и идем пить кофе, проблема не на нашей стороне.
*В проекте применяется уже исправленный JSON, с двумя типами еды на вечер: пивом и виски.
*Если вы не видите хост http://uc9c29db95802af8490afc3afda9.dl.dropboxusercontent.com или похожий на него в списке в левой части окна, попробуйте обновить список продуктов в приложении несколько раз.
Проблема № 2, или Как изменять HTTPS-трафик iOS-устройства
Бэкенд-команда исправила меню на вечер, и теперь JSON формируется правильно. Но что делать, если сейчас утро, а ждать до вечера, чтобы проверить фикс, не хочется?
Один из вариантов — с помощью Charles изменять JSON, который вам приходит в ответ от Dropbox.
В данном случае нам нужно изменить consumePeriod с evening на morning.
Для этого в меню выбираем Tools -> Rewrite.
В появившемся окне Rewrite Settings добавляем новую категорию для перезаписи — dropbox.
Добавляем хост, указывая https-порт в Edit Location меню:
После этого добавляем правила перезаписи в Rewrite Rule меню следующим образом:
Т. е. теперь в каждом Body респонса от нашего сервера слово evening будет заменено на слово morning.
При необходимости мы можем менять любую часть HTTP-запроса/ответа, плюс использовать regex-выражение для замены текста.
Теперь, обновив список, мы должны увидеть четыре типа продуктов:
Вывод
Charles довольно простой, условно-бесплатный, обладает богатым функционалом HTTPS-прокси. С моей точки зрения, он лучше всего проявляет себя при работе с MacOS и iOS-устройствами.
Это далеко не единственный способ сниффить трафик. Для HTTP/S-трафика широко применяют и Fiddler. Если вам нужно уйти глубже в TCP/IP-стэк — есть Wireshark.
Кроме того, существует проблема certificate pinning. Если в вашем приложении он реализован, вам надо либо добавлять Charles SSL-сертификат в список разрешенных сертификатов, либо использовать такое средства, как Frida, чтобы отключить certificate pinning уже на уровне самого приложения. Об этом подробнее надеюсь рассказать в следующей статье.
Буду рад, если вы поделитесь вашим опытом в мониторинге трафика, в том числе HTTP/S, советам и лайфхаками.
Примечание. Используйте эту технику только для своих приложений, пожалуйста. Будьте белыми зайчиками хакерами!
Примечание 2. Недавно история об этом выходила на украинском, но по-русски я ее публикую впервые.
Установка Charles (Windows, Mac, Ios, Android) ~ детальная настройка и сбой при захвате HTTPS-запросов ~
Установка Charles (Windows, Mac, Ios, Android) ~ детальная настройка и сбой при захвате HTTPS-запросов ~
Адрес для скачивания: https://www.charlesproxy.com/download/
Загрузка в соответствии с моделью вашего компьютера ~
Загрузите и установите ~
Charles — это платное программное обеспечение, оно бесплатно в течение 30 дней и может быть использовано после истечения срока действия, но только 30 минут заставит клиента закрыться.
Напишите шаг крэка позже!
Windows:
Help --> SSLproxying --> Install Charles Root Certificate
Появится окно
Нажмите, чтобы установить сертификат
Следуйте инструкциям и нажмите ОК ~
Mac:
Если вы работаете в системе Mac, вы можете выполнить настройку сертификата следующим образом.
также является щелчком
Help --> SSLproxying --> Install Charles Root Certificate
Вы можете перейти на страницу установки сертификата. Затем найдите сертификат Чарльза и дважды щелкните его. Установите для параметра «Доверие» значение «Всегда доверять».
ios:
Мобильный телефон — это система ios. Вы можете настроить сертификат в соответствии со следующими операциями.
Сначала проверьте, включен ли агент Чарльза на компьютере
Help --> SSLproxying --> Install Charles Root Certificate on a mobile device or remote Browser
Поместите мобильный телефон и компьютер в одну и ту же локальную сеть и вручную измените прокси мобильного телефона на порт ip +, обведенный на рисунке выше.
После завершения настройки компьютер выведет окно с вопросом, доверяете ли вы этому устройству. Просто нажмите «Разрешить». В этот момент компьютер и мобильный телефон подключены к одной локальной сети, то есть Чарльз может перехватывать пакеты данных, проходящие через приложение.
Затем установите сертификат Чарльза HTTPS.
Откройте мобильный браузер и перейдите по следующему URL-адресу, чтобы загрузить сертификат безопасности
chls.pro/ssl
После загрузки вам необходимо включить переключатель полного доверия сертификата в Настройки-> Общие-> Об этом компьютере-> Настройки доверия сертификата.
Android:
Если это Android, вы можете выполнить настройку сертификата в соответствии со следующими операциями
Так же, как ios, вам нужно настроить процесс ip + port.
Сертификат будет воспроизводить имя для сертификата, просто выберите имя для подтверждения
Настроил, после загрузки сертификата
proxy --> ssl proxy settings..
Английское значение здесь означает, что вы должны установить порт ip, в противном случае я не могу прокси, поэтому, если вы не знаете, установите *.
Просто добавьте к нему «*» ~~
Нажмите ОК. Чарльз настроен. Давайте поговорим о процессе взлома.
https://www. zzzmode.com/mytools/charles/
Скачивайте сами, основываясь на номере вашей версии
Приведенное выше имя является произвольным!
После загрузки в локальный файл xxx.jar
Замените путь установки Charles
charles.jar
Файл к
Конечно, имя, которое вы скачали, также должно быть изменено на это имя! ! !
Если это полезно для вас, не забудьте собрать ~~~ Спасибо за просмотр
Интеллектуальная рекомендация
Общие переменные в потоке (1)
Что касается совместного использования переменных в области действия потоков, этот тип сценария приложения не используется в реальной разработке, но он имеет большие преимущества в понимании и углубле…
Выпущен новейший IoT-модуль Digi серии XBee3
(http://www.bitconn.com/form_1/После регистрации купите модуль XBee, отправьте оценочную USB-плату и соответствующие материалы на китайском языке или подайте заявку на бесплатный оценочный комплект) D…
Как работает цикл событий в браузере / nodeJS
Как мы все знаем, одна из самых больших функций JS — однопоточная. Это означает, что если команда выполняется сверху вниз в JS, если предыдущая команда занимает слишком много времени, появится состоян…
Расширенное использование SQL
Продолжение предыдущего «Основного применения SQL»:https://blog.csdn.net/weichi7549/article/details/98478335 Таблицы базы данных, используемые в следующих примерах: Таблица веб-сайтов: таб…
Меню выпадения ответов jQuery
…
Вам также может понравиться
Домашнее задание 2010 года Любимое Galgame рекомендуется
2009-2010 годы почти китайские работы в выброшении Группа GAL Hanhua также возникает весной. Оригинальный блог — первым, кто порекомендует Gal Game. Напишите рекомендационную статью в конце 2010 года….
[Android] Использование Android Studio (8) — // Код TODO
Во-первых, предыдущий Серия статей Android Studio, в основном объясняющая, как использовать эту IDE, оригинальный релиз и блог-сад, просьба поддержать оригинального автора. Во-вторых, оригинал Первоис. ..
Простой способ вступить в силу сразу после изменения git .gitignore
Есть много способов изменить .gitignore, чтобы они вступили в силу в Интернете, например очистить кеш, отслеживаемый .gitignore, или даже очистить глобальный кеш. Вот простой и эффективный метод. Прин…
TP6 Сторонний пакет расширения файловых систем
1. Установка Официальный сайт:https://gitee.com/thans/thinkphp-filesystem-cloud Два: добавить конфигурацию в config/filesystem.php Три: начинать использование (FileSystem :: Disk(‘public’)Изменить на …
День 2 Резюме — Оператор, если утверждение и вложенное
Оператор Оператор: оператор данных, оператор сравнения, логический оператор, оператор назначения Сравнить оператор > ,<,==,!=,>=,<= Все результаты всех операторов логически Логические опер…
Аналоги Charles — 7 похожих программ и сервисов для замены
Аналоги Charles — 7 похожих программ и сервисов для замены
166
Fiddler
Fiddler — прокси-сервер, который регистрирует весь трафик HTTP (S) между вашим компьютером и интернетом.
- Бесплатная
- Windows
Fiddler — это прокси-сервер, который регистрирует весь HTTP (S) трафик между вашим компьютером и интернетом. Fiddler позволяет вам проверять весь трафик HTTP (S), устанавливать так называемые точки разрыва, отслеживать входящие или исходящие данные. Fiddler включает мощную подсистему сценариев, и может быть расширена с использованием любого языка платформы .NET.
39
mitmproxy
mitmproxy — это поддерживающий SSL посредник для HTTP.
- Бесплатная
- Windows
- Mac OS
mitmproxy — это поддерживающий SSL посредник для HTTP. Он предоставляет консольный интерфейс, который позволяет проверять и редактировать потоки трафика на лету. Он также включает в себя mitmdump, инструмент командной строки, который предоставляет tcpdump-подобный интерфейс для сохранения, просмотра и манипулирования HTTP-трафиком.
21
Zed Attack Proxy
Zed Attack Proxy (ZAP) — это простой в использовании интегрированный инструмент для тестирования на проникновение для поиска уязвимостей в веб-приложениях.
- Бесплатная
- Windows
- Mac OS
Zed Attack Proxy (ZAP) — это простой в использовании интегрированный инструмент тестирования на проникновение для поиска уязвимостей в веб-приложениях.
14
apptalk. ninja
Приложение и инструмент диагностики связи устройства для лучшего отслеживания ошибок и обеспечения качества.
- Условно бесплатная
- iPhone
apptalk.ninja — это отличный, простой в использовании инструмент для разработчиков приложений, который отслеживает и устраняет проблемы с коммуникацией своих приложений по беспроводной сети.
11
HttpFox
HttpFox отслеживает и анализирует весь входящий и исходящий трафик HTTP между браузером и веб-серверами.
- Бесплатная
- Windows
- Mac OS
HttpFox отслеживает и анализирует весь входящий и исходящий HTTP-трафик между браузером и веб-серверами.
10
NetworkMiner
NetworkMiner — это инструмент перехвата и анализа сетевого трафика (NFAT) для Windows.
- Условно бесплатная
- Windows
NetworkMiner — это инструмент перехвата и анализа сетевого трафика (NFAT) для Windows. NetworkMiner может использоваться в качестве пассивного сетевого анализатора / инструмента захвата пакетов, чтобы обнаруживать операционные системы, сеансы, имена хостов, открытые порты и т. д., не помещая трафик в сеть. NetworkMiner также может анализировать файлы PCAP для автономного анализа и для регенерации / повторной сборки переданных файлов и сертификатов из файлов PCAP.
2
James
James — это HTTP-прокси, который позволяет разработчикам просматривать и перехватывать запросы.
- Бесплатная
- Windows
- Mac OS
James — это прокси-приложение для веб-отладки.
настраиваем проксирование трафика с устройства
В первой статье мы ознакомимся с подробной настройкой Charles на ПК и устройствах, а в следующей — рассмотрим практически все возможности данного инструмента.
Хотя в сети очень много информации о данном инструменте и многим его представление покажется лишним, но для себя открыл много полезного при более глубоком ознакомлении.
Сначала рассмотрим что это такое, а после — настроим этот необходимый для любого QA-инженера инструмент.
Что ты такое, Charles?
Charles — инструмент для мониторинга HTTP/HTTPS трафика.
Работает он как прокси-сервер между веб / мобильным приложением и сервером. Другими словами — анализатор трафика или сниффер.
“Сниффинг — процесс мониторинга и перехвата всех пакетов, проходящих через сеть, с помощью инструментов сниффинга (OWASP ZAP, Fiddler, Charles Proxy и свежий боец - Proxyman).
Из плюсов можно выделить:
- наблюдение за всем трафиком приложения (решается проблема клиентских логов, особенно для iOS приложений)
- модификация трафика (подмена ответа от сервера, воспроизведение «сложных» кейсов и прочее)
- позволит не подключать мобильное устройство к VPN, достаточно только VPN на ПК (актуально в условиях текущей работы, удаленной)
Как наглядно это выглядит:
Установка Charles
На установке мы можем надолго не останавливаться, так как тут все стандартно.
Charles доступен на всех популярных ОС: macOS, Windows, Linux
Данный инструмент — платный (50$ / шт.), в бесплатной версии ограничение — 30 дней и каждые полчаса — надоедливое окно с напоминанием о покупке лицензии.
Настройка Charles
С настройкой клиента Charles и устройств дела обстоят куда хуже, чем просто с установкой, но мы с этим справимся 👀
Клиент Charles
После запуска мы проверяем данные адреса ПК:
- В Charles смотрим свой IP: “Help” — “Local IP Address”
- Проверям порт (по умолчанию — 8888): “Proxy” — “Proxy Settings” (“HTTP Proxy” — “Port”)
“Help” — “Local IP Address”
IP и порт где-нибудь фиксируем, чтобы ввести эти данные на наших устройствах, с которых мы будем транслировать трафик.
Android устройства
Проксируем трафик с Android:
- Настройки системы > Сеть и интернет > Wi-Fi > выбираем сеть, к которой подключен ПК > Клик на иконку шестеренки напротив данной сети > Изменить > Расширенные настройки > Прокси-сервер > Вручную:
Имя хоста прокси-сервера: IP Вашего ПК, это то, что я попросил зафиксировать выше 🥸
Порт прокси-сервера: порт Charles (8888 или какой у вас установлен)
Эмулятор ANDROID
На эмуляторе достаточно ввести IP и порт в настройках самого эмулятора:
- “Settings” — “Proxy” — выбрать “Manual proxy configuration” и заполнить “Host name”, “Port number”
На некоторых эмуляторах необходимо настраивать аналогично реальному устройству:
- Настройки системы > Сеть и интернет > Wi-Fi > выбираем сеть, к которой подключен ПК > Клик на иконку шестеренки напротив данной сети > Изменить > Расширенные настройки > Прокси-сервер > Вручную
iOS устройства
Проксируем трафик с iOS:
- Настройки системы > Wi-Fi > выбираем сеть, к которой подключен ПК > Клик на иконку инфо (i) > Настройка прокси > Вручную:
Сервер: IP Вашего ПК (192. 168.1.2)
Порт: порт Charles (по умолчанию — 8888)
Chrome (macOS)
Направить трафик с Chrome в Charles можно следующим образом:
- Должен быть включен macOS Proxy (“Proxy” — “macOS Proxy”)
- В Настройках Chrome найти настройки прокси
- В настройках сети автоматически подставится нужный IP и порт с Charles
Установка сертификатов
После установки и настройки, которую мы произвели выше — Вам необходимо поставить сертификаты на ПК и мобильное устройство:
- на ПК ставим сертификат: “Help” > “SSL Proxying” > “Install Charles Root Certificate”
- на мобильном устройстве переходим по урлу: http://chls.pro/ssl или http://charlesproxy.com/getssl и устанавливаем сертификат
- для iOS после выбора “Разрешить” нужно перейти в настройки устройства:
— “Основные” — “Профили и управление устройством” — выбираем нужный сертификат и нажимаем “Установить”.
— После этого разрешить использование сертификата в меню: “Основные” — “Об этом устройстве” — “Доверие сертификатам” — включаем свитч напротив нужного профиля
- для iOS после выбора “Разрешить” нужно перейти в настройки устройства:
Включение проксирования трафика
После настройки прокси на устройстве и в самом Charles необходимо включить запись и проксирование SSL трафика
Далее необходимо включить SSL Proxy для нужного нам хоста, это можно сделать следующим образом:
- на нужном нам запросе вызвать меню и нажать “Enable SSL Proxy”
- через меню “Proxy” — “SSL Proxy Settings”, где вручную Вам нужно будет ввести “Host” и “Port”
Теперь Вы сможете видеть трафик с устройства на Вашем ПК
В следующей статье рассмотрим практически все возможности данного сниффера.
Charles Proxy Перехват трафика
Всем привет! Ни у кого не было проблем с charles
React — русскоговорящее с…
Binance Russian
Android Developers
Python
Vue.js — русскоговорящее …
supapro.cxx
GNU/Linux Help
DotNetRuChat
Telegram Developers
Node. js — русскоговорящее…
DevOps — русскоговорящее …
JavaScript Noobs — сообще…
Django [ru]
Go-go!
Angular — русскоговорящее…
phpGeeks
Kubernetes — русскоговоря…
Laravel Pro
pgsql – PostgreSQL
iOS Developers — русского. ..
Смотреть еще
и симулятором на ios 15? Сертификаты все есть, трафик чарлик не видит
russian
programming
software
it
ios
3
ответов
Похожие вопросы
У меня есть проект, над которым я работал в версии xcod 12.5. Могу ли я запустить этот проект в версии xcode 14? Потому что я пробовал, и он показывает ошибку, но когда я запу…
it
software
russian
programming
ios
Что из этого лучше всего подходит для программирования?
it
software
russian
programming
ios
Чем заниматься в 16 лет если имеешь уже неплохой уровень чтобы устроиться на Джуна?
it
software
russian
programming
ios
Согласны ли вы с утверждением, что SwiftUI — простой способ верстки UI приложения который проще UIKit?
it
software
russian
programming
ios
Решил почистить диск, стер с помощью дисковой утилиты стандартной (когда при старте зажимаешь тач айди) и после бесконечный активити и ничего не происходит. никто не сталкивал…
it
software
russian
programming
ios
Привет всем, на каждую новую програмку Apple даёт неделю буста? Тобишь если я удалю существующюю апку, и опять залью её, то меня опять бустанет?
it
software
russian
programming
ios
Ребят, подскажите плз, как в XCode сделать сплэш скрин приложения адаптивным?
Залиты 1x, 2x, 3x изображения для сплэша, но видимо настройки какие-то не те, уезжает в левый ве. ..
it
software
russian
programming
ios
А сам подумай, лучше написать один раз или 10?
it
software
russian
programming
ios
Всем доброго времени суток!
Меня зовут Сергей.
На данный момент в it области не работаю, изучаю направления для обучения и перехода в разработку.
Заинтересовала мобильная раз…
it
software
russian
programming
ios
Всем привет!
Почему звук (сделано как в Яндекс такси при новом заказе) работает на симуляторе, а на устройстве нет?
Как это пофиксить?
it
software
russian
programming
ios
Смотреть еще
Charles Proxy — как увидеть исходящие и входящие данные мобильных приложений
Содержание:
- Шаг 1. Установите Charles Proxy на ваш компьютер
- Шаг 2. Откройте Charles Proxy для начала сессии
- Шаг 3. Найдите IP-адрес и номер порта вашего компьютера
- Шаг 4. Настройте ваш телефон для использования Charles Proxy
- Шаг 5. Разрешите соединения к Чарльзу
- Шаг 6. Установите на ваш телефон корневой сертификат
- Шаг 7. Включите проксирование SSL для всех хостов
- Шаг 8. Изолируйте трафик телефона от трафика других устройств
- Шаг 9. Проанализируйте результаты
- Не удается заставить некоторые приложения работать на вашем телефоне?
- Когда закончите — удалите все, что не нужно
Если вы используете мобильное устройство, то ставим 100 баксов, что ваши приложения пересылают довольно много разной информации на их сервера и обратно. Чтобы убедиться в отсутствии ненадлежащего сбора данных, стоит настроить веб-прокси для отслеживания всего трафика, чтобы совершенно точно знать, какие приложения «звонят домой» и когда.
С установленным прокси-сервером вы сможете анализировать все, что отправляют и принимают приложения для Android или iOS. Вы сможете даже мониторить любой зашифрованный трафик, отправляемый по HTTPS. Веб-прокси действует практически так же, как «Человек-по-Середине», позволяя вам видеть все, что происходит. С его помощью вы получите представление о том, какие приложения следует удалить.
В конце концов, мы не знаем, какого рода сбор данных случится в следующее мгновение. Это может быть все что угодно — от данных о том, сколько времени вы проводите перед телефоном, до необработанных данных датчиков вашего телефона. Такую информацию компании собирают достаточно часто либо для внутренней аналитики, либо для продажи на сторону. Поэтому резонно предположить, что существует какая-то информация, которой вы не хотели бы делиться.
Шаг 1. Установите Charles Proxy на ваш компьютер
Наш любимый инструмент для анализа HTTP-трафика — это Charles Proxy. Он доступен для всех современных операционных систем (Linux, MacOS, Windows). Бесплатную 30-дневную пробную версию вы можете скачать на сайте charlesproxy. com/download. По завершении пробного периода вам предложат купить лицензию, стоимость которой составляет 50 долларов.
Charles — это чрезвычайно мощный инструмент, не только для анализа трафика приложений, но и для любых видов анализа и отладки веб-приложений. Поэтому если вы занимаетесь мобильной разработкой, то это будет хорошая инвестиция. Если вы просто хотите посмотреть, что происходит с приложениями на вашем смартфоне или планшете, то бесплатной пробной версии будет достаточно. Только имейте в виду, что бесплатная пробная версия ограничена 30-минутными сеансами, поэтому вам нужно будет закрывать и перезапускать Charles каждые 30 минут.
После загрузки файла MSI, DMG или TAR.GZ откройте его и следуйте инструкциям по установке. Charles устанавливается точно так же, как и любое другое приложение, которое вы устанавливаете из сжатого файла.
Шаг 2. Откройте Charles Proxy для начала сессии
После установки Charles откройте его. Если вы используете macOS (ранее Mac OS X), то для правильной работы этого приложения вам необходимо предоставить ему разрешение изменения системных сетевых настроек. Вы можете сделать это позже, но в момент установки сделать это проще — просто нажмите на кнопку «Предоставить привилегии». Вам нужно будет ввести для этого пароль.
В системе Windows вам необходимо «Разрешить доступ» в появившемся предупреждении системы безопасности Windows. Просто следуйте инструкциям, показанным ниже (оставьте опцию «Private» выбранной, а «Public» соответственно нет). Вам может потребоваться ввести пароль администратора для сохранения ваших настроек.
Когда Charles запустится, он сразу же начнет запись сессии. Сначала вы увидите трафик вашей локальной машины. Вы можете развернуть имя хоста, чтобы просмотреть подробные сведения о каждом HTTP-запросе. Там есть различные панели для проверки заголовков, файлов cookie, JSON и данных формы.
Вы можете заметить, что информация недоступна для хостов с использованием HTTPS. Это связано с тем, что HTTPS-трафик использует криптографический протокол под названием Transport Layer Security для шифрования данных между серверами и пользователями. К счастью, Charles предоставляет нам возможность устанавливать и доверять корневому SSL-сертификату, уникальному для каждой установки. Он позволит нам видеть HTTPS-данные в виде простого текста.
Шаг 3. Найдите IP-адрес и номер порта вашего компьютера
Определенные шаги по настройке вашего браузера и операционной системы для маршрутизации трафика через Charles будут отличаться в зависимости от того, что именно вы используете. Если вы хотите использовать Charles для проверки веб-трафика из вашего браузера, то мы рекомендуем посетить страницу документации Charles по этой теме.
Для наших целей мы хотим проверить трафик, поступающий со смартфона, поэтому мы начнем с настройки iPhone, чтобы он использовал наш компьютер с запущенным Charles Proxy, как прокси-сервер.
Сначала на компьютере, на котором работает Charles, выберите «Справка» в меню, затем меню «SSL Proxying» и выберите «Install Charles Root Certificate on a Mobile Device or Remote Browser».
Вы увидите диалоговое окно, подобное указанному на скриншоте, которое предоставляет IP-адрес и порт для машины, на которой работает Charles:
Шаг 4.
Настройте ваш телефон для использования Charles Proxy
На iPhone перейдите к меню «Wi-Fi» в приложении «Settings», затем убедитесь, что он находится в той же сети, что и Charles. Нажмите значок информации рядом с подключенной сетью, а затем прокрутитесь вниз и выберите «Configure Proxy». Выберите строку «Manual» и введите номера сервера и порта из последнего диалогового окна, которое выдал вам Charles. Нажмите «Сохранить», чтобы закончить.
Для телефонов на Android процесс немного отличается в зависимости от версии OEM и программного обеспечения. Как правило, вы открываете настройки Wi-Fi, нажимаете и держите меню общей сети. Затем нужно выбрать что-то вроде «Управление сетевыми настройками» или «Изменить сеть» или значок карандаша. Найдите отображение дополнительных параметров, а затем откройте настройки «Прокси» и вручную введите номера серверов и портов, которые Charles дал вам раньше. Не забудьте нажать на «Сохранить», чтобы закончить.
Теперь ваш смартфон настроен на маршрутизацию HTTP-трафика через Charles Proxy.
Шаг 5. Разрешите соединения к Чарльзу
Когда ваш смартфон будет подключен к Charles, то вы на вашем компьютере увидите диалоговое окно, предупреждающее вас о том, что Charles получил входящее соединение. Выберите «Разрешить». Если вы вдруг случайно запретите входящее соединение, то для того, чтобы еще раз получить это приглашение, вам придется перезапустить Charles.
Шаг 6. Установите на ваш телефон корневой сертификат
С помощью веб-браузера на вашем смартфоне перейдите на chls.pro/ssl.
На iPhone вы сразу же получите запрос с просьбой разрешить сайту показывать вам профиль конфигурации. Нажмите «Разрешить». После этого вы попадете на экран Install Profile для Charles Proxy CA. Нажмите «Установить», вас перенаправят на страницу предупреждения. Нажмите «Установить» еще раз, и еще раз на всплывающем окне. Наконец, нажмите «Готово», чтобы закончить.
Если вы находитесь на iOS 10 или выше, то вам также придется посетить «Общие» в приложении «Settings». Выберите меню «About», а затем «Certificate Trust Settings» ниже. В разделе «Enable Full Trust for Root Certificates» нажмите на слайдер, расположенный рядом с CA Charles.
На Android-устройстве файл попытается немедленно загрузиться на ваше устройство. Если этого не произошло, то вы можете получить приглашение для его загрузки и тогда вам нужно нажать на «Скачать». После загрузки введите ваш PIN-код или отпечаток пальца. После этого откроется окно сертификата, в котором вам нужно назвать сертификат чем-то вроде «Charles Proxy CA». Нажмите «ОК», когда закончите.
Обратите внимание, что для установки сертификата из Charles Proxy вам необходимо выключить блокировщики рекламы, работающие на основе DNS. Кроме того, в дальнейшем при анализе данных включение вашего блокировщика рекламы будет только маскировать трафик, поэтому лучше оставить его выключенным, пока вы используете Charles.
Теперь, когда у вас установлен сертификат, вы сможете в Charles увидеть зашифрованные HTTPS-данные в виде простого текста, а не только данные HTTP, просматриваемые без сертификата.
Шаг 7. Включите проксирование SSL для всех хостов
Мы пока не закончили. Еще один шаг перед просмотром всех данных, поступающих из приложений. Вам нужно включить в Charles SSL-проксирование для всех хостов. Перейдите в меню «Proxy», затем выберите «SSL Proxying Settings».
Когда параметры появятся, нажмите кнопку «Add» на вкладке «SSL Proxying». Когда появится окно «Edit Location», просто нажмите «ОК» или вручную введите * (одну звездочку) в поле «Host» и нажмите «ОК». Это подстановочный знак, который означает, что настройки применяются ко всем хостам. Если оставить поле Host пустым, то поле само создаст подстановочный знак.
Для сохранения изменений в окне настроек SSL Proxying обязательно нажмите «ОК». И теперь, когда вы все настроили, откройте приложение на вашем смартфоне и посмотрите, какие данные он отправляет!
Шаг 8. Изолируйте трафик телефона от трафика других устройств
В зависимости от того, какой веб-трафик генерируется на машине, на которой работает Charles, трудно будет сказать, какие запросы поступают от вашего телефона. Charles автоматически изменит ваши сетевые настройки в целях маршрутизации HTTP-трафика на вашем компьютере через прокси-сервер, но довольно просто изменить это поведение вручную так, чтобы можно было видеть только трафик с вашего телефона.
В macOS вы можете изменить это в «System Preferences». После этого перейдите в раздел «Network», затем «Advanced», а на вкладке «Proxies» снимите флажки с «Web Proxy (HTTP)» и «Secure Web Proxy (HTTPS)». Charles автоматически будет изменять эти настройки всякий раз, при своем запуске, поэтому вам нужно будет повторять эти шаги каждый раз, когда вам нужно будет изолировать трафик телефона.
В настройке Windows вам необходимо открыть «Settings». Затем выберите «Network & Internet», затем «Proxy». Находясь там же, прокрутитесь вниз до Manual proxy setup, затем переключите слайдер «Use a proxy server». В отличие от Mac, вам не придется делать это каждый раз после перезапуска Charles.
Шаг 9. Проанализируйте результаты
Мы решили проверить это на том, чем пользуемся очень часто. Решили выбрать Strava — это мобильный фитнес-трекер, который позволяет пользователям записывать и загружать данные для тренировок. Когда мы открываем Strava на нашем смартфоне, мы видим несколько хостов, т.е. доменов, отображенных в левой панели в Charles.
Раскрыв любой из них, можно просмотреть его содержание в панели «Contents» справа. Там вы можете точно узнать, какую информацию эти приложения отправляют производителям и третьим лицам. Мы распознали в одной из записей Strava широко используемую платформу аналитики и решил проверить ее.
Мы не станем здесь публиковать всю полезную нагрузку, но там была действительно подробная информация, включая имя, местоположение, носитель беспроводной связи, адрес электронной почты и даже некоторые рекламные категории, которые нам демонстрировались. В том, сколько информации о нас собирают приложения, установленные на наших мобильниках, нет ничего удивительного. Другое дело, что интересно было все это увидеть в открытом виде, как простые текстовые файлы.
Следите за запросами к известным приложениям от аналитических компаний. Некоторые из наиболее популярных — это Segment, Fabric, Flurry и Firebase. Провайдеры рекламы также получают довольно большой объем отслеживаемых данных и это тоже повод посмотреть на содержание этих данных. Определить их можно по имени хоста.
По большей части, данные, отправляемые и принимаемые приложениями, обычно безобидны. Например, все, что идет на адреса вроде api.appname.com, как правило, является функциональными данными, необходимыми для работы приложения. Рассмотрение этих запросов может дать вам понимание того, как работает приложение. И это хорошая отправная точка. Она позволяет вам убедиться, что никто не «звонит домой», передавая данные, которыми вы не хотите делиться.
Не удается заставить некоторые приложения работать на вашем телефоне?
Многие приложения реализуют привязку сертификата SSL, что означает, что они специально проверяют корневой сертификат и не будут восприимчивы к атакам типа «Человек-по-Середине». В нашем случае сертификаты проверяет настоящий API Strava, но третьи лица, получающие нашу информацию — нет.
Если вы попробуете использовать приложение на вашем телефоне и оно не будет загружаться или работать должным образом, то, вероятно, оно реализует привязку SSL-сертификата, поэтому вы и не можете увидеть предназначенный для него веб-трафик. Многие приложения от Apple и Google используют этот уровень безопасности, поэтому сторонние приложения — это всегда кандидаты номер один на проверку такого рода, поскольку именно они, скорее всего, будут делать всякие теневые штуки с вашими данными.
Когда закончите — удалите все, что не нужно
После того как вы закончите анализ трафика мобильных приложений на вашем смартфоне, вы должны удалить установленный сертификат. Не стоит оставлять на вашем устройстве дольше, чем вам нужно, сертификат, который использовался для реализации атаки «Человек-по-Середине». Также стоит удалить настройки прокси.
На iPhone, чтобы удалить сертификат, перейдите в «General» в «Settings», затем в самом низу выберите «Profile». Затем нажмите профиль конфигурации «Charles Proxy CA» и нажмите «Remove Profile». Нажмите «Remove» для подтверждения. Чтобы остановить прокси-сервер, выберите «Wi-Fi» в «Settings», нажмите «Wi-Fi network», выберите «Configure Proxy», затем переключите слайдер в «Off», а затем нажмите «Save».
Для всех пользователей Android процесс будет отличаться в зависимости от вашего устройства. Выберите «Security & location» или «Lock screen and security» в «Settings», нажмите «Advanced» или «Other security settings», затем «Encryption & credentials» или «View security certificates». На стоковом Android’е вам также придется нажать «Trusted credentials». Теперь выберите вкладку «User», а затем нажмите «Charles Proxy CA». Нажмите «Remove», затем «ОК», чтобы удалить его. Что касается прокси-сервера, просто вернитесь к параметрам сети Wi-Fi и измените настройки прокси-сервера с «Manual» на «None».
Charles Proxy в App Store
Описание
Charles Proxy для iOS позволяет захватывать и проверять сетевые запросы и ответы на вашем устройстве iOS. Вы можете просматривать метаданные, заголовки и тело в приложении, чтобы, наконец, отлаживать сетевые проблемы вашего приложения без компьютера.
Charles Proxy для iOS — новое приложение от создателей Charles Proxy для ПК.
КАК ЭТО РАБОТАЕТ
Включите Чарльза, когда хотите начать захват. Чарльз фиксирует ваши сетевые запросы и ответы в фоновом режиме, пока вы тестируете свое приложение или веб-сайт. Вернитесь к Чарльзу, чтобы проверить запросы и ответы.
Если у вас также есть Чарльз на рабочем столе, вы можете перенести записанные сеансы на свой рабочий стол, чтобы просмотреть их на большом экране.
Чарльз создает локальную сеть VPN на вашем устройстве. Весь ваш сетевой трафик проходит через Charles на вашем устройстве, а затем, как обычно, выходит в Интернет через Wi-Fi или мобильные/сотовые данные. Удаленный сервер не задействован, и ваши данные всегда остаются для вас конфиденциальными.
ВОЗМОЖНОСТИ
* SSL-прокси для просмотра SSL-запросов в виде обычного текста
* Просмотр и совместное использование тел запросов и ответов
* Подсветка синтаксиса для текстовых тел запросов и ответов
* Измерение производительности сети через Wi-Fi или мобильные / сотовые сети
* Блокировка запросов к назначенным хостам
* DNS-спуфинг
000Z» aria-label=»September 27, 2020″> 27 сентября 2020 г.
Версия 1.4
Улучшения для iOS 13 и 14 включают совместимость с новым сертификатом SSL CA. Обновление OpenSSL 1.1.1n.
Рейтинги и обзоры
158 оценок
Не хватает только одного
Было бы здорово, если бы вы добавили ту же функциональность «фокуса», что и настольное приложение, сделали его любимым или чем-то, что вы можете выбрать конечные точки, которые всегда отображаются вверху, чтобы ускорить отладку во время кодирования, это единственный чего не хватает, чтобы сделать его 5-звездочным обзором.
Спасибо.
Приятно видеть, куда приложения отправляют ваш веб-трафик
Я не программист и не веб-разработчик. Но меня очень интересует личная конфиденциальность и информация, которую мои установленные приложения отправляют третьим лицам. Это приложение позволяет мне прослушивать интернет-запросы и ответы, поступающие с и на мой iPhone и iPad через HTTP, HTTPS и сотовые сети. Используя доменные имена и IP-адреса сетевого трафика, вы можете увидеть, что подавляющее большинство популярных приложений отправляют данные об устройствах (имя, устройство, календарь, местоположение, историю поиска и т. д.) во многие сторонние рекламные трекеры. Если вы хотите узнать, какие установленные приложения являются основными источниками цифрового наблюдения и отслеживания личной информации на вашем устройстве, скачайте это приложение.
Установка приложения заняла около 10 минут. Инструкции по настройке ясны и понятны, но для правильной работы приложения их необходимо точно соблюдать.
Большое спасибо команде CharlesProxy за перенос этого приложения на iOS и за то, что им так легко пользоваться.
Так удобно!
iOS-версия Charles является идеальным дополнением к настольной версии: она включается и выключается без вмешательства в настройки Wi-Fi, может захватывать данные сотовой связи и работает, даже когда вы находитесь вдали от своего ноутбука. Было бы здорово, если бы вы могли включать/выключать или очищать сеанс без переключения приложений, например, через Центр управления или Центр уведомлений.
Используйте настольную версию для более удобного просмотра и поиска файлов захвата, а также расширенных функций, таких как Map Remote или повторяющиеся запросы. Если вы застряли, есть отличная информация на веб-сайте Чарльза. Удачного розыска!
Разработчик, XK72 Limited, не предоставил Apple подробностей о своей политике конфиденциальности и обработке данных. Для получения дополнительной информации см. политику конфиденциальности разработчика.
Сведения не предоставлены
Разработчик должен будет предоставить сведения о конфиденциальности при отправке следующего обновления приложения.
Информация
- Продавец
- XK72 Лимитед
- Размер 5 megabytes»> 20,5 МБ
- Категория
Утилиты
- Возрастной рейтинг
- 4+
- Авторское право
- © 2019XK72 ООО
- Цена
- 8,99 $
Сайт разработчика
Тех. поддержка
Политика конфиденциальности
Опоры
Вам также может понравиться
Руководство по прокси-серверу
Charles для iOS
Что такое Charles Proxy?
Чарльз Прокси находится между вашим приложением и Интернетом. Все сетевые запросы и ответы будут проходить через Charles Proxy, поэтому вы сможете проверять и даже изменять данные в середине потока, чтобы проверить, как реагирует ваше приложение.
Как Charles Proxy работает с мобильными устройствами?
1. Установка Charles Proxy / Настройка прокси-сервера
a) Загрузите и установите Charles Proxy
Ссылка для скачивания — https://www.charlesproxy.com/
b) Откройте Charles Proxy
c) Для целей этого руководства по настройке вы будете использовать Charles Proxy в пробном режиме.
Единственным ограничением является то, что вам придется перезапускать Charles Proxy каждые 30 минут. Testlio предоставит лицензию, как только вы пройдете полное обучение и будете готовы участвовать в тестовом прогоне.
Получив информацию о лицензии от Testlio, вы можете зарегистрировать Charles Proxy следующим образом:
откройте Help в строке меню и нажмите0149 Зарегистрировать Чарльза . Для регистрации вам понадобится лицензионный ключ.
Чарльз Прокси перезапустится.
d) Отключите прокси-сервер Windows/Mac.
Строка меню > Прокси-сервер > удалить галочку перед Прокси-сервер Windows или Прокси-сервер Mac
После этого убедитесь, что следующие галочки сняты в разделе Прокси-сервер > Настройки прокси-сервера > Вкладка macOS (или Windows, если вы используете ПК)
Этот шаг очень важен, иначе весь трафик на вашем компьютере также будет маршрутизироваться через прокси-сервер Charles и включаться в ваши лог-файлы.
e) Найдите IP-адрес вашего компьютера в локальной сети
Windows, откройте командную строку и запустите ipconfig (видеоруководство)
Mac, откройте Системные настройки, Сеть, Активный сетевой адаптер
Запишите IP-адрес: ______ . ______ . ______ . ______
f) На устройстве iOS откройте Настройки сети
откройте Настройки Приложение
откройте Wi-Fi
→ нажмите на (i) для активного соединения Wi-Fi (названного qa5 в следующем скрин)
На следующем экране прокрутите вниз до самого низа и нажмите Configure Proxy >
. На следующем экране нажмите Manual
Введите IP-адрес вашего компьютера, на котором запущен Charles Proxy, указанный на шаге 1e в разделе Сервер и 8888 в качестве порта:
После этого нажмите Сохранить в правом верхнем углу.
(если запрос не появляется сам по себе, откройте Safari на телефоне и попробуйте открыть веб-сайт)
Нажмите ALLICE
2. Установка сертификата SSL на iOS
Open Safari на iPhone (или iPad)
Введите: CHLS. отображается:
Нажмите Разрешить
Откроется экран «Установить профиль»:
Нажмите Установите и введите код доступа при появлении запроса
Появится предупреждение:
Коснитесь Установите еще раз, затем нажмите Установить во всплывающем окне:
После этого должен появиться следующий экран с зеленой галочкой «Проверено»:
Нажмите Готово
Открыть Настройки Приложение
9 Открыть
9 О 9 на Настройки доверия сертификата :
Щелкните Настройки доверия сертификата >
Появится следующий экран:
Включите переключатель рядом с Charles Proxy CA (. ..)
Нажмите Продолжить в приглашении корневого сертификата
Убедитесь, что коммутатор включен и на нем виден зеленый фон .
На этом настройка iPhone/iPad завершена.
3. Настройка Charles Proxy для захвата журналов iOS
a) откройте Charles Proxy на своем компьютере и выберите «Прокси» > «Настройки SSL-прокси»
d) установите флажок «Включить SSL-прокси»
e) нажмите Добавить, чтобы добавить * в качестве хоста:
Поле Порт остается пустым .
Charles Proxy теперь полностью настроен и мы готовы собирать логи 👏
4. Сбор логов
а) Очистить текущую сессию в Charles, нажав на иконку Метла
б) если в данный момент не активна — Запустить Запись — при активации значка Запись
Если значок красный, запись активна и вызовы будут перехватываться. Теперь вы знаете, как записывать журналы Чарльза. 🙌
_________________________________________________________________________
Как пройти тест Charles Proxy?
Откройте предоставленный URL-адрес в собственном мобильном веб-браузере
Для проверки настройки Charles используйте ссылку, указанную на тестовой странице. Он указан в разделе «Ваша задача» — https://platform.testlio.com/sir-charles
После того, как вы откроете указанный URL-адрес, вы увидите страницу перенаправления и попадете на домашнюю страницу Testlio. Это означает, что вы можете остановить запись.
Остановить запись
Выберите «Файл» > «Экспорт сеанса» и выберите «Формат»: HTTP-архив (.har)
Загрузите файл .har на https://platform.testlio.com/sir-charles
Обратите внимание! Во время фактического тестирования журналы будут сохраняться в виде файлов charles. Для подтверждения установки мы используем тип файла .har.
Полезные советы
Очистите предыдущие журналы перед началом тестирования новых функций.
Чтобы установить или удалить сертификаты в системе iOS, следуйте руководству iGeeksBlog.
Когда ничего не помогает, перезагрузка как ПК, так и мобильного устройства может решить проблемы, но обязательно снова отключите прокси-сервер Windows / MacOS / прокси-сервер Mozilla Firefox.
Вы должны периодически обновлять свои сертификаты по мере истечения срока их действия.
Некоторые маршрутизаторы переназначают локальные IP-адреса, поэтому следует убедиться, что IPv4 не изменился.
Краткое руководство по Charles Proxy для разработки iOS
Charles — это прокси-сервер, который позволяет нам просматривать сетевой трафик между нашим приложением iOS и Интернетом.
Мы можем настроить симулятор iOS или устройство для передачи своих сетевых запросов и ответов через Charles Proxy, чтобы мы могли проверять и даже изменять данные в процессе тестирования и отладки.
Краткий обзор прокси
Прокси — это приложение, которое действует как посредник между клиентом, запрашивающим ресурс, и сервером, предоставляющим этот ресурс. Таким образом, вместо прямого подключения к серверу клиент направляет запрос прокси-серверу, который выполняет запрос, получает ответ и затем направляет ответ клиенту.
Прокси как посредник между клиентом и сервером.
При обмене данными по протоколу HTTPS шифрование не позволяет прокси-серверам и другому ПО промежуточного слоя перехватывать конфиденциальные данные. SSL/TLS шифрует сетевой трафик с помощью сертификатов, созданных доверенными издателями сертификатов.
Чтобы Charles мог расшифровать и показать нам зашифрованный трафик, он предлагает сгенерировать собственный сертификат, который мы устанавливаем на наш симулятор или устройство iOS и явно ему доверяем. Мы рассмотрим это более подробно позже.
Начало работы с Charles
Charles Proxy не бесплатен, но предлагает бесплатную 30-дневную пробную версию, которую можно загрузить на официальной странице загрузки Charles.
После установки и запуска приложения Чарльз должен запросить разрешение на автоматическую настройку сетевых параметров. Получив разрешение, Чарльз изменит конфигурацию сети нашего компьютера, чтобы весь трафик проходил через него. Это позволяет Чарльзу проверять все сетевые события, поступающие и исходящие от нашего компьютера.
Отправляйте свои iOS-приложения быстрее!
CI/CD для разработчиков iOS и macOS. Быстрая сборка на машинах M1 и предсказуемые цены. Автоматическая подпись и публикация кода с действительно хорошей документацией.
Начать сборку сейчас
После предоставления привилегий Чарльз сразу начинает запись сетевого трафика, что мы видим на левой панели.
Стартовый экран Чарльза.
При вызове какого-либо URL-адреса, например, в браузере, мы должны увидеть всплывающие запросы в левой панели Charles.
Чтобы увидеть входящий и исходящий трафик симулятора iOS, выполните следующие действия:
- Выйти из симулятора iOS
- Запустить Charles
- Открыть меню Справка > SSL-прокси > Установить корневой сертификат Charles в симуляторах iOS
Это установит корневой сертификат Charles во все симуляторы iOS. Теперь мы также должны увидеть сетевой трафик от симулятора iOS в Charles.
Чтобы настроить Charles на устройстве iOS, ознакомьтесь с официальной документацией. Charles также предлагает приложение Charles для iOS , которое можно использовать вместо этого для мониторинга сетевого трафика для устройств iOS.
Сеансы Charles
Когда мы запускаем Charles, по умолчанию автоматически создается новый сеанс, содержащий всю записанную информацию. В большинстве случаев нам понадобится только один сеанс. Сеансы можно сохранять и повторно открывать, например, для обмена с другими.
Сеанс Чарльза по умолчанию.
Запись
Чарльз записывает запросы и ответы текущего сеанса для проверки. Мы можем запускать и останавливать запись, используя кнопку записи на верхней панели инструментов.
Кнопка записи Чарльза.
По умолчанию Charles отслеживает все сетевые вызовы. Мы можем контролировать записанный трафик, открыв Proxy -> Recording Settings в меню Charles и добавив конечные точки API, которые мы хотим наблюдать. Порт 443 — стандартный порт для HTTPS-трафика.
Чарльз настройки записи.
Чтобы иметь возможность видеть зашифрованный трафик, нам также нужно добавить те же конечные точки в Proxy -> SSL Proxying Settings.
Представление структуры и последовательности
На левой панели приложения Charles мы можем переключаться между структурой и просмотром последовательности.
Представление структуры позволяет просматривать запросы в виде дерева, упорядоченного по имени узла и каталогам на узле.
Вид структуры в Чарльзе.
Представление последовательности позволяет нам просматривать запросы в той последовательности, в которой они происходят.
Просмотр последовательности в Чарльзе.
Примечание. Если вы не видите никаких запросов в представлении последовательности, снимите флажок Сфокусировано или отметьте конечные точки, которые вы хотите видеть сфокусированными, щелкнув их правой кнопкой мыши в представлении структуры.
Представления запроса и ответа
При выборе одного запроса в левой части мы получаем подробное представление с правой стороны.
Представление запросов и ответов в Charles.
Как мы видим выше, в верхней области отображается запрос с параметрами запроса, параметрами формы, файлами cookie, аутентификацией и заголовками JSON. Нижняя область показывает ответ. В обоих случаях мы можем переключаться между различными представлениями одних и тех же данных, такими как текст, необработанные данные, json и т. д.
Представление диаграммы
Представление диаграммы в Charles показывает нам время запроса и время ответа на каждый запрос.
Просмотр карты в Чарльзе.
Имитация медленной работы сети
Charles можно использовать для настройки пропускной способности и задержки сетевого соединения. Это позволяет нам тестировать наше приложение в плохих сетевых условиях. Перейдите в Proxy -> Throttle Settings, чтобы увидеть доступные параметры.
Дросселирование сети с Чарльзом.
Мы можем применить регулирование ко всем запросам или только к определенным хостам, чтобы остальные наши сетевые запросы не замедлялись.
Управление запросами и ответами
Возможность манипулировать данными ответов — отличный способ проверить, как приложение обрабатывает неожиданные значения.
Инструмент точек останова Charles позволяет нам перехватывать и обрабатывать запросы и ответы до того, как они будут переданы через Charles.
Ознакомьтесь с руководством по работе с запросами и ответами с помощью Charles, чтобы получить дополнительные сведения по этой теме.
Дальнейшее чтение
Charles предлагает еще более продвинутые инструменты, такие как повторение, автоматическая перезапись, локальная карта, удаленная карта, управление кешем и файлами cookie и многое другое. Ознакомьтесь с их официальной документацией по инструментам, чтобы проверить их.
Отправляйте свои iOS-приложения быстрее!
CI/CD для разработчиков iOS и macOS. Быстрая сборка на машинах M1 и предсказуемые цены. Автоматическая подпись и публикация кода с действительно хорошей документацией.
Начните сборку прямо сейчас
Использование Charles Proxy при разработке iOS и отладке HTTP
Каждый день я создаю и работаю с приложениями, которые подключаются к удаленным источникам данных, будь то файлы, веб-каналы, базы данных и т. д. Я также ежедневно выполнять много работы, связанной с потоковой передачей видео на устройства iOS. Если вам приходилось создавать какое-либо подключенное приложение для iOS, я почти уверен, что вы в тот или иной момент проклинали богов iOS при отладке какой-нибудь прерывистой, трудно воспроизводимой сетевой ошибки. В такие времена возможность видеть, что отправляется и принимается по сети, бесценна и экономит время.
Здесь на помощь приходит Charles Proxy. С помощью Charles вы можете просматривать сетевые запросы и ответы, которые делает/получает ваше приложение. Я уверен, что есть другие типы инструментов, которые позволяют вам делать то же самое, но мне очень нравится, насколько легко использовать Charles.
Отказ от ответственности: я никоим образом не связан и не связан с разработчиком Карлом фон Рандоу, и мне не платят или не компенсируют написание этой статьи. Единственная цель написания этой статьи — показать вам, ребята, как я использую этот инструмент для облегчения своей разработки под iOS, и надеюсь, что он может помочь кому-то еще.
Хорошо, давайте начнем с некоторых сценариев, с которыми вы можете столкнуться:
СОДЕРЖАНИЕ СТАТЬИ
Отладка HTTP-соединения и сеансов
Отладка сетевых проблем, возникающих только на устройствах Отладка проблем, связанных с Airplay
Обнаружение уязвимостей в вашем приложении
Отладка HTTP-соединений и сеансов
Самое простое использование Charles будет заключаться в том, что он будет работать в фоновом режиме, пока вы тестируете свое приложение в симуляторе iOS в Xcode. Таким образом, вы можете фактически фиксировать сетевые вызовы, которые делает ваше приложение, и какие ответы оно получает.
Вот несколько сценариев, в которых использование Charles может быть удобным:
1. Если вы видите пустой экран в своем приложении, когда оно должно получить и отобразить некоторые данные, то первое, что я бы проверил, это действительно ли данные возвращается из сетевого запроса.
2. Если ваше приложение отправляет данные на сервер для сохранения или обработки, а вы не получаете ожидаемого результата.
3. Ваше приложение обращается к какому-то API, но вы не получаете ожидаемых результатов.
4. И все остальное, что связано с тем, что ваше приложение совершает/принимает сетевые вызовы/ответы!
Для любого из вышеперечисленных и других сценариев первое, что я бы сделал, это дважды проверил, что мое приложение отправляет запрос и параметры, которые я ожидаю, и, во-вторых, что мое приложение получает ответы, которые оно ожидает.
Мониторинг входящего и исходящего сетевого трафика вашего приложения так же прост, как открытие Charles Proxy во время тестирования приложения в симуляторе iOS. Когда вы открываете Charles Proxy, не пугайтесь, если он начнет регистрировать вещи, к которым ваше приложение не подключается. Прокси отслеживает весь сетевой трафик с любое приложение , которое вы используете.
Ниже приведен скриншот того, как выглядит Charles Proxy.
С левой стороны вы можете увидеть домены верхнего уровня, к которым ваше приложение отправляет запросы. Вы можете развернуть узлы дерева, чтобы увидеть фактические запросы. Выберите запрос, чтобы увидеть подробности на панели справа.
С правой стороны вы можете увидеть обзор этого конкретного сетевого вызова, например, задержку, прошедшее время и т. д. Вы увидите вкладки в верхней части правой стороны. Нажмите «Запрос» или «Ответ», чтобы просмотреть фактические данные сетевого запроса или ответа.
Изучив запросы, которые делает ваше приложение, и данные, которые возвращаются, вы сможете выявить проблемы, которые могут в конечном итоге вызвать у вас часы головной боли в будущем.
Отладка сетевых проблем, возникающих только на устройствах
Сталкивались ли вы когда-нибудь с ошибкой, которую не смогли воспроизвести в симуляторе iOS, но только позже обнаружили, что она воспроизводится только на реальном устройстве?
Для меня такая ситуация возникает чаще, чем мне бы хотелось, но это не так уж удивительно, потому что, как бы ни был хорош Симулятор, в конце концов, он предназначен для имитации реального устройства. Лучший тест — на реальных устройствах и платформах, на которых ваши пользователи будут использовать ваше приложение.
Для проблем, связанных с сетью, которые воспроизводятся только на реальном устройстве iOS, Charles Proxy может помочь вам определить причину ошибки (кстати, было много случаев, когда то, что я считал НЕ сетевой ошибкой, оказалось быть косвенно вызвано проблемой сети). Вы можете протестировать свое приложение на своем реальном устройстве iOS и увидеть, какие сетевые вызовы оно делает и ответы, которые получает ваше приложение, прямо от Чарльза на вашем ноутбуке.
Вот быстрые и простые шаги по настройке:
Шаг 1 из 6: Убедитесь, что ваше устройство iOS и ноутбук подключены к одной и той же беспроводной сети.
Шаг 2 из 6: На своем ноутбуке (OSX) перейдите в «Системные настройки» -> «Сеть», чтобы найти свой IP-адрес.
Шаг 3 из 6: Затем на устройстве iOS перейдите в «Настройки», Wi-Fi
Шаг 4 из 6: Нажмите маленькую стрелку рядом с вашей беспроводной сетью, чтобы просмотреть сведения о сети
Шаг 5 из 6: Для настроек прокси в нижней части экрана выберите «Вручную» и введите IP-адрес, который вы нашли на шаге 2, и порт по умолчанию, который прослушивает Charles Proxy, — 8888.
Шаг 6 из 6: Теперь ваша iOS устройство будет подключаться к Интернету через ваш ноутбук через порт, который контролирует Чарльз. Все ваши сетевые запросы с вашего устройства iOS будут отображаться в окне Charles. — Устранение ошибок, связанных с сетью.
Тестирование вашего приложения в различных сетевых условиях
Чарльз может очень помочь в тестировании вашего приложения в различных сетевых условиях. Когда вы создаете свое приложение в XCode с сильным подключением к Интернету, вы упускаете все те случаи в дикой природе, с которыми будут сталкиваться ваши пользователи, такие как включение и выключение Wi-Fi, медленные соединения 3G или интернет-соединения. падает полностью.
Ваше приложение будет действительно гладким и отточенным, если оно изящно обрабатывает все эти сценарии и не оставляет пользователя, уставившегося на зависший пользовательский интерфейс, или, что еще хуже, на полное сбой приложения.
В Charles у вас есть инструменты для ограничения соединения или полной его остановки. Прелесть этого заключается в том, что вы можете контролировать это на уровне каждого хоста, чтобы вы могли регулировать только определенные соединения, к которым ваше приложение отправляет запросы, и отлаживать ситуации, когда приложение никогда не получает ответа или получает тайм-аут соединения.
Настройте прокси, как описано в разделе выше. В Charles откройте меню «Прокси» -> «Настройки регулирования», и вы увидите меню ниже. Как видите, вы можете включить дросселирование на глобальном уровне для всех хостов. Или вы можете включить его только для избранных хостов. Как я настроил ниже, регулирование будет включено только для домена codewithchris.com, и оно будет регулировать его до точки, где он имитирует пропускную способность через 3G.
Вот снимок экрана с предустановками пропускной способности, которые вы можете установить для выбранного хоста, или вы можете указать пользовательские, чтобы установить свои собственные. Хороший способ проверить тайм-ауты соединения — установить его на что-то очень низкое, например, 0,01 кбит/с.
Если вы хотите вообще запретить вашему приложению подключаться к хосту, например, смоделировать ситуацию, когда сервер полностью недоступен, вы можете добавить хост в черный список. Просто щелкните правой кнопкой мыши хост на левой панели и выберите «Черный список», как показано на скриншоте ниже. Чтобы просмотреть список хостов, находящихся в данный момент в черном списке, и изменить список, перейдите в пункт меню «Инструменты» -> «Черный список…»
Отладка проблем с потоковым видео
Charles — хороший способ отладки проблем с потоковым видео, особенно потоков с проверкой подлинности. Если ваш Charles Proxy подключен и вы отслеживаете воспроизведение видео в своем приложении, вы можете видеть загружаемые фрагменты видео.
В сочетании с советами по дросселированию, приведенными в разделе выше, вы можете протестировать воспроизведение видео в различных ситуациях с низкой и высокой пропускной способностью.
Другими ситуациями, которые могут возникнуть во время воспроизведения видео, являются превышение пределов ограничения параллелизма или невозможность аутентификации после долгого бездействия на экране воспроизведения. Вот некоторые из распространенных ситуаций, которые могут возникнуть с приложениями для воспроизведения видео, и Charles Proxy может помочь вам сэкономить много времени при их отладке!
Отладка проблем, связанных с Airplay
Charles Proxy полезен для отладки проблем, связанных с Airplay, поскольку вы не можете протестировать Airplay на симуляторе iOS. Если вы тестируете Airplay на своем устройстве и сталкиваетесь с проблемами, может быть очень сложно понять, что происходит.
Раньше я сталкивался с проблемами при потоковой передаче видео, когда переключение между воспроизведением видео через Airplay и воспроизведением видео на устройстве в какой-то момент приводило к тому, что видео больше не транслировалось, и пользователь смотрел на черный экран. экран.
С помощью Charles Proxy я смог настроить прокси, как описано выше, а затем запустить свой тестовый пример переключения между воспроизведением видеопотока на моем устройстве iOS и на моем телевизоре через Airplay.
Я обнаружил, что в процессе передачи потока туда и обратно между моим телевизором и устройством iOS сеть доставки контента, обслуживающая видео, отклоняла запрос плейлиста m3u8. В этот момент пользователь смотрел на черный экран. Без Чарльза Прокси я, вероятно, остался бы рвать на себе волосы, пытаясь понять, что не так!
Обнаружение уязвимостей в вашем приложении
Очень полезная функция Charles Proxy называется Breakpoints. Это позволяет вам указать любой хост (вы можете указать конкретный URL-адрес с конкретными параметрами) в качестве точки останова, и когда ваше приложение делает запрос или получает ответ от чего-то, что соответствует вашей точке останова, оно приостанавливает запрос/ответ на дать вам возможность проанализировать и отредактировать запрос / ответ, прежде чем он продолжит свое назначение.
Это то, что злоумышленник может попытаться сделать с вашим приложением и попытаться обмануть ваше приложение, чтобы разблокировать функции, получить несанкционированный доступ, отправить высокие баллы и вызвать другое нежелательное поведение.
Использование Charles Proxy с точками останова даст вам возможность надеть шляпу «хакера» и попытаться сломать собственное приложение.
Установите точки останова на тех ресурсах/серверах, от которых зависит ваше приложение для получения информации о конфигурации, получения данных и отправки данных. Затем используйте свое приложение, как обычный пользователь, и когда Charles Proxy сломает точки останова, измените значения запроса/ответа, чтобы попытаться сломать ваше приложение и найти уязвимости в системе безопасности.
Вот как это сделать:
Ниже красная шестиугольная кнопка — это переключатель для включения или выключения точек останова. Если в вашем списке точек останова не настроены какие-либо конкретные хосты, то включение точек останова ничего не даст. Читайте ниже, чтобы узнать, как поместить определенные хосты в список точек останова.
Чтобы добавить что-то в свой список точек останова, вы можете щелкнуть правой кнопкой мыши по определенному запросу в левой панели Charles и просто выбрать «Точки останова». Когда вы это сделаете, точки останова будут автоматически включены.
В правом нижнем углу окна Charles вы можете увидеть, включены или выключены точки останова.
В меню «Прокси», если щелкнуть пункт меню «Точки останова», вы увидите окно ниже, в котором перечислены текущие местоположения, на которые вы будете прерываться. Вы даже можете добавлять или удалять места из этого меню.
Приложения, которые выполняют обработку на стороне клиента, а затем отправляют результаты на сервер, особенно уязвимы, поскольку сервер ожидает получить точную информацию от приложения на стороне клиента. Если кто-то может перехватить запрос до того, как он попадет на сервер, и сначала изменить его значения, то у вас возникнут проблемы с безопасностью!
Что касается того, как устранять эти уязвимости, это совсем другое обсуждение, но суть здесь в том, что Charles Proxy может помочь вам выявить эти дыры в безопасности.
Я надеюсь, что эта статья иллюстрирует полезность такого инструмента, как Charles Proxy, для помощи в разработке и отладке ваших приложений. Я коснулся только части всех доступных функций этого инструмента! Я буду обновлять эту статью по мере того, как буду учиться и выжимать из нее больше функциональности.
Пожалуйста, найдите минутку, чтобы оставить комментарий и поделиться им с друзьями, которым это может быть полезно!
Charles Setup для эмулятора (Android) и симулятора (iOS) | by Elye
Диагностика сетевого трафика вашего мобильного приложения
Изображение Hush Naidoo на Unsplash
Настройка Charles для физических устройств и эмулятора или симулятора иногда не совсем то же самое. Использование эмулятора или симулятора иногда удобно, так как вам не нужно иметь при себе реальное устройство для тестирования.
Если вы не знаете, что такое Charles, то это сетевой прокси-инструмент. Другими словами, его можно использовать для перехвата сетевого подключения (в нашем случае от устройств), чтобы разрешить просмотр, перенаправление, изменение и отладку. Это также очень полезно для тестирования локального сервера.
Я часто забываю одну из платформ, поэтому я документирую как iOS, так и Android, чтобы можно было легко найти одну и ту же справочную информацию.
Было бы лучше убедиться, что Charles запущен до запуска эмулятора или симулятора. Я не уверен, что это всегда необходимо, но это хороший шаг.
Раньше подключение эмулятора Android осуществлялось через командную строку. Сегодня вроде уже не работает. Подход, используемый сегодня, соответствует тому, что делает реальное устройство.
Но перед этим вы должны убедиться, что запуск эмулятора подключен к Интернету. Иногда это невозможно по неизвестным мне причинам. Следовательно, способ обойти это описан в блоге ниже. (Используйте его, только если ваш эмулятор не может подключиться к Интернету.)
Подключение эмулятора Android к Интернету
Вы когда-нибудь расстраивались из-за того, что ваш эмулятор Android не может подключиться к Интернету? Бросил попытки и просто использую…
medium. com
Настройка IP-адреса прокси-сервера
После запуска эмулятора с подключением к Интернету вам необходимо найти локальный IP-адрес. Сделайте это в Charles, найдя Справка → Локальный IP-адрес .
После этого в своем эмуляторе перейдите в настройки Wi-Fi и нажмите и удерживайте AndroidWifi 9.0683, где вы получите доступ к настройкам
Modify network
.
В Изменить щелкните Дополнительные параметры
, чтобы развернуть диалоговое окно. Затем введите IP-адрес прокси-сервера и порт
прокси-сервера
(обычно это 8888). Затем нажмите Сохранить .
Установка сертификата
Иногда (на самом деле, в большинстве случаев) нам нужно установить сертификат для просмотра защищенной сети. Для этого зайдите в браузер Chrome и адрес chls.pro/ssl
.
Если Чарльз уже подключен, вы должны получить запрос на загрузку или замену вашего сертификата.
После загрузки вам будет предложено установить его. После этого вы можете сохранить его под любым именем.
Обратите внимание, что для этого на вашем устройстве должен быть хотя бы установлен параметр безопасности «пин». Если нет, вам будет предложено установить его там.
Обновление для Android SDK API 30 (Android 11)
Новое требование для Android SDK API 30 в настройке Charles, как показано ниже.
Настройка Charles Proxy для Android SDK API 30 и выше
Дополнительные шаги для установки Charles CA Cert на Android 11
medium.com
Устранение неполадок
Если вы не можете подключиться к Charles, попробуйте следующее:
- Убедитесь, что ваше устройство подключено к Интернету, прежде чем устанавливать прокси с Чарльзом.
- Отключите сотовую сеть и просто включите сеть Wi-Fi для устройства.
- Убедитесь, что прокси-сервер
macOS Чарльза 9Настройка 0683:
ВЫКЛ.
. Вы можете проверить это, заглянув в Charles’ Proxy → macOS Proxy . (Обратите внимание, что этот шаг противоположен iOS.) - Проверьте, нет ли у вас просроченного сертификата. Если у вас есть и просроченный, и неистекший, это не сработает. Вы должны удалить просроченный. Для проверки перейдите в Настройки →Безопасность →Шифрование и учетные данные →Доверенные учетные данные →Пользователь (вкладка)
В iOS настройка прокси-сервера Simulator отличается от реального устройства и проще. Вам не нужно явно вводить прокси-адрес, пусть Чарльз сделает это за вас.
Подключение Charles к симулятору
После запуска симулятора в Charles перейдите к Help → SSL Proxying →Install Charles Root Certificate in iOS Simulators .
После этого вы получите следующее:
Следующий важный шаг, включите
ваш прокси macOS
. Это можно сделать, обратившись к нему через Charles Proxy → macOS Proxy.
Установка сертификата
Иногда (на самом деле, в большинстве случаев) нам нужно установить сертификат для просмотра защищенной сети. Заходим в браузер Safari и адрес chls.pro/ssl
.
Если Чарльз уже подключен, вы должны получить запрос на загрузку профиля конфигурации, как показано ниже. Разрешить это.
Затем вы получите следующее сообщение:
После этого перейдите в настройки вашего симулятора → Общие → Профиль , вы получите что-то вроде изображения ниже. Нажмите здесь.
После этого нажмите «Установить». Вы установите что-то, как показано ниже.
После этого шага еще один.
Перейдите к Настройка → Общие → О программе → Настройка доверия сертификата . Затем найдите сертификат, который вы только что установили, и включите его
Вот и все.
Устранение неполадок
Если вы не можете подключиться к Charles, попробуйте следующее:
- Перед установкой прокси-сервера для Charles убедитесь, что ваше устройство подключено к Интернету.
- Убедитесь, что для параметра Charles’
macOS Proxy
установлено значениеON
. Вы можете проверить это, заглянув в Charles Proxy → macOS Proxy . (Обратите внимание, что этот шаг противоположен Android)
Примечание. В случае, если после использования Charles вы заметили, что ваш компьютер не может получить доступ к Интернету, убедитесь, что для параметра Charles macOS Proxy
установлено значение , а не ON
. Вы можете проверить это, заглянув в Charles Proxy → macOS Proxy .
Спасибо за внимание.
Настройка Charles Proxy с помощью App Live
Charles Proxy можно использовать в качестве прокси-сервера HTTPS, который обеспечивает простое текстовое представление связи между веб-браузером и веб-сервером SSL. Вы можете использовать Charles для сбора сетевых журналов для устройств iOS и Android.
Вы можете перехватывать трафик между устройствами BrowserStack и тестируемым приложением с помощью прокси-сервера Charles и отлаживать информацию, используя захваченные журналы.
Мы рекомендуем использовать эту конфигурацию, если вы решите включить Charles Proxy в своей тестовой настройке.
Чтобы заставить Charles работать с BrowserStack, нужно выполнить следующие шаги:
- Настройка Charles Proxy
- Добавить прокси к локальному
- Начать сеанс App Live
Настройка Charles Proxy
- Откройте приложение Charles Proxy.
- Щелкните Справка > SSL-прокси , а затем щелкните Установить корневой сертификат Charles .
- В диалоговом окне Keychain Access найдите charles и дважды щелкните появившийся сертификат Charles Proxy CA .
- Разверните раздел Trust и убедитесь, что для всех параметров установлено значение Always Trust , и закройте диалоговое окно.
- Нажмите Settings > Proxy Settings и запишите появившийся номер порта.
- В приложении Charles нажмите Прокси > Настройки прокси-сервера SSL .
- На вкладке SSL Proxying выберите параметр Enable SSL Proxying .
- На вкладке SSL Proxying добавьте и выберите расположение вашего приложения. Убедитесь, что вы очистили все остальные записи местоположений.
Добавить сведения о прокси-сервере в Local
Локальное приложение BrowserStack
Локальный двоичный файл BrowserStack
Используйте эти шаги, если вы хотите использовать локальное приложение для настройки сведений о прокси-сервере.
- Установите приложение BrowserStackLocal.
- Запустите локальное приложение.
- Откройте локальную панель управления по адресу http://localhost:45454/.
- В настройках туннеля установите IP-адрес
порт
как8888
. Значение порта такое же, как и при настройке Charles. - Включите параметр Force Local .
- Щелкните Показать больше и включите параметры Force Proxy и MITM Proxy .
- Прокрутите дальше и нажмите Обновить , чтобы применить настройки.
Выполните эти шаги, если вы хотите использовать локальный двоичный файл для настройки сведений о прокси-сервере.
- Загрузить двоичный файл BrowserStackLocal.
- Откройте командную строку/терминал и выполните следующую команду.
<двоичный путь BrowserStackLocal> --key <ваш ключ доступа> --local-proxy-host localhost --local-proxy-port
--force-proxy --force-local Убедитесь, что вы заменили
charles_proxy_port
значением порта, которое было установлено при настройке Charles.
Запуск сеанса App Live
- Войдите в панель управления App Live.
- Убедитесь, что Force Local включен.
- В Devtools щелкните вкладку Сеть и выберите параметр Включить для всего трафика . Щелкните Применить .
После отправки запроса проверьте захваченные журналы в приложении Charles .
Помогла ли вам эта страница?
Нам очень жаль это слышать. Пожалуйста, поделитесь своим мнением, чтобы мы могли сделать лучше
Свяжитесь с нашей службой поддержки для немедленной помощи, пока мы работаем над улучшением нашей документации.
Мы постоянно совершенствуем нашу документацию. Мы хотели бы знать, что вам понравилось
- На этой странице есть именно то, что я ищу
- Это содержимое и образцы кода являются точными и актуальными
- Содержание этой страницы легко понять
- Другое (пожалуйста, сообщите нам больше ниже)
Любые дополнительные отзывы?
Спасибо за ваш ценный отзыв
Помогает ли вам эта страница?
Да
Нет
Нам очень жаль это слышать.
Пожалуйста, поделитесь своим отзывом, чтобы мы могли работать лучше
Свяжитесь с нашей службой поддержки для немедленной помощи, пока мы работаем над улучшением нашей документации.
Мы постоянно совершенствуем нашу документацию. Мы хотели бы знать, что вам понравилось
- На этой странице есть именно то, что я ищу
- Это содержимое и образцы кода являются точными и актуальными
- Содержание этой страницы легко понять
- Другое (пожалуйста, сообщите нам больше ниже)
Любые дополнительные отзывы?
Спасибо за ценный отзыв!
Мы используем файлы cookie, чтобы улучшить взаимодействие с пользователем, проанализировать использование сайта и помочь в наших маркетинговых усилиях. Продолжая просматривать
или закрывая этот баннер, вы подтверждаете, что прочитали и согласны с нашей Политикой в отношении файлов cookie,
Политика конфиденциальности и Условия обслуживания.