Меню Рубрики

Установка и настройка чарльз

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

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

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

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

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

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

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

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

источник

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

Зачастую, при тестировании мобильных клиент-серверных приложений бывают ситуации, когда нужно проверить как ведёт себя приложение при разном объеме данных, в каком формате приложение отправляет и получает данные, какие параметры у запроса и ответа, какой ответ присылает сервер при некорректном запросе, как реагирует приложение на некорректный ответ, как оно обрабатывает ошибки. Всё это можно относительно просто проверить при помощи 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. По сути, данная статья — агрегатор документации, размещенной на официальном сайте.

источник

Программа Charles: что это за программа и как её использовать

Если ваш интернет ограничен пакетом в несколько гигабайт, то поневоле приходится следить за объёмом переданной и полученной информации – так называемым трафиком. В этом помогает программа Charles: сейчас мы разберём, как ею пользоваться.

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

Программа предназначена для браузера Mozilla, так что перед установкой Charles нужно скачать его. В принципе, сейчас дополнение поддерживается и Google Chrome, и Opera, но синхронизация потребует определённых настроек.

Mozilla Firefox – наиболее оптимальный браузер для использования Charles

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

Установка и настройка программы

Скачать дистрибутив можно с официального сайта. Там представлены две версии: бесплатная на месяц и платная по цене от 50 долларов в год. Не стоит искать взломанные вариации плагина, поскольку ему предстоит работать с вашими данными – в этом случае нельзя полагаться на продукт из неизвестного источника.

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

Также для браузера Mozilla скачайте и установите Java самой свежей версии – это позволяет программе работать корректно. Иногда нужный файл кладут в общий архив – кликните по нему и запустите. Обратите внимание, что Java не поддерживается браузерами на основе Chromium: Google Chrome, Яндекс. Браузер и прочими.

Главное окно программы Charles

После установки программы найдите в пакете инсталляции файл с расширением .xpi. Откройте Firefox и просто перетащите элемент в окно браузера.

  1. Если у вас браузер Firefox, то просто откройте его, перейдите во вкладку Tools – Charles и нажмите Enable Charles. Для проверки откройте какой-нибудь сайт, а затем Charles (значок в виде кувшинчика, по умолчанию он находится на «Рабочем столе»), и вы увидите целый список запросов, связанных с открытием ресурса.
  2. В Chrome и Opera нужно открыть «Настройки» – «Прокси-сервер», отметить пункт HTTP, указать IP: 127.0.0.1 и порт: 8888.
Читайте также:  Установка кнопки отключения массы

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

Вы настроили Charles, как пользоваться им, сразу понятно из меню программы:

  1. Чтобы данные не просто отслеживались, но и записывались, нажмите вверху плашку Start / Stop Recording – она крупная, вы её точно не пропустите. Это делается на случай возникновения каких-либо проблем с подключением к определённому сайту. Имея подробный отчёт о процессе соединения, вы сможете обратиться к системному администратору, и он быстро обнаружит причину ошибки.
  2. Если какой-то сайт кажется вам подозрительным и вы хотите вначале понять, какие данные он отправляет/получает, а затем уже допускать или не допускать их перемещение, то можно сделать так, чтобы по запросу в браузере информация передавалась сразу в Charles. Для этого выделите папку с его названием ресурса, кликните по ней ПКМ и нажмите Breakpoints – Enable/Disable Breakpoints.
  3. Управлять содержимым папок со сведениями можно через клик дополнительной кнопкой манипулятора и команду Edit. После внесения коррективов в заголовки и прочие элементы, нажмите Execute, чтобы подтвердить новую форму обращения. На нее вы будете получать ответы от сервера – их можно просматривать и сохранять себе. Это ещё один плюс на случай неполадок, столкновения с мошенническими и фишинговыми ресурсами и т. п.

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

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

Иногда при посещении некоторых сайтов сведения о них не отображаются в списках Charles. Попробуйте сделать следующее:

  1. Откройте раздел Proxy/Recording Settings и Black List.
  2. Удалите из последнего нужный сайт, и его данные появятся в общем перечне.

Также большая проблема программы заключается в том, что ею пользуются взломщики. Умело манипулируя полученной информацией, они получают доступ к ограниченному контенту, например, к закрытым объектам в онлайн-игре. Это делается с помощью редактирования сведений, которые пришли в Charles: вначале узнается название и код проделанной доступной операции, а затем значение меняется на более высокое. В итоге игрок может «перепрыгнуть» на несколько уровней вперед и получить премиум-ресурсы. Это представляет угрозу не только для разработчиков гейм-развлечений, но и для соперников по игре, особенно если конкуренция лежит в её основе.

Зачастую Charles используется для взлома WEB приложений

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

источник

Как установить Charles

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

Чтобы установить и запустить утилиту, для начала, необходимо скачать последнюю версию Charles, всегда имеющуюся в наличие на нашем софт-портале mydiv.net!

Запуск инсталлятора и начало установки Charles

Сначала, найдите в папке загрузок скачанный из интернета файл-установщик программы Чарльз и запустите его, дважды кликнув по нему мышью, чтобы начать процесс установки.

В первом окошке программа поприветствует вас и сообщит о старте инсталляции. Если твердо хотите продолжить установку и перейти в следующее окошко — жмите «Next», если передумали — кликните на «Cancel», чтобы отменить установку утилиты.

В следующем окне, установщик предложит вам ознакомиться с лицензионным соглашением и правилами пользования программой. Если со всем согласны, поставьте галочку напротив «I accept. « и нажимайте «Next» или откажитесь, нажав «Cancel» и прекратите инсталляцию.

