Меню

Charles android proxy настройка



SSL Прокси / Чарльз и Android проблемы

Я хочу проверить Https-вызовы с android-устройства с помощью инструмента Charles proxy. Мне нужно увидеть необработанное содержимое запроса/ответа для отладки приложения. Я настроил Charles, добавив хост и порт в разделе «Настройки прокси» — > вкладка SSL. Когда я запускаю приложение, все вызовы SSL, кажется, быстро исчезают из Charles. Кто-нибудь знает, как исправить эту проблему. Документация Charles, похоже, не содержит информации для устройств Android.

8 ответов

для Android7

для Android версии ниже Android7

С компьютера запустите Charles:

открыть Настройки прокси: Прокси — > Настройки прокси, вкладка Прокси, установите флажок » Включить прозрачное http-проксирование «и запомните» порт » в сердце.

Прокси SSL Настройки:прокси -> прокси-сервера SSL параметры, вкладка SSL-Прокси, Проверьте «включить SSL прокси», и добавить . в местах:

Открыть Настройки Управления Доступом: Прокси — > Настройки Управления Доступом. Добавьте локальную подсеть для авторизации компьютеров в локальной сети для использования прокси-сервера с другого компьютера / мобильного телефона.

В Android Телефон:

настройка мобильного телефона: перейдите в Настройки — > Беспроводные сети — > WiFi — > подключение или изменение сети, заполните IP-адрес компьютера и порт(8888):

получить сертификат SSL Чарльза. Посетите этот url-адрес из мобильного браузера: http://charlesproxy.com/getssl

В «имя сертификата» введите то, что вы хочу!—5—>

примите предупреждение безопасности и установите сертификат. Если вы установите его успешно, то вы, вероятно, увидите sth так: В телефоне Настройки — > Безопасность — > доверенные учетные данные:

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

Edit — этот ответ был для более ранней версии Charles. См. ответ @semicircle21 ниже для правильных шагов для v3.10.x-намного проще, чем этот подход. 🙂

для чего это стоит, вот пошаговые инструкции для этого. Они должны одинаково хорошо применяться и в iOS:

  1. Откройте Charles
  2. перейти к прокси > Настройки прокси > SSL
  3. Проверьте «включить SSL-проксирование»
  4. выберите «Добавить местоположение» и введите имя хоста имя и порт (при необходимости)
  5. нажмите ok и убедитесь, что опция включена
  6. загрузите сертификат Чарльза отсюда:Чарльз свиду >
  7. отправить файл себе по электронной почте.
  8. откройте электронную почту на устройстве и выберите сертификат
  9. В «имя сертификата» введите, что вы хотите
  10. нажмите OK, и вы должны получить сообщение о том, что сертификат был установлен

вы должны быть возможность видеть файлы SSL в Charles. Если вы хотите перехватить и изменить значения, вы можете использовать инструмент «локальная карта», который действительно потрясающий:

  1. в Charles перейдите в инструменты > карта Local
  2. выбрать «Добавить запись»
  3. введите значения для файла, который вы хотите заменить
  4. в «Local path» выберите файл, который вы хотите загрузить приложение вместо
  5. нажмите OK
  6. убедитесь, что запись выбрана, и нажмите кнопку OK
  7. выполнить ваши app
  8. вы должны увидеть в «Заметках», что ваш файл загружается вместо живого

Спасибо за ответ @bkurzius, и это обновление для Чарльза 3.10+. (Причина здесь)

  1. Открыть Чарльз
  2. перейдите в раздел Прокси > параметры прокси SSL.
  3. Проверьте «включить SSL проксирование»
  4. выберите «Добавить местоположение» и введите имя хоста и порт (если требуется)
  5. нажмите ok и убедитесь, что опция включена
  6. перейдите в раздел справка > проксирование SSL > Install Charles Root Certificate on a Mobile Device or Remote Browser. и просто следуйте инструкциям. (используйте Браузер Android для загрузки и установки сертификата.)
  7. В «имя сертификата» введите все, что вы хотите
  8. нажмите OK, и вы должны получить сообщение о том, что сертификат был установлен

Источник

Настройки системы и браузера

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

К счастью, предусмотрена автоматическая настройка:

  • Windows/ Internet Explorer настройки — используются автоматически большинством приложений;
  • Mac OS X — используется автоматически большинством приложений MAC OS X.
  • Настройки прокси для Mozilla Firefox — все платформы.

Настройки Windows

Charles может автоматически провести настройку прокси в Windows, так что IE и другие приложение смогут свободно использовать такие соединения. По умолчанию программа будет автоматически настраивать систему при каждом запуске Charles.

