Фидлер программа для чего

В этой статье мы рассмотрим установку, настройку и просмотр трафика через приложение Fiddler .

Fiddler — это инструмент для просмотра HTTP-трафика. Его можно использовать при работе не только в браузере, но и при анализе любого приложения, которое поддерживает работу через прокси.

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

  • Для начала соглашаемся с лицензией, нажимая I Agree :
  • Можно оставить папку по умолчанию, нажимаем Install :
  • Программа установлена.

Настройка Fiddler

  • Далее запускаем Fiddler и переходим к настройкам. Нам необходимо настроить инструмент так, чтобы он мог расшифровывать HTTPS-трафик. Для этого необходимо включить данную возможность и добавить сертификат Fiddler-а в хранилище сертификатов браузера . Чтобы это сделать, открываем Tools -> Options :
  • Во вкладке HTTPS включаем параметр Decrypt HTTPS traffic . Теперь мы можем расшифровать данные, которые передаются между нашим клиентом и сервером.

Источник: dzen.ru

Лайфхаки в тестировании: используем Fiddler в работе [Скринкасты]

Первые шаги с Fiddler Classic

Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэтому давайте рассмотрим базовые возможности, которыми мы пользуемся каждый день.

Fiddler это:

Кроссплатформенное приложение прокси-сервера для отладки HTTP. Он позволяет пользователю просматривать HTTP, HTTPS и активированный трафик TCP-порта, доступ к которому осуществляется с локального компьютера, на него или через него. Сюда входят запросы и ответы, включая HTTP-заголовки и метаданные (например, файлы cookie, кэширование и кодирование информации), с функциями, предназначенными для помощи разработчикам и тестировщикам в анализе соединений и обмене сообщениями.

Первые шаги

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

Для начала необходимо загрузить и установить приложение.

Если у вас операционная система MAC или Linux, то для этого Вам необходимо будет перейти в соответствующий раздел для загрузки специальной версии Fiddler Everywhere. В данной статье мы будем рассматривать работу с Fiddler Classic для ОС Windows.

2. Выбор браузера для сниффинга

Для начала давайте выберем какой браузер мы хотим проксировать. В качестве примера мы выберем браузер Mozilla Firefox. Для этого перейдем во вкладку Browse -> далее выбрать нужный нам браузер.

3. Начинаем сниффить трафик

После того, как мы выбрали нужный нам браузер, нам необходимо установить сертификат. Для этого перейдем во вкладку Tools -> Options.

Fiddler для тестировщика / Установка и настройка

В открывшемся диалоговом окне нам необходимо выбрать вкладку HTTPS.

Далее необходимо выбрать чекбокс «Decrypt HTTPS traffic». Далее разрешить установку сертификата.

После того, как мы установили сертификат, давайте в браузере откроем, например, сайт Юлы. В разделе слева мы видим все запросы к хосту api.youla.io и не только. Среди запросов выберем нужный нам запрос, например на выдачу всех товаров: https://api.youla.io/api/v1/products

Для того, чтобы декодировать ответ, необходимо нажать на «Response body is incoded. Click to decode.».

Читайте также:
Программа пони для чего она

4. Настройка прокси на Android

Чтобы отображались запросы приложения Android, вам необходимо разрешить удаленное подключение. Для этого перейдем во вкладку Tools -> Options. В открывшемся диалоговом окне нам необходимо выбрать вкладку Connections.

Далее необходимо выбрать чекбокс «Allow remote computers to connect» и «Capture FTP requests». Fiddler теперь прослушивает порт 8888 (это порт по умолчанию, вы можете изменить его из приведенной выше настройки). Для применения настроек, нажимаем «ОК» и перезапускаем Fiddler.
Теперь нам необходимо настроить наше Android устройство. Возьмите в руки телефон, откройте Свойства сети → Название сети WiFi → Прокси-сервер → Вручную → Имя хоста: *ваш IP* / Порт: *8888* → Сохраните измененные свойства сети (указывается IP адрес вашего ПК, на котором установлен Fiddler).

Перейдем по ссылке http://ipv4.fiddler:8888 и скачаем FiddlerRoot certificate, далее начнется автоматическая загрузка сертификата. Откройте его, задайте имя сертификата, и теперь у вас есть доступ к трафику Android-приложения.

В качестве примера, перейдем в приложение Юла и откроем карточку любого товара. В левой части экрана найдем запрос на карточку товара, это: https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323 . А в правой верхней части находится – request запроса, в правой нижней – response. Не забываем нажать на «Response body is incoded. Click to decode.», чтобы декодировать ответ.

5. Настройка прокси на iOS

Возьмите в руки iPhone, откройте Свойства сети → Название сети WiFi → Прокси-сервер → Вручную → Имя хоста: *Наш IP* / Порт: *8888* → Сохраните измененные свойства сети.

