Выборочное использование Charles Proxy в Mac OS X для iOS Simulator

Есть ли способ выборочно использовать прокси-сервер Charles с определенными приложениями, такими как iOS Simulator в Mac OS X? В настоящее время, отслеживая HTTP-трафик между приложениями iOS, работающими с iOS Simulator, Чарльз также отслеживает HTTP-трафик из других приложений, таких как Chrome, почтовое приложение и т. д. Это действительно отвлекает. Есть ли способ сделать это, кроме добавления списка доменов, которые мы хотим обойти, в настройках Charles Proxy?

Chrome действительно является проблемой, потому что он использует настройки прокси-сервера Mac OS X. Я пробовал расширение типа Proxy Switchy, но оно либо не помогает, либо я не знаю, как его настроить.

Любые указатели будут высоко оценены. Спасибо!


person indiantroy    schedule 07.06.2012    source источник


Ответы (4)


Вы действительно можете фильтровать записи в прокси-сервере Charles. Просто перейдите в «Прокси»> «Настройки записи» ... Затем вы можете включить или исключить любой домен, который вам нужен. Это единственный способ сделать это. используя домен, порт, путь или запрос.

Если вы не хотите записывать информацию, поступающую из Google Chorme, просто отключите эту опцию, нажав Cmd+Shift+P , это отключит Mac OS X Proxy.

введите здесь описание изображения

person Arthur Neves    schedule 07.06.2012
comment
Это все еще работает в iOS 5+? Я читал, где он перестал работать после обновления с 4.x - person ahwulf; 07.06.2012
comment
Серьезно, нельзя попросить Чарльза отслеживать трафик только для определенного приложения? :-( - person indiantroy; 08.06.2012

Используя вкладку Sequence, вы можете установить фильтр:

введите здесь описание изображения

Быстро, легко и не нужно беспокоиться о прокси-меню и настройках.

person djibouti33    schedule 23.06.2012
comment
Upvote x10, оно того стоит. Когда я увидел ваш снимок экрана, я сказал вслух, КАК Я ЭТО ПРОПУСТИЛ??!!!! - person Tom Pace; 20.03.2013
comment
Обратите внимание, что это будет фильтровать только отображаемые записанные запросы. Удаление этого фильтра покажет вам все записанные запросы. Для большей гибкости и фильтрации того, что на самом деле записано, см. Ответ Артура Невеса. - person Feckmore; 04.04.2014
comment
Это работает только в том случае, если ваше приложение использует один базовый URL-адрес, но, к сожалению, оно не сообщает вам обо всем трафике, поступающем из вашего приложения. Так что это бесполезно, если мы хотим проверить сеть приложения, например. для проверки соответствия GDPR. - person Michal Cichon; 22.05.2019

Я пытался сделать что-то подобное. Рассмотрите это как альтернативу. Если у вас есть устройство iOS, вы можете запустить свое приложение на устройстве и настроить Charles для отображения трафика только от удаленных клиентов, отключив «прокси-сервер Mac OS X».

Вот пример настройки: используя один удаленный клиент (скажем, iPad в данном случае) и Mac с Charles в качестве прокси-сервера, отключите «прокси-сервер Mac OS X», сняв флажок в «Настройки прокси» >> вкладка Mac OS X. >> Включить прокси-сервер Mac OS X (см. изображение ниже).

Поступая таким образом, вы, по сути, фильтруете свою простую настройку, чтобы отображать только трафик, поступающий от удаленного клиента (iPad).

введите здесь описание изображения

person Doug    schedule 15.07.2014
comment
Идеальный ответ и единственный, который позволяет изолировать трафик iOS. - person Sam; 24.10.2016
comment
Хм, это либо не работает, либо больше не работает, я снял флажок и все еще вижу весь трафик моего Mac. Кто-нибудь знает об обновлениях, которые могут решить эту проблему сегодня? - person ThePartyTurtle; 21.09.2020

Для аудита всего трафика мне фактически пришлось использовать реальное устройство. невозможно легко отфильтровать клиентское приложение с помощью симулятора iOS, потому что симулятор и хост (ваш Mac) имеют один и тот же IP-адрес. Но это довольно приятно, если вы используете устройство. Подробнее Справка > SSL-прокси > Установить корневой сертификат Charles на мобильное устройство или удаленный браузер.

  1. Проверьте свой IP-адрес, убедитесь, что устройство и ваш Mac находятся в одной сети (ваш IP-адрес можно проверить в упомянутом выше разделе «Установить корневой сертификат Charles...» справки Charle.
  2. Откройте chls.pro/ssl на своем устройстве и установите сертификат на свое устройство.
  3. Убедитесь, что закрепление сертификата отключено (если вы его используете).
  4. Проверьте прокси-сервер > Настройка прокси-сервера SSL, как обычно (убедитесь, что все хосты, которые вы хотите отслеживать, присутствуют).
  5. Запустите приложение.
  6. Примите предстоящий трафик с вашего устройства в Charles, если его попросят.
  7. Сохраните сеанс и отфильтруйте снаружи от Charles, потому что в Charles все еще нет фильтруемого адреса клиента / IP-адреса клиента. ???? В качестве альтернативы, гораздо проще увидеть трафик с устройства, указанного в приложении, и отличить его от 127.0.0.1 и «всего другого».

КСТАТИ. Чтобы отфильтровать серверную часть моего приложения, я предпочитаю не использовать базовую функцию фильтра (внизу), как предложил djibouti33, а использовать сфокусированные хосты (Просмотр > Фокусированные хосты...). И есть переключатель / флажок, чтобы скрыть / показать другие вызовы в списке последовательности. Довольно удобно.

person Michal Cichon    schedule 23.05.2019