Как пользоваться charles proxy

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

Что собой представляет плагин Charles?

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

Изначально этот плагин рассчитан на работу в среде интернет-браузера Mozilla Firefox, однако на сегодняшний день имеются версии, которые с легкостью можно использовать и в не менее популярных браузерах типа Google Chrome или Opera. Основные настройки будут приведены ниже.

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

Установка

Как уже было сказано выше, дополнение рассчитано на браузер Mozilla Firefox. Таким образом, секвенция установки выглядит как начальная инсталляция браузера, а после этого – соответствующего дополнения. В общем-то, процесс является стандартным и сложностей не вызывает.

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

Как работать с Charles: предварительные настройки

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

В меню настроек будет специальное поле, где нужно включить режим доступности «Enable Charles». Все. Можно начинать работать.

Другое дело, когда используется, например, Google Chrome. В этом браузере необходимо войти в раздел настроек, который вызывается при нажатии значка в верхнем левом углу, и найти пункт, касающийся изменения настроек прокси-сервера. Теперь в настройках подключения нужно поставить «птичку» напротив пункта разрешения использования прокси, в адресе прописать 127.0.0.1, а в качестве порта использовать значение 8888.

Если рассматривать вопрос о том, как пользоваться Charles в плане настроек Opera, в данном случае придется использовать меню инструментов с последующим переходом к общим настройкам, затем – к расширенным, после чего в параметрах сетевых подключений выставлять адреса в полях HTTP и HTTPS. Порт остается тем же.

Как пользоваться Charles: основные аспекты

Итак, плагин настроен и готов к использованию. Самое простое действие с активацией записи траффика в реальном времени производится при помощи кнопки «Start/Stop Recording».

Редактирование настроек осуществляется простейшим способом для всех параметров. На нужной строке нужно просто использовать правый клик, после чего выбрать команду «Edit». После изменения той или иной настройки требуется подтверждение изменений. Оно производится с помощью кнопки «Execute».

Иногда может потребоваться использование так называемого перехвата запросов. Это называется Breakpoints. Активировать эту службу можно в тех же настройках, где ставится галочка в соответствующем поле «Enable/Disable Breakpoints». Что это даст? А вот что: когда перехват запросов включен, плагин буде автоматически блокировать все входящие и исходящие обращения к серверу или сервера к компьютеру в обратном режиме. Иными словами, при заданном адресе можно просто исключить из списка доступных ресурсов именно те объекты, которые, грубо говоря, являются нежелательными или запрещенными для посещения.

Читайте также:  Как импортировать закладки из другого браузера

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

Проблемы и использованием Charles

В целом же, это только основные и наиболее часто используемые функции плагина. Нередко можно заметить, что в некоторых случаях могут возникнуть и проблемы. Так, например, очень частыми являются ситуации, когда в списке, содержащем папки шлюзов (Gateway), могут не отображаться те или иные серверы и их адреса.

По всей видимости, пользователь мог их просто случайно внести в так называемый «игнор-лист». Восстановить настройки можно войдя в соответствующее меню (через Proxy/Recording Settings), где выбирается раздел «Ignore Hosts» (иногда может называться как Black List, в зависимости от версии программы). Отсюда сервер нужно просто удалить, после чего он будет показан в основном списке.

Заключение

В принципе, вот и все по вопросу о том, как пользоваться 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.

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

Читайте также:  Как посмотреть пароль от электронной почты gmail

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

Далее необходимо узнать 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 – можно убрать (если не тестируете зависимость работы приложения от какого-либо конкретного домена).

Самый главный параметр – Bandw /> для начала записи.

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

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

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

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

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

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

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

1. Установка и запуск

Скачиваем Charles Proxy с официального сайта, устанавливаем, запускаем (помним, что бесплатно можно пользоваться 30 дней). После запуска Charles предложит сам настроить сетевые подключения для работы:

Соглашаемся. Далее откроется интерфейс инструмента:

Слева (Structure/Sequence) будут отображаться соединения, внутри которых можно будет увидеть запросы. В правой части будут отображаться параметры запроса.

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

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

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

Читайте также:  Как изменить тип музыкального файла

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

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

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

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

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

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

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

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

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

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

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

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

Послесловие: В данной статье я постарался как можно более просто, но в то же время подробно описать инструкцию по работе с Charles Proxy Server. По сути, данная статья — агрегатор документации, размещенной на официальном сайте.

Adblock
detector