Теперь необходимо перейти по ссылке http://ipv4.fiddler:8888 , скачать FiddlerRoot certificate, «Разрешить» загрузку профиля конфигурации.

Далее перейдите в Настройки → Профиль загружен → Установить.

Затем перейдите в Настройки → Основные → Об этом устройстве → Доверие сертификатам → найдите установленный сертификат и сделайте его «Доверенным».

В качестве примера, перейдем в приложение Юла и откроем карточку любого товара. В левой части экрана найдем запрос на карточку товара, это: https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323 . А в правой верхней части находится – request запроса, в левой нижней – response. Для того, чтобы декодировать ответ, необходимо нажать на «Response body is incoded. Click to decode.».

Операции над запросами

Справа, в окне, где находятся request и response, располагаются дополнительные инструменты:

Statistics — позволяет получать различные статистики как по одному запросу, так и по пачке выделенных;

Inspectors — дает возможность просматривать в различном виде заголовки и данные запроса;

Filters — позволяет следить за конкретными запросами;

Timeline — визуальное представление выполненных запросов на временной шкале.

Подмена данных в Fiddler Classic

Представим, что нам надо протестировать на клиенте верстку. Нужно проверить, как будет отображаться большое количество бонусов у пользователя. Один из вариантов, который многие предложат: изменить в БД количество бонусов и проверить на клиенте. Да, вы будете правы!

Однако на сервере может быть кэш, и необходимо подождать какое-то время, пока количество бонусов не обновится, либо просто подключиться к самой базе и выполнить запрос — это занимает определенное время. Есть вариант проще: изменить ответ от сервера! В Fiddler Classic есть несколько вариантов подмены данных, рассмотрим некоторые из них:

1.1 Automatic Breakpoints

Breakpoint — это некая точка остановки запроса. Когда обнаруживается запрос из заданного списка, он отображается справа и с ним можно взаимодействовать.
Для начала, давайте поставим breakpoint на request, т.е на запрос. Перейдем в Rules -> Automatic Breakpoints и выберем «Before requests»

Читайте также:
Программа гудвилл порше что это

Выполним запрос на пользователя https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8 и после выполнения запроса с клиента, в нашем случае это android приложение Юла, request запроса отображается справа. Мы его можем отредактировать.

Для того, чтобы отправить запрос, нажмем Run to Completion. Наш запрос отправится на сервер.
Но мы, например, хотим изменить количество бонусов у пользователя на клиенте. Для этого нам необходимо изменить ответ от сервера. Поэтому выберем «After Responses» в Rules -> Automatic Breakpoints.

У нас имеется приложение и профиль пользователя, у которого сейчас 45 бонусов на счету:

Запрос, в котором приходит это количество бонусов: https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8
В левой части экрана мы видим ответ от сервера.

Найдите нужный параметр — «bonus_cnt»:45. Далее измените значение параметра bonus_cnt, например, на 1 000 000 бонусов, и нажмите «Run to Completion».

На клиенте отобразится новое количество бонусов. Мы богаты!

1.2 AutoResponder

AutoResponder — это некая точка остановки запроса. Когда обнаруживается запрос из заданного списка, он отображается справа и с ним можно взаимодействовать.

Выберем необходимый нам запрос и перетащим его в правую часть.

После перетаскивания будет выглядеть так:

Далее нам надо изменить правило, для этого изменим:
METHOD:PUT EXACT:https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8?adv_id=99d548bc-0ca0-434e-b016-24611313d9deuid=85c9a921c27fb0e8usr_longitude=37.5032966 Edit Response.

В открывшемся окне идем в RAW, изменяем ответ:

Изменим значение с «45» на «1000000» бонусов:

Сохраним измененный ответ, нажав «Save» и перезапрашиваем экран «Профиль пользователя». Мы богаты:

Моделирование скорости

Данная возможность предоставляется в скрипте. Вы можете изменить его поведение, перейдя в настройки Rules -> Customize Rules и отредактировав значения блока скрипта:

if (m_SimulateModem) // Задержка отправки на 300 мсек на каждый загруженный КБ.
oSession [«просачивание-задержка»] = «300»;
// Задержка приема 150 мс на загруженный КБ.
oSession [«задержка-отклик»] = «150»;
>

Для включения данной функции перейдите в Rules -> Performance и выберите пункт «Simulate Modem Speeds».

Конструирование запросов

Представим, что нам нужно самостоятельно отправить запрос и посмотреть ответ. Для данной задачи есть инструмент Request Builder. С помощью данного инструмента можно самостоятельно конструировать HTTP-запросы. В качестве примера давайте запросим товары с экрана «Главная» в сервисе Юла.
Сначала выберем нужный нам метод, в нашем случае это GET запрос. Далее составим сам запрос: http://api.youla.io/api/v1/products

