Charles Proxy Server — с чего начать?


Artem Mezdrin

Feb 11, 2020 · 4 min read

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

Настройка мобильного устройства

Чтобы Charles мог мониторить весь входящий и исходящий трафик на устройстве, в настройках Wi-Fi подключения на устройстве нужно прописать IP-адрес хоста с запущенным Charles и указать порт 8888 (по умолчанию). В самом Сharles в настройках прокси нужно удостовериться что стоит порт 8888 (при необходимости можно изменить). Итак, проверка настроек Charles:

И настройка Wi-Fi подключения на смартфоне (в данном примере использовался iPhone):

Открываем настройки, выбираем наше подключение, находим внизу HTTP Proxy, открываем и в поле Server вводим IP-адрес устройства, на котором запущен Charles, прописываем порт 8888 (или другой, если в самом Charles он был изменен) и сохраняем.

Далее, на этом же смартфоне открываем браузер (если это iOS девайс, то Safari, если Android — Chrome) идём по адресу https://charlesproxy.com/getssl и устанавливаем сертификат на устройство. В случае iOS, хоть сертификат и установлен, iOS ему не доверяет, поэтому доверие придётся выставлять нам. Для этого идём в настройки устройства (Settings) -> Основные (General) -> Об устройстве (About) -> Доверие сертификатов (Certificate Trust Settings). Находим наш сертификат (Charles Proxy Custom Root Certificate) и включаем его. На появившемся алерте нажимаем “Продолжить”. Вот так должен выглядеть результат:

Начиная с этого момента, в Charles мы можем видеть адреса, к которым обращается смартфон.

Возможности:

  • удобное проксирование SSL, а в частности возможность просмотра SLL запросов и ответов в виде обычного текста;
  • проверка записанных HTML и CSS ответов с помощью W3C;
  • возможность регулирования пропускной способности канала. Charles позволяет вам имитировать соединение через модем, чтобы проверить работоспособность сервера при медленном соединении и задержках со стороны клиента;
  • просмотр XML и JSON запросов. Отладки Ajax;
  • встроенная поддержка Flash Remoting (AMF0 и AMF3);
  • автоматическая настройка прокси-сервера для Firefox на всех платформах.

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

Поэтому, если вы хотите оценить данную программу, то мы предлагаем вам бесплатную версию

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

Последние штрихи настройки

Далее, возвращаемся к настройке самого Charles. Во-первых, если нас интересует конкретный адрес, а весь остальной трафик является шумом, то нужно кликнуть по интересующему нас адресу и выбрать пункт “Focus”. Это позволит скрыть все лишние адреса во вкладке “Other Hosts” (см. картинку ниже). Как было упомянуто выше, адреса серверов, на которые смартфон отсылает запросы нам видны, но мы не можем видеть параметры запросов:

Для того, чтобы Charles мог увидеть параметры запроса, нужно прописать адрес сервера в SSl Proxy Settings. Это можно сделать следующим образом:

В поле Host вводим адрес сервера, который нас интересует. Если порт указывать не требуется, то оставляем поле пустым

Теперь если отправить запрос на соответствующий сервер, то можно увидеть параметры запросов:

Модифицирование запросов и ответов

Итак, запросы к нужному серверу для нас теперь абсолютно прозрачны, но Charles интересен не только возможностью мониторинга запросов, но и возможностью их модификации. Например, можно изменить какой-либо параметр в заголовке или в теле запроса и посмотреть что вернёт нам сервер, или же наоборот, отправить правильный запрос, но модифицировать ответ, чтобы проверить ситуации, когда сервер может возвращать некорректные данные или когда нужно показать лишь часть данных. Сейчас нас интересует инструмент Rewrite:

Этот инструмент как раз и позволяет вносить нужные нам изменения в запросы. По-умолчанию, там ничего нет, следовательно, нам нужно добавить первую опцию, например, на изменение запроса.

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

Далее нужно понять что именно мы хотим изменить в конкретном запросе. Например, нужно проверить, как поведёт себя серверная часть приложения в том случае, если клиент пришлёт некорректный запрос (будет отсутствовать одно поле или в поле будет неверный тип данных). Сообщит ли нам сервер об ошибке? Лучше, конечно, проверять, реакцию клиента на некорректный ответ сервера, потому что такая ситуация наиболее вероятна. Набор действий в любом случае идентичен. Под полем Location нужно кликнуть Add, а затем можно поставить значение * (в этом случае перезапись будет работать для всех запросов), либо указать конкретный URL и конкретный path.

После того как был задан адрес, по которому нужно произвести замену, нужно указать что конкретно следует изменить. В нашем случае это тело запроса.

После сохранения и клика по кнопке Apply, Charles начнёт изменять все запросы по указанной связке URL+path в соответствии с заданным правилом. В данном случае в запросе будет передаваться JSON {“field”:”value”}. Подобным образом можно менять тело ответа, приходящего с сервера. Также можно изменять URL, заголовки, параметры запроса, код состояния HTTP.

