Іноді під час тестування сайту або програми з’являється необхідність відстежити трафік між клієнтом і сервером, проаналізувати і навіть модифікувати його.
Дуже часто для цих цілей використовують Fiddler — це спеціальний проксі, який перехоплює весь HTTP (S) трафік і надає зручні засоби для роботи з ним.
Безкоштовний, потужний і гнучкий Fiddler дозволяє інспектувати, встановлювати контрольні точки, маніпулювати вхідними або вихідними даними.
Використовують його як посередник між клієнтом (браузер, мобільний додаток і т. д.) і цільовим сервером.
Запустивши програму, можна побачити, що в дійсності відбувається після переходу на веб-сторінку.
Основні можливості інструменту Fiddler:
надається безкоштовна платформа для налагодження;
працює як локальний проксі і реєструється як системний проксі під час захоплення;
є можливість переглядати, аналізувати і змінювати веб-трафік з усіх програм, проксі;
включає перехоплення HTTPS через сертифікат;
можливість тестування API.
Встановлення і запуск
Для початку необхідно завантажити і встановити додаток. Якщо у вас операційна система MAC або Linux, то для цього вам необхідно буде перейти до відповідного розділу для завантаження спеціальної версії Fiddler Everywhere (як у мене). Fiddler Classic має ширший функціонал, але працює лише для ОС Windows.
Перехоплення трафіку
Після того, як ми вибрали потрібний нам браузер, нам необхідно встановити сертифікат. Для цього перейдемо у вкладку Settings for Fiddler Everywhwre або Tools -> Options for Fiddler Classic.
У діалоговому вікні нам необхідно вибрати вкладку HTTPS.
Далі необхідно вибрати чекбокс Capture HTTPS traffic / Decrypt HTTPS traffic. Далі дозволити установку сертифіката: Trust root certificate.
Відкриваємо в браузері amazon.com і переглядаємо трафік у Fiddler:
Налаштування проксі на мобільні пристрої
Щоб відображалися запити з додатків з мобільних пристроїв, вам необхідно дозволити віддалене підключення.
Для цього перейдемо у вкладку Settings (Tools -> Options) У діалоговому вікні необхідно вибрати вкладку Connections.
Далі необхідно вибрати чекбокс Allow remote computers to connect.
Fiddler тепер прослуховує порт 8866 (це порт за замовчуванням, ви можете змінити його). Для застосування налаштувань, натискаємо Save і перезапускаємо Fiddler.
Налаштування проксі на Android
Тепер нам необхідно налаштувати Android пристрій. Візьміть в руки телефон, відкрийте Властивості мережі→ Назва мережі WiFi → Проксі-сервер → Вручну → Ім’я хоста: ваш IP / Порт: 8888 → Збережіть змінені властивості мережі (вказується IP адреса вашого ПК, на якому встановлено Fiddler)
Перейдемо за посиланням http: //ipv4.fiddler: 8866 і скачуємо FiddlerRoot certificate, далі почнеться автоматичне завантаження сертифіката. Відкрийте його, задайте ім’я сертифіката, і тепер у вас є доступ до трафіку Android-додатків.
Налаштування проксі на iOS
Візьміть в руки iPhone, відкрийте Властивості мережі → Назва мережі WiFi → Проксі-сервер → Вручну → Ім’я хоста: Наш IP / Порт: 8866 → Збережіть змінені властивості мережі.
Тепер необхідно перейти за посиланням http: //ipv4.fiddler: 8866, скачати FiddlerRoot certificate, «Дозволити» завантаження профілю конфігурації.
Запис трафіку
Після того, як Fiddler Everywhere встановлено та налаштовано, настав час використовувати одну з основних функцій проксі-клієнта — фіксацію веб-трафіку. Клієнт реєструє весь трафік HTTP та HTTPS між вашим комп’ютером та Інтернетом. Ви можете аналізувати та налагоджувати вхідний та вихідний трафік практично з будь-якої програми, що підтримує проксі-сервер (наприклад, Google Chrome, Firefox, Microsoft Teams, Outlook тощо). Ви можете використовувати захоплений трафік для налагодження проблем, пошуку вузьких місць продуктивності або обміну ним із товаришами по команді.
Вловлювати трафік за допомогою Fiddler Everywhere так само просто, як виконати два кроки:
Запустіть Fiddler. Переконайтеся, що він правильно налаштований.
Переключіть Live Traffic до Capturing.
Огляд трафіку
З уже захопленим трафіком процес аналізу розпочався. Перше місце, де ми можемо отримати інформацію про захоплені сеанси — це Live Traffic. Кожен сеанс (сеанс — це запит / відповідь) перераховується в рядку з кількома полями стовпців у списку сеансів. Ви можете отримати корисну інформацію, який повернутий код стану, хост та URL-адреса, тип використовуваного протоколу (HTTP проти HTTPS), розмір тексту в байтах, використовуваний метод HTTP (наприклад, GET або POST) тощо.
Виберіть сеанс (натиснувши рядок сеансу), щоб відкрити додаткову інформацію про запит на сеанс та відповідь у інспекторах Fiddler. Інспектори запитів та відповідей — це потужні інструменти, які дозволять вам глибоко занурюватися під час кожного сеансу, щоб ви та ваші товариші по команді могли налагодити його або знайти вузькі місця у роботі.
Збережіть вибраний сеанс або кілька вибраних сеансів за допомогою контекстного меню (або за допомогою комбінації клавіш). Збережені сеанси доступні у списку Sessions, з яких їх можна перезавантажити або поділитися зі співавторами.
Інспекційні сесії часто проводяться з товаришами по команді або зовнішніми співробітниками. Поділіться вибраним сеансом або декількома вибраними сеансами безпосередньо зі списку поточного трафіку або за допомогою списку сеансів.
Зміна трафіку
Редагування трафіку за допомогою клієнта Fiddler Everywhere — одна з найпростіших і в той же час найпотужніших методів налагодження. Замість того, щоб намагатися протестувати свій API або веб-сайт за допомогою інтерфейсу користувача та зробити кілька кліків, ви можете перезавантажити бажаний сеанс у Composer, внести зміни до бажаних значень та повторно виконати запит. Для завантаження та модифікації сеансу за допомогою Composer виконайте наступні дії:
1. Встановіть Live Traffic на Capture та зробіть запит. Сеанс фіксується та відображається у списку Live Traffic.
2. Виберіть потрібний сеанс і клацніть правою кнопкою миші, щоб відкрити контекстне меню.
3. У контекстному меню виберіть Edit in Composer. Або виберіть сеанс і скористайтесь комбінацією клавіш, натиснувши клавішу E.
4. Сеанс відкривається у новому вікні Composer, і тоді ви можете змінити бажані значення. Наприклад, змінити корисне навантаження даних, змінити заголовки, протестувати автентифікацію тощо.
5. Клацніть Execute.
Фактично, ви змінили існуючий запит так само, як і ваш додаток. У списку Live Traffic ви можете знайти нещодавно виконаний запит та відповідь сервера.
Маніпуляції над Server Responce
Однією з найпотужніших функцій клієнта Fiddler Everywhere є Auto Responder — інструмент для маніпуляцій над реакціями сервера та моделювання різних сценаріїв реального життя. За допомогою Автовідповідача ви можете створювати правила, які автоматично запускатимуть певний запит (який охоплює критерії, встановлені в правилі). Маніпуляції з відповіддю сервера так само просто, як увімкнути AutoResponder, встановити правило та виконати запит (що ініціює правило).
Створення запитів API
Fiddler Composer дозволяє створювати запити до API. Запити до локальних та онлайн-API дозволять вам перевіряти та налагоджувати різні кінцеві точки, перевіряти та аналізувати запити та відповіді, а також швидко отримувати дані.
Створіть свій перший запит API, виконавши такі дії:
Виберіть відповідний метод HTTP і введіть URL-адресу кінцевої точки. Composer підтримує методи GET, POST, PUT, DELETE, TRACE, SEARCH і PROPFIND. Composer також дозволяє змінювати версію протоколу HTTP через випадаюче меню ліворуч від кнопки Execute.
Якщо потрібно, введіть додаткові headers, параметри та тіло. Наприклад, загальноприйнятими сценаріями є введення authorization header, Content-type header, custom body data.
Натисніть Execute, щоб надіслати складений запит API.
Перевірте результат у інспекторі відповідей композитора. Як і інспектори вкладки Live Traffic, Response inspector для Composer надає кілька видів (наприклад, Headers, Raw, JSON тощо).
Спільна робота з Fiddler Everywhere
Клієнт Fiddler Everywhere забезпечує легкий та безпечний обмін журналами налагодження мережі у ваших командах на проєкті для швидкого аналізу, зв’язку та вирішення.
У попередніх версіях Fiddler Everywhere співпраця обмежувалася експортом файлів .saz та їх спільним використанням через інший канал. Тепер усі обміни та коментарі відбуваються безпосередньо в інтерфейсі Fiddler Everywhere, забезпечуючи набагато зручніший та безпечніший спосіб співпраці зі своєю командою.
Ви можете зберегти та поділитися сесіями. Мережеві сеанси, захоплені клієнтом Fiddler Everywhere, можна зберігати та переглядати пізніше. Цими самими сесіями можна також поділитися з товаришами по команді. Просто використовуйте функції спільного використання Fiddler Everywhere та запрошуйте інших членів команди до співпраці.
В даній статті ми переглянули деякі можливості Fiddler для роботи тестувальника. Fiddler Classic має набагато розширені функції. Щоб спробувати тестувати проєкти за допомогою Fiddler долучайтеся до наших онлайн курсів для тестувальників.
Ви отримаєте чудову базу та досвід роботи в резюме на кількох комерційних проєктах:
Comentários