Следующим шагом — выполним наш запрос, нажав Execute. В левой части мы видим выполненный запрос на товары. Выберем данный запрос и через инструмент Inspectors посмотрим запрос и ответ:

Резюме

  • тестирование мобильных приложений
  • тестирование web-приложений

Источник: habr.com

Для чего используют fiddler в тестировании

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

В таких случаях можно использовать прокси-сервер Fiddler — промежуточное звено между клиентом (браузер, мобильное приложение и т. д.) и целевым сервером. Скорее всего, этот инструмент вам известен, но обычно говорят о нем вскользь. Мы по шагам разберем, как проверить с помощью Fiddler, что отобразится на UI при изменении запроса к серверу или возвращаемого ответа.

Читайте также:
Что за программа простой бизнес

Предположим, есть сайт dataart.ru. На его главной странице выводится блок с будущими ивентами. Если никаких событий нет, то и секция, соответственно, не должна отображаться вместе с заголовком и вспомогательными иконками.

Но что делать, если контент есть, а проверить кейс с отсутствием будущих ивентов нужно? Один из вариантов — использовать Fiddler.

Итак, моделируем случай, когда на главной странице нет будущих ивентов:

1. Запускаем Fiddler. Чистим Web Sessions list слева.

2. Включаем Capturing в левом нижнем углу, чтобы отлавливать трафик.

3. Обновляем страницу dataart.ru в браузере и видим отправленные запросы в левой части окна Fiddler. Нас интересует запрос GET “/Umbraco/Api/Events/GetEventsForHomePage?tags=8”, который возвращает будущие события для нашей страницы. Если в ответе ничего не приходит, то блок с ивентами, заголовком и вспомогательными иконками не отображаются.

4. В этом случае можно модифицировать либо запрос перед отправкой на сервер, либо ответ на этот запрос перед тем, как его получит клиент.

В Fiddler это можно реализовать с помощью breakpoints. Вручную breakpoints могут задаваться через QuickExec консоль следующим образом:

bpu https://dataart.ru/Umbraco/Api/Events/GetEventsForHomePage?tags=8 — создаем breakpoint перед отправкой нужного

bpа https://dataart.ru/Umbraco/Api/Events/GetEventsForHomePage?tags=8 — создаем breakpoint перед возвращением

Давайте рассмотрим каждый вариант отдельно.

5. Чтобы изменить запрос перед отправкой на сервер, выполняем команду в QuickExec консоли:
bpu https://dataart.ru/Umbraco/Api/Events/GetEventsForHomePage?tags=8

Обновляем в браузере страницу dataart.ru (в это время Capturing должен быть включен для Fiddler) и видим, что выполнение нужного нам запроса приостановлено. На это указывают иконка красного цвета напротив запроса в интерфейсе Fiddler и отсутствие блока с ивентами на самой веб-странице.

Что можно сделать на этом этапе? Изменить/добавить/удалить заголовки, куки, параметры запроса и т. д. Чтобы в ответе ничего не пришло, нам достаточно, например, во вкладке WebForms указать такое значение параметра tags, которое не должно вернуть никаких результатов.

После необходимых изменений запроса все, что остается сделать — кликнуть на Run to Completion и посмотреть на результат в браузере.

Важный момент: чтобы отключить breakpoints, нужно ввести в QuickExec консоль команды “bpu “ или “bpa“ без аргумента. Перед тем как перейти к рассмотрению следующего варианта, желательно убрать созданный breakpoint для запроса через “bpu “ соответственно.

6. Чтобы изменить ответ на запрос перед возвращением его клиенту, выполняем команду в QuickExec консоли:
bpa https://dataart.ru/Umbraco/Api/Events/GetEventsForHomePage?tags=8

Обновляем в браузере страницу dataart.ru (в это время Capturing должен быть включен для Fiddler) и видим, что отправка клиенту нужного нам ответа приостановлена. На это указывают иконка красного цвета напротив запроса в интерфейсе Fiddler и отсутствие блока с ивентами на самой веб-странице.

Для нашей цели достаточно подменить тело ответа. Переходим во вкладку TextView и вместо всего содержимого вставляем ответ, который приходит в тех случаях, когда нет результатов — <«items»:[],«total»:0>. Но не забываем, что изменять можно разные данные (статус код, заголовки и т. д.).

Теперь все, что остается сделать — кликнуть на Run to Completion и посмотреть на результат в браузере.

Существуют и другие способы подключения breakpoints, об этом можно прочитать в небольшой статье Эрика Лоуренса, создателя Fiddler.

Источник: testirovanie24.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru