Введення до Fiddler

Іноді під час тестування сайту або програми з'являється необхідність відстежити трафік між клієнтом і сервером, проаналізувати і навіть модифікувати його. Дуже часто для цих цілей використовують Fiddler – це спеціальний проксі, який перехоплює весь HTTP (S) -трафік і надає зручні засоби для роботи з ним.

Безкоштовний, потужний і гнучкий Fiddler дозволяє інспектувати, встановлювати контрольні точки, маніпулювати вхідними або вихідними даними. Використовують його як проміжну ланка між клієнтом (браузер, мобільний додаток і т. ін.) і цільовим сервером. Запустивши програму, можна побачити, що в дійсності відбувається після переходу на веб-сторінку.

 Основні можливості інструменту Fiddler:

  • надається безкоштовна платформа для відкладки;
  • працює як локальний проксі і реєструється як системний проксі під час захоплення;
  • є можливість переглядати, аналізувати і змінювати веб-трафік з усіх програм, проксі;
  • включає перехоплення HTTPS через самозавіряючий сертифікат.
Схема перехвата веб-трафика

Схема перехоплення веб-трафіку

Операції над запитами

У вікні запитів можна переглядати і вибирати запити, дивитися їх заголовки, зберігати їх на диск всі разом або окремо:

  • Statistics – дозволяє отримувати різні статистики як по одному запиту, так і по пачці виділених;
  • Inspectors – дає можливість переглядати в різному вигляді заголовки і дані запиту;
  • AutoResponder – дозволяє підставити свій файл замість сервера (задаються правила, які говорять Fiddler видавати на потрібні запити вже готові відповіді, без звернення до сервера);
  • Request Builder – зручний спосіб самостійно конструювати HTTP-запити. Можна завантажити готовий запит, «перетягнувши» його мишкою на цю вкладку;
  • Filters – дозволяє стежити за конкретними запитами;
  • Timeline – візуальне уявлення виконаних запитів на часовій шкалі.
Inspectors

Вікно запитів програми

Використання Fiddler для тестування продуктивності:

  • вимірює розмір запиту і вагу сторінки;
  • аналізує кеш, стиснення і компонування веб-сторінок;
  • імітує низькошвидкісні і високошвидкісні види з'єднання.
performance

Статистика продуктивності

Однією з найважливіших функцій Fiddler є можливість відправляти запити, наприклад для налагодження серверного методу або його перевірки. Для того, щоб правильно побудувати запит, потрібно:

  • правильно вказати метод запиту;
  • правильно скласти URL запиту – вказати необхідні параметри;
  • прописати необхідні заголовки;
  • додати тіло запиту, якщо воно потрібно або допускається.
timeline

Перегляд виконання запитів у часі (Session Timeline)

Якщо одночасно з'являється багато запитів, то відстежити ті,які нас цікавлять досить складно. Тому в програмі є фільтр, налаштувавши який можна стежити за конкретними запитами.

filters

Застосування фільтрів

Приклад захоплення і перегляду статистики запитів за допомогою Fiddler.

  1. Встановіть програму на ПК (посилання для скачування програми: https://www.telerik.com/download/fiddler).
  2. Запустіть Fiddler (якщо на ПК працює сервер і з якоїсь причини запити до localhost або 127.0.0.1 не відправляються через проксі, можна використовувати віртуальне ім'я ipv4.fiddler/ipv6.fiddler).
  3. Виконайте запит до сайту https://www.amazon.com/.
  4. Зупиніть захоплення трафіку (натиснувши F12).

Програма демонструє, що було виконано 42 сесії запитів і відповідей. Виділивши тільки одну або ж відразу всі сесії можна подивитися статистику на вкладці «Statistics»:

statistic

У вкладці «Timeline» відображається, як запити виконувалися в часі. У списку сесій можна побачити піктограму типу даних, адресу, статус, розмір та іншу інформацію.

Підводячи підсумки, можна сказати, що Fiddler – досить незвичайна програма, яка розрахована на досвідчених користувачів. Але варто зазначити, що вона буде відмінним помічником у тестуванні, відкладці та розробленні програм, сайтів, додатків та інших сервісів.