Как настроить SSL-сертификаты с помощью Charles Web Proxy и последний эмулятор Android на Windows?

StackOverflow https://stackoverflow.com/questions/3976728

Вопрос

Я хотел бы использовать Charles Web Proxy для работы с эмулятором Android в Windows. Я успешно настроил Чарльз и запустил эмулятор с помощью командной строки:

emulator -http-proxy 127.0.0.1:8888 @NexusOne

Я могу увидеть трафик, исходящий из эмулятора Android в Чарльзе, но проблема в том, что я разрабатываю против Live API, который использует SSL, и я не уверен, как настроить Чарльз, чтобы позволить мне играть о данных, которые отправляются и получила. Я знаю о двух областях, где SSL настроен в Charles (Proxy -> Настройки прокси -> SSL и Proxy -> Клиентские сертификаты SSL), но я не могу найти приличную документацию, которая позволила мне сделать то, что я хочу сделать Отказ У кого-нибудь есть опыт работы с Чарльзом или сертификатами в целом, кто может объяснить, как это достичь. Может быть, грунтовка по сертификатам тоже будет хорошо, так как мне не хватает знаний о том, почему это так сложно.

Это было полезно?

Решение

В Charles перейдите в Proxy >> Настройки прокси и выберите вкладку SSL. Добавьте свой хост в список местоположений.

Например, если ваш безопасный звонок собирается https://secure.example.com., вы можете ввести Secure.example.com, или * .example.com.

Как только выше указано выше, вам может потребоваться щелкнуть правой кнопкой мыши на вызове в окне Main Charles и выберите опцию Proxing SSL.

Надеюсь это поможет.

Другие советы

Для удаленного захвата трафика HTTP или HTTPS с Charles вам нужно сделать следующее:

Хост - машина работает Charles и хостинг Proxy Client - машина пользователя, генерируя трафик, который вы будете захватывать

Хост машина

  1. Установить полностью лицензированную версию Charles
  2. Proxy -> Настройки прокси -> Проверьте «Включить прозрачный HTTP-прокси»
  3. Proxy -> Параметры прокси-сигнала SSL -> Проверьте «Включить SSL Proxing»
  4. Proxy -> Настройки Proxing SSL -> Нажмите кнопку «Добавить» и введите * в обоих полях
  5. Proxy -> Параметры контроля доступа -> Добавить локальную подсеть (EX: 192.168.2.0/24), чтобы авторизовать все машины в локальной сети, чтобы использовать прокси из другой машины
  6. Может быть целесообразным настроить «Auto Save Tool» в Charles, это автоматически сохраняет и повернут журналы Charles.

Клиентский автомат:

  1. Установите и навсегда принять / доверять Charles SSL сертификат
    http://www.charlesproxy.com/documentation/using-Charles/ssl-certificates/
  2. Настроить IE, Firefox и Chrome для использования розетки Charles проводит прокси на (например, 192.168.1.100:8888)

Когда я проверял это, я поднял две строки на Facebook HTTPS Chat (одна была линия для кого-то, а другая)

Вы также можете захватить трафик эмулятора Android таким образом, если вы начнете эмулятор с:

emulator -avd <avd name> -http-proxy http://local_ip:8888/

Где local_ip - это IP-адрес вашего компьютера, а не 127.0.0.1, так как это IP-адрес эмулирующего телефона.

Источник: http://brakertech.com/capture-https-Traffic-remotey-with-Charles/

Для того, что стоит здесь, - это шаг за шагом инструкции по выполнению этого на устройстве Android. Должно быть то же самое для iOS:

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

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

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

Вещи немного изменились в том, как Чарльз предоставляет HTTPS прокси.

Сначала параметры установки сертификатов были перемещены в меню справки.

Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators

Charles SSL Proxying

Во-вторых, начиная с iOS 9, вы должны предоставить NSAppTransportSecurity вариант в вашем Info.plist И если вы хотите Чарльза работать должным образом, как человек в середине, вы должны добавить:

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>

Как часть ваших доменов см. Полный пример:

<key>NSExceptionDomains</key>
    <dict>
        <key>yourdomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>

Причина быть (я думаю), что Чарльз в какой-то момент связывается на ясном HTTP после выступает в качестве человека в сервере среднего HTTPS.

Последний шаг - активировать прокси-сигнал SSL для этого домена в Чарльзе (щелкните правой кнопкой мыши на домене и выберите «Включить SSL»)

enable HTTP Proxying

Что сработало для меня - действительно должен быть перемещен на iPhone:

Чарльз

  1. Включить прозрачный HTTP-прокси
  2. Включить SSL прокси
  3. Щелкните правой кнопкой мыши на входящий запрос и выберите «SSL»

Mac

  1. Скачать Charles CA сертификат пакет http://www.charlesproxy.com/ssl.zip.
  2. Отправить сам Charles-Proxy-SSL-Proxing-Service.Crt

iPhone

  1. Включить HTTP прокси для Чарльза на порту 8888
  2. Выберите и установите вложение электронной почты, да доверьтесь!

Вуаля, теперь вы можете просматривать зашифрованный трафик из домена, добавленного в SSL, проксию

Вы также должны нажать «Установить Charles Ca SSL-сертификаты.» От меню Harles Help. Смотрите более подробные инструкции на http://blog.noodlewerk.com/general/tuTorial-using-Charles-Proxy-To-debug-https-communication-between-server-and-ios-apps/

Эти вещи помогли мне

  1. Перейти к прокси -> Настройки прокси SSL -> Добавить
  2. Добавьте название вашего сайта здесь и дайте номер порта как 8888

enter image description here enter image description here

  1. Щелкните правой кнопкой мыши на имя вашего сайта на левой панели и выберите «Включить Proxing SSL»enter image description here

Надеюсь, это поможет кому-то там.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top