Читайте также:  Телефоны alcatel one touch инструкция по настройкам

В настройках Charles можно отключить данную функцию при необходимости.

Настройки прокси в Windows отображаются в панели «Подключения», там можно изменить или исправить основные параметры при необходимости.

Настройки прокси в MAC OS X

Charles может автоматически настроить прокси в MAC OS X для Safari и других приложений для дальнейшей работы.

После установки появится сообщение, где рекомендуется дать разрешение Charles на проведение автоматической настройки. После этого программа сможет изменять различные параметры в MAC OS X так, как это будет нужно для корректной работы.

В настройках Charles можно отключить данную функцию при необходимости.

Параметры прокси MAC OS X можно изменить в разделе «Системные настройки».

Mozilla Firefox

Откройте Charles и войдите в меню «Прокси», где нужно выбрать пункт «Настройки прокси». Там будут указаны действующие параметры HTTP прокси порта и SOCKS прокси порта. Нужно выбрать тот, который вы хотите использовать для работы.

Имя хоста 127.0.0.1 (ваш компьютер), если хотите открыть доступ к Charles другому компьютеру, то необходимо указать его имя.

В настройках браузера или других приложений нужно будет также указать имя хоста и порта Charles.

JAVA-приложения

JAVA-приложения могут использовать для работы Charles, но это необходимо указывать в коде или через командную строку.

System.setProperty(«http.proxyHost», «127.0.0.1»);
System.setProperty(«http.proxyPort», «8888»);

Для подробной информации зайдите на сайт http://java.sun.com/j2se/1.5.0/docs/guide/net/proxies.html

cURL и libcurl

Для скачивания URL-адресов нужно указать следующие параметры в командной строке:
curl —proxy localhost:8888

Если вы используете SSL, возможно, вы захотите отключить проверку сертификата, иначе вы не сможете использовать все возможности Charles.
curl_easy_setopt(pCurl, CURLOPT_SSL_VERIFYPEER, 0);

Благодарим Michael Klische за предоставленную информацию.

Эмуляторы Android

В эмуляторе откройте настройки и введите в командной строке:
-http-proxy http://LOCAL_IP:8888
Где LOCAL_IP — это IP адрес вашего компьютера, но только не 127.0.0.1

Android

Некоторые Андроид-устройства могут использовать HTTP-прокси. Но, например, на Nexus S настройки спрятаны. Чтобы открыть их, нужно воспользоваться приложением Voice Dialler для распознавания голосовых команд и произнести «прокси».

Также для использования прокси можно изменить настройки кода:
HttpHost httpproxy = new HttpHost(«192.168.0.101», 8888, «http»);
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,httpproxy);

Удостоверьтесь, что первый IP — это адрес компьютера, использующего Charles. Затем добавьте этот код для настройки httpClient.

© Copyright 2013 Charles Web Debugging Proxy.

Источник

How to setup Android Lollipop emulator with Charles Proxy?

I’ve been following instructions from other questions such as How to configure SSL certificates with Charles Web Proxy and the latest Android Emulator on Windows? (I’m on a MAC though) and SSL Proxy/Charles and Android trouble and I’m able to use Charles Proxy to analyze the packets of Android emulators all the way up to Kitkat.

Now I’m trying to do the same for Lollipop emulators. However, when I repeated the same steps I used to successfully setup the Kitkat emulators, Charles show nothing! When I try to connect to the web using the emulator’s browser, it gives the following error:

Are there any special steps required for the Android Lollipop emulator on Mac OS X in order to enable packet sniffng?

Thanks in advance!

5 Answers 5

I had the same, and finally find a way out: Follow the instruction in the link you mentioned: How to configure SSL certificates with Charles Web Proxy and the latest Android Emulator on Windows?

Then from charles I went into the ‘Proxy’ menu and enabled ‘Mac OS X proxy’. Than suddenly stuff came through. Even after I switched off the ‘Mac OS X proxy’.

