Как раздать VPN через Fiddler или Charles

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

Случай из жизни

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

Ситуация 1: тестировщик пропускает баг вёрстки счётчика подписчиков для пользователя, у которого больше миллиона фолловеров. Неприятно, но на ценности продукта для пользователя сильно не скажется.

Ситуация 2: в приложение добавлена настройка получения push-уведомлений. Проверяя их отключение, тестировщик увидел подтверждение и посчитал сценарий пройденным. После релиза посыпались жалобы пользователей на слишком большое количество уведомлений, им приходилось отключать их на уровне ОС или удалять приложение. Для бизнеса такая ситуация критична: метрики искажаются, а пользователи утекают.

Почему так произошло? На бэкенде раскатили неудачный коммит, и на запрос отключения уведомлений возвращалась ошибка сервера. Мобильный клиент не обрабатывал получение кода 500, но тестировщик и пользователь видели попап отписки, хотя она не происходила. Если бы тестировщик обратил внимание на нестандартный код ответа API, то проблему быстро бы обнаружили и решили. Правда, в этот случай ещё вмешался сломанный мониторинг и отсутствие тестов на бэкенд, но всегда помните, что вы можете оказаться единственным тестировщиком на задаче или продукте и перепроверить будет некому.

К чему это всё? К тому, что использование сниффера может избавить вас от таких ошибок.

Читайте также:  Основные команды Linux: (почти) полное руководство с примерами

Настройка устройства

На устройстве, которому нужно дать доступ к VPN, в настройках сети или Wi-Fi укажите прокси-сервер: IP-адрес компьютера с запущенным Fiddler или Charles и порт 8888, или другой, который был указан на при настройке прокси.

Например, для iPhone откройте Настройки (Settings), перейдите в настройки Wi-Fi, выберите активную Wi-Fi сеть, пролистайте экран вниз и выберите пункт Настройка прокси (Configure Proxy). Метод определения выберите Вручную (Manual) и укажите IP-адрес и порт.

Далее нужно установить сертификат прокси-сервера.

Если используете Fiddler, запустите его на компьютере. В браузере на устройстве, которому нужно дать доступ к VPN, перейдите по адресу :8888/ В открывшемся окне нажмите на ссылку FiddlerRoot certificate и скачайте сертификат.

Если используете Charles, запустите его на компьютере. В браузере на устройстве, которому нужно дать доступ к VPN, перейдите по адресу Разрешите загрузку профиля и скачайте сертификат.

Настройка устройства

Установите скачанный сертификат Fiddler или Charles. Процесс установки зависит от используемого устройства и может различаться.

Например, чтобы установить сертификат на iPhone откройте Настройки (Settings), перейдите в Основные (General), пролистайте вниз и выберите пункт Профили и управление устройством (Profiles & Device Management). В открывшемся меню найдите загруженный профиль сертификата, откройте его, а затем установите.

Дополнительно может потребоваться установить доверие сертификату. Откройте Настройки (Settings) – ОсновныеОб этом устройстве (About), пролистайте вниз до конца, выберите пункт Доверие сертификатов (Certificate Trust Settings). В открывшемся окне отметьте переключателем сертификат, которому хотите дать доверие.

Настройка устройства

Подключитесь к VPN на компьютере, затем запустите Fiddler или Charles и попробуйте получить доступ в сеть на устройстве.

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

Читайте также:  Как импортировать JSON-файл Grafana Dashboard вручную

Если шаги выше проделаны, чтобы с устройства выйти в интернет через VPN-сервер другой страны, зайдите на адрес и убедитесь, что регион или страна изменились на желаемые.

Настройка устройства

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

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

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

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

Заключение

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

Читайте также:  Настройка локальных репозиториев в Linux

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

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

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

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

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

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

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