Фидлер что это за программа

Содержание

Fiddler

Fiddler — бесплатное ПО для сбора, мониторинга и отладки трафика.

Это ПО является прокси-сервером и может работать с HTTP и HTTPS трафиком. Возможности программы позволяют тестировать правильность работы сайтов и различных приложений. Также можно производить сбор и мониторинг трафика между устройством пользователя и удаленным сервером.

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

Решение поддерживает работу со всеми распространенными браузерами и операционными системами. Fiddler может обрабатывать трафик с Microsoft Office и WinINet. Для большего удобства есть график производительности по отношению ко времени, где отмечаются разрывы соединения или задержки.

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

Скачать MultiSetup
безопасно с помощью MultiSetup или ниже по прямой ссылке с сервера

Преимущества и недостатки

  • Позволяет совершать отладку веб-приложений
  • Позволяет тестировать работу веб-сайтов
  • Создание HTTP и HTTPS-запросов
  • Тонкие настройки программы под потребности пользователя
  • Сложный для освоения интерфейс
  • Отсутствие русской локализации

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

запись трассировок Fiddler в Windows IoT Core

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

Предположения

  • Вы выводите PuTTY поле разработчика или альтернативу SSH
  • Приведенные ниже инструкции позволяют предположить, что виртуальная машина центра Интернета вещей будет работать на любом устройстве центра Интернета вещей.