Charles Web Debugging Proxy 4.5.4 (2020) {Eng}

Тип издания:

macOS Software
Релиз состоялся:
04.11.2019
Поддерживаемая ОС:
OS X 10.7 и выше
Разработчик:
Karl von Randow
Официальный сайт:
www.charlesproxy.com
Язык интерфейса:
Английский
Лечение:
не требуется
Системные требования:
● macOS 10.7 или выше ● Intel 64-bit CPU.

Описание:

Charles Web Debugging Proxy – это набирающий популярность зарубежный веб-прокси-сервер, работающий на вашем персональном компьютере, или ноутбуке, который зачастую относят к разделу программ HTTP Monitor. Свою популярность данная программа получила из-за высокой функциональности, быстроты работы и отличного, понятного и доступного дизайна.

Множество работников IT-отделов используют программу, ведь при диалоге клиента с сервером вы не можете через свой браузер проверить, какая информация была получена, какая передана, а это иногда очень необходимо. Для этого и существует Charles, который выводит всю необходимую вам информацию. Благодаря возможностям этой программы, вы можете легко и быстро отследить неполадки и ошибки, чтобы в будущем без долгих поисков их выявлять и исправлять.

«Дополнительная информация:»

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

: удобное проксирование SSL, а в частности возможность просмотра SLL запросов и ответов в виде обычного текста; проверка записанных HTML и CSS ответов с помощью W3C; возможность регулирования пропускной способности канала. Charles позволяет вам имитировать соединение через — модем, чтобы проверить работоспособность сервера при медленном соединении и задержках со стороны клиента; просмотр XML и JSON запросов. Отладки Ajax; встроенная поддержка Flash Remoting (AMF0 и AMF3); автоматическая настройка прокси-сервера для Firefox на всех платформах.

«В новой версии:»

— Fixes an error on launch on macOS. Release notes

«Процедура установки:»

Смонтировать DMG образ и перетащить икону приложения в папку «Программы»

Скриншоты:

Скачать Charles Web Debugging Proxy 4.5.4 (2020) {Eng} через торрент

charles-web-debugging-proxy-4_5_4.torrent [16,96 Kb] (cкачиваний: 5)

Размер:
53 MB

  • 0
  • Назад

19-03-2020, 10:43 356 0

Похожие материалы

DaisyDisk 4.9 CR2 (2020)

DaisyDisk — утилита которая весьма необычным образом подскажет какие громоздкие файлы и папки присутствуют на вашем Mac, если сказать точнее, то это визуализатор дискового пространства, который помогает быстро выявить проблемные зоны на накопителе и в два щелчка мыши, удалить все лишнее.
24-02-2020 Читать далее

Debookee 7 v7.4.1 (2020) {Eng}

Debookee — анализатор сетевого трафика, с возможностью определить, с какого устройства был выход в сеть через вашу точку доступа. Вы сможете проверить траффик, исходящий с любого устройства: iPhone, iPad, Android, BlackBerry, PC, Mac и т.п.
21-02-2020 Читать далее

ExpanDrive 7 v7.5.0 (2020)

Работа с удалёнными данными всё чаще встречается в нашей жизни. Домашняя локальная сеть, Dropbox. Все эти вещи для многих давно стали привычны. Разработчики софта рады предложить нам множество программ, которые должны помочь привести к общему виду все эти носители и облачные сервисы.
19-02-2020 Читать далее

nuTXT 3.17 (2020) {Eng}

nuTXT — это крошечное, но полезное служебное приложение, которое позволяет вам создавать новый .txt файл на вашем рабочем столе, функция, к которой вы привыкли.
19-02-2020 Читать далее

VideoSolo Blu-ray Player

Blu-ray Player без потерь качества для Mac
14-02-2020 Читать далее

Sketch 62 (2020) {Eng}

Sketch от Bohemian Coding — один из лучших векторных редакторов под macOS!
21-01-2020 Читать далее

Proxifier for Mac 2.26 (2019)

Proxifier для Mac позволяет пользователям получать доступ к любому интернет-приложению через защищенную сеть или сеть с проксированием.
25-11-2019 Читать далее

Моя новая жизнь / My New Life

Вы возьмете на себя роль молодого человека в своем городе, где вы попадаете в самые «жаркие» ситуации. От случайных ситуаций до «напряженных» свиданий с сексуальными девушками.
24-10-2018 Читать далее

KCNcrew Pack 12.15.17 (2017)

KCNcrew Pack — это огромнейший сборник серийников на софт под MacOS X с удобной оболочкой для просмотра и поиска. Существует уже очень давно и периодически обновляется!
16-12-2017 Читать далее

Proxy Switcher Standard

Proxy Switcher — программа для мгновенного изменения настроек прокси-сервера,то есть на лету. Прогрaммa автоматически загрузит огромный список прокси серверов, проверит их на работоспособность и анонимность. Вы можетe путешествовать по интернeту абсолютно анонимно, используя кaк один прокси-сервер,
12-06-2017 Читать далее

Комментарии

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]