ps: setting the proxy through the mobile settings on the emulator did not work; proxy setting has to be done through the command-line (The emulator command in in the sdk/tools and should be run something like : ./emulator -avd Nexus_4_API_21 -http-proxy http:// :8888 ). I’ve also tried some proxy-apps like the proximator without any succes. Also I’ve have problems and restarting charles fixed it.

Источник

Прокси SSL / Чарльз и проблемы с Android

Я хочу протестировать Https-вызовы с устройства Android с помощью прокси-инструмента Charles. Мне нужно увидеть исходное содержимое запроса / ответа для отладки приложения. Я настроил Чарльза, добавив хост и порт в разделе «Настройки прокси» -> вкладка SSL. Когда я запускаю приложение, все вызовы SSL, похоже, быстро исчезают из Чарльза. Кто-нибудь знает, как исправить эту проблему. Документация Чарльза, похоже, не содержит информации для устройств Android.

Читайте также:  Как сбросить все настроек айфона с компа

Для Android7

Обратитесь к: Как получить работу прокси-сервера charles с nougat Android 7?

Для Android версии под Android7

С вашего компьютера запустите Charles:

Откройте настройки прокси-сервера: прокси -> Настройки прокси, вкладка «Прокси», установите флажок «Включить прозрачный HTTP-прокси» и помните «Порт» в сердце.

Настройки прокси SSL: Прокси -> Параметры SSL-прокси, вкладка SSL-прокси, Установите флажок «Включить SSL-проксирование» и добавьте . К местоположениям:

Параметры контроля открытого доступа: Прокси -> Настройки контроля доступа. Добавьте свою локальную подсеть для авторизации компьютеров в вашей локальной сети, чтобы использовать прокси-сервер с другого компьютера / мобильного устройства.

Получите сертификат SSL. Посетите этот URL из своего мобильного браузера: http://charlesproxy.com/getssl

В поле «Имя сертификата» введите все, что хотите.

Примите предупреждение о безопасности и установите сертификат. Если вы установите его успешно, то вы, вероятно, увидите это так: В телефоне Настройки -> Безопасность -> Доверенные учетные данные:

Настройте свой мобильный телефон: перейдите в Настройки -> Беспроводные сети -> WiFi -> Подключите или измените свою сеть, введите IP-адрес компьютера и порт (8888):

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

Изменить – этот ответ был для более ранней версии Чарльза. См. Ниже @ semicircle21 для правильных шагов для v3.10.x – намного проще, чем этот подход тоже … 🙂

Для этого здесь стоит пошаговые инструкции для этого. Они должны одинаково хорошо применять и в iOS:

  1. Открыть Чарльз
  2. Перейти к прокси> Настройки прокси> SSL
  3. Установите флажок «Включить SSL-проксирование»
  4. Выберите «Добавить местоположение» и введите имя хоста и порт (если необходимо)
  5. Нажмите «ОК» и убедитесь, что опция отмечена
  6. Скачайте сертификат Charles отсюда: Charles cert>
  7. Отправьте этот файл себе по электронной почте.
  8. Откройте письмо на своем устройстве и выберите сертификат
  9. В поле «Имя сертификата» введите все, что хотите.
  10. Нажмите «ОК», и вы получите сообщение о том, что сертификат был установлен

Затем вы должны увидеть файлы SSL в Чарльзе. Если вы хотите перехватить и изменить значения, вы можете использовать инструмент «Map Local», который действительно потрясающий:

  1. В Чарльзе перейдите в Инструменты> Карта Местные
  2. Выберите «Добавить запись»
  3. Введите значения для файла, который вы хотите заменить
  4. В «Локальном пути» выберите файл, который вы хотите, чтобы приложение загружалось
  5. Нажмите ОК.
  6. Убедитесь, что запись выбрана и нажмите «ОК».
  7. Запустите приложение
  8. Вы должны увидеть в «Заметках», что ваш файл загружается вместо живого

Спасибо за ответ @ bkurzius, и это обновление для Charles 3.10+. (Причина здесь )

  1. Открыть Чарльз
  2. Перейдите в раздел Прокси-сервер> Настройки прокси-сервера SSL …
  3. Установите флажок «Включить SSL-проксирование»
  4. Выберите «Добавить местоположение» и введите имя хоста и порт (если необходимо)
  5. Нажмите «ОК» и убедитесь, что опция отмечена
  6. Перейдите в раздел «Справка»> «Прокси SSL»> « Install Charles Root Certificate on a Mobile Device or Remote Browser. Rolex Install Charles Root Certificate on a Mobile Device or Remote Browser. и просто следуйте инструкциям. (Используйте браузер Android для загрузки и установки сертификата.)
  7. В поле «Имя сертификата» введите все, что хотите.
  8. Нажмите «ОК», и вы получите сообщение о том, что сертификат был установлен

Вам нужно будет установить сертификат charles.crt на ваше устройство.

Я решил проблему. Это потому, что у Charles 3.7 есть некоторые ошибки для устройств Android. Я обновил версию Charles 3.8 Beta и, похоже, отлично справился со мной.

Для нового эмулятора может быть полезно запустить из командной строки, используя:

emulator -netdelay none -netspeed full -avd -http-proxy http:// :8888

Убедитесь, что вы следуете советам @ User9527 выше, а также для остальной части настройки

Лучшие рейтинги работают отлично (немного старые, но все еще работают), но я просто хочу упомянуть, что с Android N мы все можем настроить ваши приложения, чтобы иметь SSL-сертификаты доверия (для выпуска, отладки и т. Д.), , Включая сертификат SSL SSL (если вы загрузите сертификат Charles и поместите файл .pem в свою сырую папку). Более подробную информацию можно найти здесь: https://developer.android.com/training/articles/security-config.html

Читайте также:  При перезагрузке андроид слетают настройки

Надеюсь, это поможет настроить Чарльза внутри вашего проекта приложения не на каждом устройстве Android.

Источник

Charles – Инструкция для чайников

Гайд о том, как с помощью Charles отслеживать пакеты и эмулировать медленную скорость Интернет-соединения на реальном Android -устройстве.

Скачать Charles можно на официальном сайте: www.charlesproxy.com

Продукт условно бесплатный (trial на 30 дней), но нам этого будет вполне достаточно.

Для проведения тестов Вам понадобится:
1) LAN-кабель с вселенным в него интернетом.
2) Ноутбук с возможностью подключения в него того самого LAN-кабеля и wi-fi передатчиком.
3) Реальное Android-устройство с установленным на него мобильным приложением, которое нужно тестировать.

