Fiddler — это мощный инструмент для анализа и отладки HTTP и HTTPS-трафика, разработанный компанией Telerik. Он широко используется разработчиками и тестировщиками для захвата, анализа и отладки сетевых запросов и ответов.
Fiddler может перехватывать трафик, идущий между вашим браузером (или другим клиентом) и сервером. Это позволяет видеть все запросы и ответы, что помогает в отладке и анализе сетевого взаимодействия.
Fiddler позволяет модифицировать HTTP-запросы перед их отправкой на сервер, а также ответы перед тем, как они будут получены клиентом. Это полезно для тестирования различных сценариев и поведения приложения.
Fiddler поддерживает создание собственных скриптов и использование плагинов для автоматизации задач и расширения функциональности.
Fiddler может расшифровывать зашифрованный HTTPS-трафик для его анализа. Для этого нужно установить сертификат Fiddler в систему.
Сессии в Fiddler можно сохранять для последующего анализа или обмена с коллегами.
Fiddler предоставляет инструменты для анализа производительности загрузки веб-страниц и ресурсов, включая тайминги запросов и ответов.
Скачивание и установка:
Запуск и базовая конфигурация:
Tools -> Options -> HTTPS и включите опцию “Decrypt HTTPS traffic”. Следуйте инструкциям для установки сертификата.
Перехват трафика:
Кликнув на любой запрос, вы сможете увидеть подробную информацию о нем в правой панели, включая заголовки, тело запроса и ответа, параметры и куки.
Для редактирования запросов выберите запрос, кликните правой кнопкой мыши и выберите “Edit in Composer”. Здесь вы можете изменить метод, URL, заголовки и тело запроса, а затем отправить его заново.
В Fiddler можно писать скрипты на языке JScript.NET для автоматизации задач. Перейдите в Rules -> Customize Rules для создания или изменения скриптов.
Фильтрация трафика: Используйте вкладку Filters для фильтрации трафика по домену, статусу ответа, типу контента и другим параметрам.
Безопасность: Не забывайте отключать перехват HTTPS-трафика после завершения работы с Fiddler, чтобы избежать возможных рисков безопасности.
Запуск Fiddler:
Tools -> Options.HTTPS и установите галочку на Decrypt HTTPS traffic.Открытие браузера и выполнение поиска в Google:
https://www.google.com/search?q=Fiddler.Кликните на запрос к https://www.google.com/search?q=Fiddler в списке сессий. В правой панели появится подробная информация о запросе и ответе.
Просмотр заголовков запроса:
Inspectors.Request Headers вы увидите все заголовки запроса, отправленные браузером на сервер.Просмотр тела запроса:
q=Fiddler.Просмотр заголовков ответа:
Response Headers для просмотра заголовков, отправленных сервером в ответ на ваш запрос.Просмотр тела ответа:
Response Body вы можете увидеть тело ответа. Поскольку это HTML-страница, вы сможете просмотреть её содержимое.В Fiddler перейдите в меню Rules -> Customize Rules. Откроется редактор скриптов.
Редактирование существующей функции OnBeforeRequest:
OnBeforeRequest и внесите в неё следующий код для подмены значения параметра q в запросах к Google.
public static function OnBeforeRequest(oSession: Session) {
// Ваш существующий код здесь...
// Добавляем проверку и изменение параметра q
if (oSession.uriContains("www.google.com/search") && oSession.uriContains("q=")) {
// Получаем текущий URL
var fullUrl = oSession.fullUrl;
// Логируем оригинальный URL для отладки
FiddlerApplication.Log.LogString("Оригинальный URL: " + fullUrl);
// Регулярное выражение для поиска параметра q
var regex = /q=([^&]*)/;
// Проверяем, содержит ли URL параметр q и подменяем его значение
if (regex.test(fullUrl)) {
// Заменяем значение параметра q на Wireshark
fullUrl = fullUrl.replace(regex, "q=Wireshark");
// Логируем измененный URL для отладки
FiddlerApplication.Log.LogString("Измененный URL: " + fullUrl);
// Устанавливаем новый URL запроса
oSession.fullUrl = fullUrl;
}
}
// Ваш существующий код может продолжаться здесь...
}
Сохранение и запуск скрипта:
Сохраните изменения в скрипте и закройте редактор.
Выполнение поиска в Google:
Откройте браузер и выполните поиск в Google, например, Fiddler.
Проверка подмены:
В Fiddler вы увидите, что запрос, отправленный на Google, теперь содержит q=Wireshark вместо q=Fiddler.
Откройте запрос и проверьте URL в Inspectors, чтобы убедиться в успешной подмене.
Запуск Fiddler:
Composer.Создание GET запроса:
https://api.escuelajs.co/api/v1/products в поле URL.GET.Отправка запроса:
Execute, чтобы отправить запрос.Анализ ответа:
Inspectors, чтобы просмотреть заголовки и тело ответа.Перехват POST запроса:
https://api.escuelajs.co/api/v1/products.Поиск нужного запроса:
https://api.escuelajs.co/api/v1/products.Редактирование запроса в Composer:
Edit in Composer.Composer откроется с деталями вашего запроса.title, price или других полей.
POST /api/v1/products/ HTTP/1.1
Host: api.escuelajs.co
Content-Type: application/json
Accept: application/json
{
"title": "Old Product",
"price": 50.99,
"description": "Old description",
"categoryId": 1,
"images": ["https://placeimg.com/640/480/any"]
}
Пример измененного запроса:
POST /api/v1/products/ HTTP/1.1
Host: api.escuelajs.co
Content-Type: application/json
Accept: application/json
{
"title": "New Product",
"price": 99.99,
"description": "Updated description",
"categoryId": 1,
"images": ["https://placeimg.com/640/480/any"]
}
Отправка измененного запроса:
Execute для отправки измененного запроса.Inspectors, чтобы просмотреть заголовки и тело ответа.Задача:
Вы хотите проанализировать производительность вашего веб-сайта.
Шаги:
Запуск Fiddler:
Запись сессий:
Анализ времени загрузки:
Statistics для анализа времени загрузки ресурсов.Оптимизация:
Перехват POST запроса:
https://api.escuelajs.co/api/v1/products.Поиск нужного запроса:
https://api.escuelajs.co/api/v1/products.Редактирование запроса в Composer:
Edit in Composer.Composer откроется с деталями вашего запроса.title, price или других полей.
// This function is called before every request
public static function OnBeforeRequest(oSession: Session) {
// Check if the request URL matches the target API
if (oSession.uriContains("api.escuelajs.co/api/v1/products")) {
// Change the User-Agent header
oSession.oRequest["User-Agent"] = "MyCustomUserAgent/1.0";
// Log the change for debugging purposes
FiddlerApplication.Log.LogString("User-Agent подменен для: " + oSession.fullUrl);
}
}
Сохранение изменений:
Тестирование:
https://api.escuelajs.co/api/v1/products через ваш браузер или любое другое приложение, чтобы убедиться, что заголовок User-Agent был подменен.Inspectors в Fiddler, чтобы просмотреть отправленные запросы и проверить, что заголовок User-Agent изменен на MyCustomUserAgent/1.0.
Вы прошли интерактивный практикум и освоили базовые навыки работы с Fiddler. Теперь пришло время углубить свои знания и стать настоящим экспертом!

Если вам требуется какая-либо поддержка или у вас возникли дополнительные вопросы, не стесняйтесь связаться с нами – мы готовы быстро оказать вам помощь.
Мы также присутствуем в социальных сетях! Подписывайтесь на нас и получайте последние новости, акции, скидки, бесплатные тренинги и участие в марафонах.
Будем рады видеть вас в нашем сообществе!
Публичная оферта. Авторское право © 2024 Школа подготовки тестировщиков