Начальная настройка.

  1. Скачайте и установите последнюю версию Fiddler в поле разработчика, если вы еще не сделали этого.
  2. Запустите Fiddler и сделайте следующие обновления параметров в разделе Сервис- > Telerik Fiddler параметры- > HTTPS .
    • Проверка записи подключения HTTPS
    • Проверка расшифровки HTTPS- > трафика во всех процессах
    • Щелкните ссылку «сертификаты, созданные» и выберите модуль MakeCert (рекомендация: Restart Fiddler, чтобы это изменение вступило в силу).
    • Затем экспортируйте файл Фиддлеррут. cer с помощью действий — > Экспортируйте корневой сертификат на Рабочий стол .
    • Выполните следующие обновления параметров в разделе » Сервис- > Telerik Fiddler параметры — > вкладка» подключения «:
      • настройте Fiddler в качестве системного прокси-сервера, установив флажок разрешить удаленным компьютерам Подключение
      • Fiddler прослушивает порт , должен быть установлен в значение 8888

      Примечание. После этого следует перезапустить Fiddler и принять все запросы контроля учетных записей.

      Основы тестирования API. Инструмент Fiddler

      Перенос и импорт корневого сертификата Fiddler

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

      1. Подключите VHD-файл (щелкните правой кнопкой мыши виртуальный жесткий диск и выберите пункт подключить) или подключитесь к устройству IOT с помощью выводимого файла (или альтернативного клиента SSH).
      2. Перейдите к разделу Маинос и создайте тестовую папку в корне (через SSH, используйте MD c:test).
      3. Скопируйте Фиддлеррут. cer, созданный выше (должен быть на рабочем столе по умолчанию), в расположение тестовой папки.
      4. При использовании виртуального жесткого диска отключите его, выполнив извлечение любого подключенного диска, а затем запустите виртуальную машину центра Интернета вещей с помощью Hyper-V.
      5. Запуск сеанса SSH и вход от имени администратора
      6. Перейдите в каталог c:test в сеансе SSH.
      7. Импортируйте корневой сертификат Fiddler с помощью команды:
        • certmgr -add FiddlerRoot.cer -r localmachine -s root
        • Закрыть сеанс SSH

        Настройка прокси-сервера на виртуальной машине или устройстве IoT Core

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

        1. Определение IP-адреса компьютера разработки с помощью консоли CMD с помощью ipconfig
        2. Запустите новый сеанс SSH и на этот раз войдите в систему как defaultUser (имя_пользователя: дефаултаккаунт PWD: [Blank] ).
        3. Задайте прокси-сервер с помощью следующих команд:
          • reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyEnable /t REG_DWORD /d 1
          • reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyServer /t REG_SZ /d [PC IP address]:8888

          Если этот компьютер еще не запущен, запустите Fiddler на своем компьютере, перезапустите виртуальную машину или устройство IoT Core, и трафик теперь должен маршрутизироваться через Fiddler.

          Примечание. Если вы видите параметр HTTPS CONNECT в Fiddler, но данные отсутствуют, вероятно, сертификат установлен неправильно. Убедитесь, что вы не пропустили действия по перемещению и импорту корневого сертификата Fiddler выше.

          Кроме того, если вы хотите отключить прокси-сервер, обратите внимание, что указанные выше ключи реестра кэшируются в двоичном BLOB-объекте другого ключа. Таким образом, помимо удаления только тех разделов, которые были добавлены в шаге 3 выше, необходимо выполнить следующие действия.

          reg delete «hkcuSoftwareMicrosoftWindowsCurrentVersionInternet SettingsConnections»

          Источник: learn.microsoft.com

          Fiddler-инструмент для анализа трафика мобильных приложений. Выявляем уязвимости

          Согласно статистике — в 2020 году мобильные приложения были загружены пользователями более 240 млн раз, и это число продолжает расти.

          12 362 просмотров

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

          Большинство современных мобильных приложений построены на клиент-серверной архитектуре. Как правило, клиент функционирует под управлением одной из популярных мобильных ОС – Android или iOS, и обменивается данными с сервером. Использование открытых незащищенных протоколов передачи данных многократно увеличивают риски компрометации передаваемого трафика. Но даже защищенные соединения не всегда дают 100% гарантию надежности сохранности данных.

          Читайте также:
          Moxier pro что это за программа на Андроид

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

          (Если вы уже работали с этим инструментом, делитесь опытом в комментариях)

          Подготовительные шаги

          Для начала установите Fiddler на ПК или ноутбук. Убедитесь, что ПК/ноутбук и смартфон находятся в одной сети (например, подключив устройства к одному wifi-роутеру). Это условие является обязательным, т.к. устройства не увидят друг друга. Проверить связь между устройствами можно через команду ping.

          Настройка Fiddler

          Далее, убедитесь, что Fiddler может принимать входящие соединения:

          1. Откройте Fiddler, далее: Tools → Options, вкладка «Connections»;
          2. Поставьте флажок «Allow remote computers to connect»;
          3. Перезапустите Fiddler, чтобы изменения в настройках вступили в силу.

          Настройка устройства на базе Android

          Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на Android-устройстве выполните шаги:

          1. Откройте настройки, далее выберите Wi-Fi, затем нажмите на имя подключенной сети и удерживайте, пока не появится всплывающее окно;
          2. Нажмите «изменить сеть», далее в всплывающем окне разверните пункт «расширенные настройки»;
          3. Выберите «Вручную» в поле со списком «Прокси-сервер»;
          4. В поле «Имя хоста прокси-сервера» введите IP-адрес вашего ПК/ноутбука;
          5. В поле «порт прокси-сервера» введите порт (по умолчанию 8888).

          После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.

          Настройка устройств на базе iOS

          Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на iOS-устройстве выполните шаги:

          1. Откройте Настройки → Wi-Fi;
          2. Найдите сеть, к которой подключен смартфон, и нажмите на значок «i»;
          3. Пролистайте вниз, найдите «настройка прокси», далее выберите «Вручную»;
          4. В поле «Сервер» введите IP-адрес вашего ПК/ноутбука;
          5. В поле «Порт» введите значение по умолчанию: 8888.

          После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.

          Перехват HTTPS-трафика

          С этими настройками возможен перехват только незащищенного HTTP-трафика. Для работы с защищенным HTTPS-трафиком потребуется установка корневого сертификата на устройствах, а также дополнительная настройка Fiddler.

          1. Перейдите по ссылке на устройстве: http://ipv4.fiddler:8888
          2. Установите сертификат:
            Для Android: скачайте FiddlerRoot certificate, откройте его, установите и задайте имя. Для iOS: скачайте FiddlerRoot certificate, откройте его, нажмите «разрешить», после чего перейдите в Настройки → Профиль загружен → Установить. Далее в Настройках → Основные → Об этом устройстве → Доверие сертификатам → найдите сертификат и сделайте его доверенным.
          3. В настройках Fiddler (Options→ HTTPS) установите флажок «Decrypt HTTPS traffic», после чего разрешите установку сертификата.

          После этого вы сможете работать и анализировать защищенный HTTPS-трафик в Fiddler.

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

          Fiddler = удобный сниффер + прокси сервер

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

          Зачем это делать ?

          Пример 1. Анализ трафика.
          Пользователи вашей сети пользуются вашим прокси-сервером. Вы можете увидеть на какие сайты заходят пользователи, запрещать дальнейшие переходы на эти сайты.

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

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

          Пример 4. Подмена POST-данных.
          Вам нужно подправить данные передаваемые на веб-сервер через POST-запрос. Существует множество информации передаваемой в POST-запросах. Пример: отправка логина/пароля на сервер в процессе авторизации. Или онлайн тест отправляет на сервер результаты вашего теста.

          Установка Fiddler

          1. Переходим на https://www.telerik.com/download/fiddler, скачиваем Fiddler Classic.
          2. Установка простая и быстрая.
          3. Запускаем программу.

          Настройка Fiddler

          В меню File есть опция «Capture Traffic». По умолчанию опция включена. Это означает что Fiddler прописывает в реестре Windows себя в качестве прокси-сервера. Браузеры Internet Explorer, Edge, Chrome используют данную настройку, а значит HTTP-пакеты от этих браузеров пойдут через Fiddler.

          Если опция «File -> Capture Traffic» выключена, то Fiddler перестает работать как системный прокси-сервер и перехватывает только те пакеты, которые идут непосредственно на адрес Fiddler. Это может быть когда вы настроили ваше приложение или браузер сами для работы через ip/port Fiddler. По умолчанию Fiddler слушает на порту 127.0.0.1:8888

          Опция «Keep: All sessions».
          В данном режиме Fiddler не очищает журнал собранных HTTP-пакетов. Если требуется продолжительная работа Fiddler, то при большой нагрузке этих пакетов будет очень много и Fiddler скушает всю доступную оперативную память компьютера. Чтобы этого не случилось переключите в режим «Keep: 100 sessions».

          Опция «Decode».
          По умолчанию выключена. В процессе анализа собранных пакетов рекомендуется включить чтобы пакеты автоматически декодировались. Либо можно выделить собранные пакеты через Ctrl+A, вызвать меню нажатием правой кнопки мыши по выделенным пакетам и нажать «Decode Selected Sessions».

          Основные настройки

          Переходим в «Tools -> Options. «.

          Вкладка «HTTPS».
          После установки Fiddler не собирает HTTPS-трафик, это необходимо включить. Ставим галочку в опции «Decrypt HTTPS traffic». После этого Fiddler сгенерирует самоподписанный сертификат и спросит хотите ли установить данный сертификат. Отвечаем да.

          Опция «Ignore server certificate errors (unsafe)» — сразу можно не включать. На некоторых порталах бывают ошибки сертификатов, но это редко. Как увидите так включите )
          Настройка протоколов. По умолчанию стоит значение «;ssl3;tls1.0». Советую сразу установить значение на «;ssl3;tls1.0;tls1.1;tls1.2». После изменения настроек необходимо перезапустить программу чтобы настройки вступили в силу.

          «Trust Root Certificate» — если сгенерированный Fiddler сертификат вы не установили после включения опции «Decrypt HTTPS traffic», то можно это сделать здесь.

          «Export Root Certificate to Desktop» — если вы планируете использовать Fiddler как прокси-сервер локальной сети, то на каждом устройстве пользователя необходимо установить сгенерированный выше сертификат. С помощью этой опции сохраняете сертификат на ваш рабочий стол.

          «Reset All Certificates» — в некоторых случаях необходимо сгенерировать новый сертификат взамен старого. В этом случае сбрасываем все Fiddler-сертификаты и генерируем новый сертификат.

          Вкладка «Connections».
          Здесь устанавливаем на каком порту Fiddler работает как прокси-сервер. Порт по умолчанию «8888».

          «Allow remote computers to connect» — включаем опцию чтобы Fiddler начал принимать подключения от других компьютеров.

          «Act as system proxy on startup» — по умолчанию опция включена. Если включена, то при запуске опция «File -> Capture Traffic» включена.

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

          Читайте также:
          Kingsoft что это за программа как удалить

          Вкладка «Gateway».
          Здесь устанавливаем куда Fiddler отправляет входящие пакеты, какой прокси использует.

          «Use System Proxy (recommended)» — использование системного прокси из реестра текущего пользователя.

          «Manual Proxy Configuration» — возможность задать вручную прокси-сервер.

          «No proxy» — задаем что выход в Интернет напрямую, без использования прокси.

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

          Установка сертификатов на Windows устройствах

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

          Для установки сертификата используем консоль управления MMC: в коммандной строке вводим команду «mmc».

          В меню файл выбираем «Добавить или удалить оснастку». Из доступных оснасток выбираем «Сертификаты» и с помощью кнопки «Добавить» выбираем данную оснастку. Нажимаем «Ок» и выбираем «учетной записи компьютера». Это нужно чтобы открыть сертификаты которые установлены для всего компьютера, а затем установить сертификат Fiddler именно в это хранилище. Если открыть сертификаты «моей учетной записи пользователя», то после установки сертификата Fiddler в это хранилище другие пользователи данного компьютера не смогут подключиться к Fiddler.

          Установку сертификата производим в «Доверенные корневые центры сертификации».

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

          Анализ трафика

          В процессе работы Fiddler сниффит все HTTP-запросы и их обычно много. Для поиска необходимых запросов можно использовать фильтры. Правой кнопкой мыши выбираем лишний запрос, выбираем «Filter Now» и «Hide ‘. ‘» чтобы скрыть запросы к данному домену. Можно удалять вручную выделенные запросы используя кнопку «Delete».

          Кроме использования фильтров можно искать отдельный текст в теле запросов/ответов: «Ctrl+F» для открытия меню поиска. Найденные запросы подсвечиваются по умолчанию желтым цветом.

          Изменение данных запросов

          В Fiddler существует инструмент «Fiddler ScriptEditor» (Редактор скриптов) для создания правил модификации трафика. Запуск редактора скриптов через «Ctrl+R» или выбора пункта меню «Rules -> Customize Rules. «.

          В редакторе скриптов есть два основных метода: «OnBeforeRequest» и «OnBeforeResponse»:

          «OnBeforeRequest» — выполнение скриптов в этом методе происходит перед отправкой пакетов на веб-сервер.

          «OnBeforeResponse» — выполнение скриптов в этом методе происходит после получения ответа от веб-сервера.

          Ниже приведены примеры скриптов с указанием в каком методе их расположить.

          Задача 1: Запрет сайта

          Запрещаем переход на адрес сайта содержащий строку.

          // OnBeforeRequest if (oSession.uriContains(«//ya.ru/»)) oSession.host = ‘access.denied’;

          Задача 2: Запрет загрузки ресурса

          Запрещаем загрузку «.svg» файлов для заданного адреса сайта.

          // OnBeforeRequest if (oSession.uriContains(«yastatic.net») oSession.url.EndsWith(«.svg»)) < oSession.host = ‘na.derevnu.dedushke’; >// или // OnBeforeRequest if (oSession.uriContains(«yastatic.net») oSession.url.EndsWith(«.svg»)) < oSession.responseBodyBytes = new byte[0]; >// OnBeforeResponse if (oSession.uriContains(«yastatic.net») oSession.url.EndsWith(«.svg»))

          Задача 3: Переадресация запроса

          Переадресация запроса на адрес сайта содержащий строку.

          // OnBeforeRequest if (oSession.uriContains(«//ya.ru/»)) oSession.url = «yandex.ru»

          Задача 4: Сбор данных

          Пользователи подключаются через данный прокси-сервер и делают в браузерах некоторые запросы вида «https://myhost.ru?key=abcdlang=ru». Задача записать в базу данных событие поиска и передать значение vin-номера. Данный скрипт создает файлы с названием включающем vin-номер.

          Кроме скрипта необходимо создать утилиту/службу, которая раз в заданный интервал читает каталог «C:vinsearch» и записывает данные в базу данных.

          // OnBeforeResponse if(oSession.uriContains(«https://myhost.ru?key=») oSession.uriContains(«)) < oSession.utilDecodeResponse(); // поиск позиции индекса начала vin-номера var startVin = oSession.url.IndexOf(«vin=») + 4; // поиск позиции индекса конца vin-номера var endVin = oSession.url.IndexOf(«, startVin); // поиск подстроки зная индекс начала и индекс конца подстроки var vin = oSession.url.Substring(startVin, endVin — startVin); // создание файла с именем типа vin_текущееЗначениеМиллисекунд.txt oSession.SaveResponseBody(«C:\vinsearch\» + vin + «_» + DateTime.Now.Millisecond + «.txt»); >

          Задача 5: Изменить текст в ответе

          В данном примере меняем текст «Иванов» на «Петров».

          // OnBeforeResponse if (oSession.uriContains(«https://myhost.ru»))

          Задача 6: Заменить ресурс веб-портала на локальный ресурс

          Заменим картинку веб-портала на картинку расположенною на локальном диске.

          // OnBeforeResponse if (oSession.uriContains(«/Static/app/img/world.svg»)) < oSession.LoadResponseFromFile(«c:/scripts/lang.png»); >

          Задача 7: Изменение свойств HTML-объектов

          Например, есть картинка с заданными размерами в HTML и нужно эти размеры изменить.

          // OnBeforeResponse oSession.utilReplaceInResponse(‘/Static/app/img/world.svg» height=»15″ width=»15″ style=»height: 15px’,’/Static/app/img/world.svg» height=»1″ width=»1″ style visibility: hidden;»

          // OnBeforeResponse oSession.utilDecodeResponse(); oSession.utilReplaceInResponse(«#header_Area_Right

          Задача 9: Заставить страницу открываться в текущем окне

          Пример: существует JavaScript, который открывает ссылку в новом окне. Нужно сделать чтобы ссылка открывалась в текущем окне.

          // OnBeforeResponse if (oSession.uriContains(«myhost.ru») oSession.uriContains(«.js»))

          Задача 10: Выполнение скриптов для определенных IP

          В данном примере меняем текст «Иванов» на «Петров» только для IP

          // OnBeforeResponse if (oSession.clientIP == ‘192.168.0.100’)

          Задача 11: Меняем css-стили портала

          Css-файлы веб-портала можно сохранить на локальном диске, отредактировать и настроить скрипт отдавать стили с локального диска, а не с портала.

          // OnBeforeResponse if (oSession.uriContains(«/banner.css»)) < oSession.LoadResponseFromFile(«c:/scripts/banner.css»); >

          Задача 12: Запрет PUT-команды и аналогичных

          Запрет команды по ее типу: «PUT», «DELETE», etc.

          // OnBeforeRequest if (oSession.HTTPMethodIs(«PUT») oSession.uriContains(«https://myhost.ru/»))

          Задача 13: Изменение тела POST-запроса

          Изменить тело POST-запроса для заданного портала. При авторизации на данном портале вне зависимости от введенных пользователем данных на веб-портал отправятся данные из скрипта.

          // OnBeforeRequest if (oSession.uriContains(«https://myhost.ru/») oSession.RequestMethod == «POST»)

          Задача 14: Меняем заголовки HTTP-пакета

          Заголовки пакетов можно легко редактировать: удалять, добавлять, изменять.

          // OnBeforeRequest // Удалить заголовок с именем ‘User-Agent’ oSession.oRequest.headers.Remove(«User-Agent»); // Добавить заголовок ‘xxx’ со значением ‘yyy’ oSession.oRequest.headers.Add(«xxx», «yyy»); // Изменить значение заголовка с именем ‘User-Agent’ на значение ‘xxx’ oSession.oRequest.headers[«User-Agent»] = «xxx»;

          Работа с Cookie: добавление, удаление, редактирование

          // OnBeforeRequest — добавить в запрос Cookie oSession.oRequest[«Cookie»] = (oSession.oRequest[«Cookie»] + «;mycookie=xxx»); // OnBeforeRequest — изменить значение Cookie ‘JSESSIONID’ на ‘xxx’ oSession.oRequest[‘Cookie’] = oSession.oRequest[‘Cookie’].Replace(«JSESSIONID=»,»ignoredCookie=») + «;JSESSIONID=xxx»; // OnBeforeRequest — удалить Cookie ‘JSESSIONID’ oSession.oRequest[‘Cookie’] = oSession.oRequest[‘Cookie’].Replace(«JSESSIONID=»,»ignoredCookie cs»>// Всем удачи на полях сниффинга данных )

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

          Первые шаги с 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.

          В открывшемся диалоговом окне нам необходимо выбрать вкладку 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

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