Некоторые настройки при установке Charles

В следующем после лицензионного соглашения окне, вам будет предложено выбрать на hdd-диске папку для установки программы. Если вас устраивает директория по умолчанию , нажмите «Next», если хотите задать какую-то свою, кликните на «Change» и попав в новое окошко, используя соответствующие кнопки, подробно расписанные на скриншоте, укажите новый путь инсталляции Charles или пропишите его вручную в графе «Folder name» внизу окошка. Когда закончите, нажмите «ОК», а затем «Next».

Завершение установки Charles

Теперь вам остается только нажать на кнопку «Install» и подождать, пока завершится процесс распаковки программы на жесткий диск, прогресс которого показывается в горизонтальной зеленой строке.

Если установка пройдет успешно, программа вас оповестит об этом в следующем окошке. По окончанию, не забудьте нажать на «Finish», чтобы выйти из установщика и начать пользоваться программой.

Запуск Charles

Чтобы запустить Чарльз, можно открыть меню «Пуск», затем открыть «Все программы»/«Назад», найти и нажать на «Charles» или же воспользоваться ярлычком на десктопе ( рабочем столе ).

Читайте также:  Установка компьютера на опрыскиватель

источник

Charles: незаменимый тул в арсенале QA-инженера


Для тестирования мобильных приложений, работающих с удаленными серверами, QA-инженеру приходится держать под рукой множество разных тестовых аккаунтов, логов, запросов и ответов. Реальность такова, что не всегда удается договориться о предоставлении нужных тестовых данных в срок. Чаще всего серверные разработчики будут незнакомыми вам людьми по ту сторону Скайпа. В таких ситуациях приходится своими руками подменять ответ сервера перед его передачей в приложение.

Чтобы редактировать выдачу сервера и воспроизводить сложные тестовые сценарии в QA Redmadrobot, мы используем Charles.

Как это работает?

Charles — инструмент для мониторинга HTTP/HTTPS трафика. Программа работает как прокси-сервер между мобильным приложением (в нашем случае) и сервером этого приложения. Charles записывает и сохраняет все запросы, которые проходят через подключенный к нему телефон и позволяет их редактировать.

1. Качаем и устанавливаем.
2. При первом запуске Charles заботливо предложит автоматически настроить параметры сети — соглашаемся.
3. Переходим в Proxy > Proxy Settings и выставляем порт 8888, если он уже не прописан.
4. На телефоне заходим в настройки Wi-Fi и прописываем в прокси сервер IP-адрес вашего Mac и порт 8888.
Телефон должен быть подключен к той же Wi-Fi сети, что и ваш Mac.

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

Для мониторинга HTTPS-трафика нужно пройти дополнительные шаги:
5. Переходим в браузер телефона и заходим на www.charlesproxy.com/getssl для установки сертификата SSL, который будет использоваться при подключении. Устанавливаем.
6. В списке хостов выбираем желаемый хост с HTTPS и ставим галочку Enable SSL Proxying.

Готово. Теперь в клиенте Charles отображается HTTPS-трафик по выбранному хосту.

Важно
Если ваше приложение использует SSL pinning, то Charles не сможет перехватывать запросы и ответы.

Мониторинг трафика


Для наглядной демонстрации работы с API используем приложение Хабрахабр для Android. На iPhone стоит защита от программ типа Charles, но на Android её нет.

Charles выстраивает все запросы в порядке их отправки на сервер. Запросы и ответы можно просматривать как в отформатированном, так и в «сыром» виде. В QA Redmadrobot во время тестирования телефон всегда подключен к Charles. Таким образом остается возможность посмотреть историю запросов и отследить хитрые баги.

Подмена данных


Как видите, у меня не так много кармы. Charles поможет сделать вид, что её чуть больше, чем есть на самом деле.

Выдача по аккаунту выглядит так (только JSON-строка, без header’ов):

В логе есть поле score:
По всей видимости, как раз то, что мне нужно.

Rewrite settings

Для подмены серверных данных открываем Tools > Rewrite.
В списке слева отображаются сеты из запросов, которые можно составлять на свой вкус. После создания сета идет выставление location. Здесь мы прописываем URL запроса с query параметрами (по желанию).

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

Окно создания правила будет выглядеть следующим образом:

Сам экран подмены будет выглядеть приблизительно так:

Следующий ответ по запросу информации о себе будет иметь отредактированные данные, score = 5000:

При следующем переходе на экран профиля в приложении Хабра мы увидим плод своих трудов.

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

Таким же образом можно подменять не только ответы, но и запросы. Для этого на экране Rewrite rule нужно поставить галочку в поле Request, а не Response.

Breakpoints

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

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

Открываем Breakpoints settings и прописываем URL запроса.

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

Заменим мой логин на что-нибудь, написанное на кириллице.

Вот и все. Приложение отображает нужную нам информацию и проблем с кириллицей не возникает.

Самое главное


Лицензионная версия Charles обойдется в $50 на человека. Charles разрешает пользоваться собой бесплатно, но с ограничениями. Функционал инструмента не блокируется, но во время использования триальной версии иногда будут появляться окна с просьбой подождать 5-10 секунд перед возобновлением работы и еще раз подумать о том, как клево было бы купить лицензию. Также каждые 30 минут программа будет автоматически завершаться и вся история запросов будет утрачена.

источник

Добавить комментарий

Adblock
detector