Итак, отключаем ноутбук от всех возможных Wi-fi сетей и подсоединяем к нему LAN-кабель со священным Интернетом. Далее нам необходимо раздать wi-fi с помощью самого ноутбука.
Для этого нужно вызвать командную строку (обязательно — запуск от имени Администратора) и ввести следующие две команды:

(или просто скопировать данный текст в Блокнот, сохранить как *.bat-файл и каждый раз запускать его от имени Администратора).

Wi-fi точка доступа создана. подключаемся к ней своим Android-устройством, имя сети (как Вы догадались, наверное) «WIFI», а пароль – 12345678.

Возможен вариант, что у вас не будет доступа к Интернету на самом устройстве. В таком случае необходимо открыть общий доступ к сети. Как это сделать можно без проблем найти и самому, но раз уж я пишу эту статью, то оставлю полезную ссылку прямо здесь с инструкцией по устранению данной проблемы:

После этого, как показала практика, Интернет на устройстве все-таки появился.

Далее необходимо узнать 2 волшебных цифры:

1) Ваш IP-адрес
2) Номер порта, который использует Charles для прокси.

Первую узнаем здесь же, в командной строке, набрав команду ipconfig.
Из всей чепухи которую Вам выдаст cmd.exe нас интересует только cвойства «Ethernet adapter Подключение по локальной сети», а именно IPv4-адрес.

Запоминаем (записываем) его и идем далее.
Номер порта, который использует Charles можно узнать внутри самой программы. Для этого в главном окне программы выберите пункт меню Proxy, в выпадающем списке – Proxy settings. Перед Вами откроется нечто подобное:

Как вы поняли эти заветные 8888 и есть наше второе число. Теперь необходимо задать ограничение скорости соединения. Для этого пройдем в пункт меню Proxy → Throttle Settings.

Ставим галочку Enable Throttling. Only for selected hosts – можно убрать (если не тестируете зависимость работы приложения от какого-либо конкретного домена).

Самый главный параметр – Bandwidth – пропускная способность нашего соединения – устанавливаем на необходимый Вам уровень (я тестировал очень медленное соединение, поэтому поставил 3kb/s ). Также, включите запись (Start/Stop Recording) нажав на панели главного окна на соответвующую кнопку для начала записи.

Осталось только настроить наше устройство. Для этого зайдите в настройки, раздел Wi-fi. Заходим в свойства сети, которую раздаем с ноутбука (и к которой уже подключено устройство) выбираем «Настройка прокси» и вводим два волшебных числа в соответствующие поля.

Все готово! Возвращаемся обратно в Charles и во вкладке Sequence видим дивную картину:

Это и есть все запросы, которое делает наше приложение (для образца взял мобильную версию ВК), с подробной информацией по каждому запросу.

P.S: На написание данной статьи меня подтолкнуло несколько вещей:
— отсутствие полного и доступного описания в русскоязычной части интернета.
— англоязычное население YouTube во всех роликах предлагало тестировать Charles на эмуляторах, а для моего старенького ноутбука это смерти подобно.

Надеюсь, данная статья будет полезной. Удачи всем в тестировании и поменьше багов!

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Источник

Adblock
detector