«Руководство по сбору пакетов данных Fiddler» | Как использовать Fiddler для сбора и анализа данных?
«Руководство по сбору пакетов данных Fiddler» | Как использовать Fiddler для сбора и анализа данных?

1 О Фиддлере

  • FiddlerэтоHTTP/HTTPSОтладка инструмента захвата пакетов;
  • Для наших тестировщиков захват пакетов данных — это базовый навык, особенно для тестирования интерфейса, который используется очень часто;
  • Помимо захвата пакетов данных, наиболее часто используемые из них — это реализация поддельных запросов данных или подделка ответов сервера, а также выполнение некоторых тестов производительности или слабой сети и т. д.

2 Установка Фиддлера

  • Fiddler скачать официальный сайт
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Заполните соответствующую информацию и нажмите «Загрузить»:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Существует еще один способ установки: загрузить стороннее программное обеспечение из Интернета, затем разархивировать его и использовать напрямую. Их много, вы можете найти их самостоятельно;
  • Здесь я использовал второй метод, который используется для прямой декомпрессии:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • После открытия основной интерфейс выглядит следующим образом:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

3 Просмотр информации Fiddler

3.1 Просмотр информации о запросе

  • Давайте возьмем часть данных и посмотрим (на примере интерфейса входа в ZenTao), введите имя пользователя и пароль для входа:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Выберите интерфейс слева,Нажмитеfiddlerв правой части интерфейсаInspectors(инспектор),Вы можете увидеть подробную информацию о запросе этого интерфейса;
  • вRawВы можете увидеть полную информацию:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Например, полная запрашиваемая информация выглядит следующим образом:
Язык кода:python
кодКоличество запусков:0
копировать
POST http://localhost/zentao/user-login.html HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 137
sec-ch-ua: "Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
sec-ch-ua-platform: "Windows"
Origin: http://localhost
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost/zentao/user-login.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: lang=zh-cn; device=desktop; theme=default; goback=%7B%22program%22%3A%22http%3A%5C%2F%5C%2Flocalhost%5C%2Fzentao%5C%2Fprogram-browse.html%22%2C%22project%22%3A%22http%3A%5C%2F%5C%2Flocalhost%5C%2Fzentao%5C%2Fproject-browse.html%22%7D; zentaosid=c9e468e9ebac0b891a6914fe821ae404; windowWidth=1920; windowHeight=845; Pycharm-cc94626e=5b54e6c4-0588-4cb7-97e0-43c407bab33b

account=admin&password=450286615fad1080cfd37f5adeb1bde3&passwordStrength=1&referer=%2Fzentao%2F&verifyRand=651347427&keepLogin=0&captcha=
  • По поводу вышеизложенного Поле иллюстрирует:

Поле

иллюстрировать

POST

Метод запроса интерфейса

http://localhost/zentao/user-login.html

Запрошенная информация об адресе интерфейса

Content-Type

Запрашиваемый тип интерфейса

account

bodyсодержание,имя пользователя

password

bodyсодержание,пароль

3.2 Просмотр информации об ответе

  • Нижний столбец информации запроса представляет собой информацию ответа на запрос, а именно:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • На картинке вы можете видеть, что содержимое, возвращаемое запросом, выглядит следующим образом, что означает, что запрос в порядке:
Язык кода:python
кодКоличество запусков:0
копировать
{"result":"success","locate":"/zentao/"}

3.3 Просмотр статистики информации о сеансе

  • НажмитеStatistics , вы можете увидеть некоторые статистические таблицы информации о сеансе:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Раздел статистической информации выглядит следующим образом:
Язык кода:python
кодКоличество запусков:0
копировать
Количество запросов:  1
Отправить байты:     1,264		(Заголовок: 1,126; Текст: 138)
Получить байты:  968		(Заголовок: 928; Текст: 40)

ACTUAL PERFORMANCE
--------------
ClientConnected:	13:23:36.622
ClientBeginRequest:	13:23:36.796
GotRequestHeaders:	13:23:36.796
ClientDoneRequest:	13:23:36.797
Determine Gateway:	0ms
DNS Lookup: 		0ms
TCP/IP Connect:	0ms
HTTPS Handshake:	0ms
ServerConnected:	13:23:36.635
FiddlerBeginRequest:	13:23:36.797
ServerGotRequest:	13:23:36.797
ServerBeginResponse:	13:23:37.114
GotResponseHeaders:	13:23:37.114
ServerDoneResponse:	13:23:37.114
ClientBeginResponse:	13:23:37.114
ClientDoneResponse:	13:23:37.114

	Overall Elapsed:	0:00:00.317

RESPONSE BYTES (by Content-Type)
--------------
~headers~: 928
text/html: 40


ESTIMATED WORLDWIDE PERFORMANCE
--------------
  • Значок статистики отображает:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4 Fiddler приостанавливает захват пакетов

  • запускатьFiddlerназад,Захват пакетов не прекращается,Данные отображаются и записываются при каждом доступе к сети;
  • Если вы хотите захватить и проанализировать некоторые данные, вы можете настроить здесь приостановку захвата пакетов;
  • Кнопка паузы находится в левом нижнем углу интерфейса.Capturing(Захват пакетов),Нажмите, чтобы показать пустое,Указывает на приостановку захвата пакетов:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

5 Fiddler очищает данные захвата пакетов

  • Если вы хотите очистить захваченные пакеты данных,прямой Нажмитев левом верхнем углу интерфейса×,Просто удалите все данные:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6 наборов Fiddler Фильтрация фильтров

  • НажмитеFilters(фильтр),Войдите в интерфейс настройки фильтра:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.1 О действиях

  • на интерфейсеActionsУказывает на работу:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Параметрыиллюстрировать:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

Параметры

иллюстрировать

Run Filterset now

Запустить фильтрацию сейчас

Load Filterset

Загрузить файл конфигурации локальной фильтрации

Save Filterset

Сохранение условий фильтра в локальный файл

6.2 Об использовании фильтров

  • Use FiltersПредставляет использование операций фильтрации.;
  • Только когда эта кнопка отмечена галочкой, установленный фильтр вступит в силу.
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.3 О хостах

  • HostsУказывает, что фильтрация выполняется с использованием имени хоста.;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Среди них параметриллюстрировать можно выделить следующие:

параметр

иллюстрировать

No Zone Filter

Никакого различия между интрасетью и внешней сетью не делается.

Show only Intranet Hosts

Используйте интранет

Show only Internet Hosts

Использовать внешнюю сеть

No Host Filter

Не используйте имя хоста

Hide the following Hosts

Скройте запрос имени хоста ниже

Show only the following Hosts

Показать запрос имени хоста ниже

Flag the following Hosts

Пометить запрос ввода имени хоста

6.4 О клиентском процессе

  • Client ProcessУказывает, что фильтрация завершена посредством клиентского процесса.;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.5 О заголовках запросов

  • Request HeadersЗаголовки запросов:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.6 Response Status Code

  • Response Status CodeФильтрация осуществляется по коду статуса ответа.;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.7 Response Type and Size

  • Response Type and SizeФильтрация осуществляется по типу и размеру ответа.;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6.8 Response Headers

  • Response HeadersНастройки фильтрации выполняются через заголовки ответов.:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

7 настроек захвата пакетов HTTPS

  • Иногда вы можете только перехватывать пакетыhttpпакетные данные,ноhttpsПакет не был перехвачен,Это потому, что нет праваhttpsЗахват пакетов для установки;
  • httpsРеальность таковаhttpИнкапсулировано слоемSSLпротокол,Реализуйте шифрование данных при передаче;
  • так нужноFiddlerаутентификация сертификата;

7.1 Настройки сертификата

  • НажмитеИнструмент-Параметры
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • НажмитеHTTPS
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • НажмитеДействия,Нажмите【Экспорт корневого сертификата на рабочий стол】:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

7.2 Импортный сертификат

  • Открыть браузер,напримерChrome,входитьchrome://settings/:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Нажмите [Защита конфиденциальности-Безопасность]:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Нажмите [Управление сертификатом]:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Нажмите [Импортировать], как показано на рисунке, чтобы импортировать ранее экспортированный сертификат:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

8 Fiddler реализует слабое сетевое тестирование

8.1 Слабые настройки сетевой среды

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

8.2 Принцип реализации

  • Нажмите [Правила-Настроить правила],ОткрытьCustomRules.jsдокумент;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Открытьназадпоискm_SimulateModem,Вы можете увидеть:
Язык кода:python
кодКоличество запусков:0
копировать
 if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }
  • Выразите, еслиm_SimulateModemустановлен наtrue,Затем введите приведенный выше оператор, чтобы установить задержку, вrequest-trickle-delayУказывает скорость загрузки,response-trickle-delayУказывает скорость загрузки。

9 Fiddler устанавливает точки останова

  • Цель установки точек останова — пропустить проверку внешних данных, добиться подделки данных путем установки точек останова и напрямую проверить внутренние данные;

9.1 Метод настройки

  • Существует два способа установки точек останова: перед запросом или после ответа;
  • Установить перед запросом(Before Request)Указывает, что данные не будут сначала отправляться на сервер.,Вместо этого сначала завершите подделку данных.,Затем отправьте подделанные данные на сервер;
  • проситьназаднастраивать(After Request)Представляет собой ответ, состоящий из несколькихhttpСостав ресурсов,Несколько http-ресурсов связаны друг с другом,После установки,Анализ получения ответов по каждому ресурсу можно выполнить для нескольких ответов, сгенерированных после отправки одного запроса.

9.2 Пример настройки

  • Давайте возьмем ZenTao в качестве примера, например данные интерфейса входа в систему;
  • Давайте сначала посмотрим на настройки предварительного запроса и нажмем [Правила-Автоматическая точка останова-Предыдущий запрос]:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • До установки точки останова данные интерфейса нельзя изменить. Щелчком по данным справа нельзя редактировать:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • После того, как мы его настроили, мы можем редактировать данные справа. После редактирования нажмите [Выполнить до завершения]:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

10 настроек автоматического ответа

  • AutoResponderАвтоматический ответ может быть достигнут;
  • Частичное вмешательство в данные можно выполнить, установив автоматические реакции;
  • Включите правило, в первой строке введите URL, во второй строке введите операцию перенаправления и сохраните:
Язык кода:python
кодКоличество запусков:0
копировать
EXACT:http://localhost/zentao/user-login.html
502_Unreachable.dat
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Обновите браузер и обнаружите, что страница перенаправляется на 502, как показано на рисунке:
Язык кода:python
кодКоличество запусков:0
копировать
Fiddler: HTTP/502 unreachable server.
Вставьте сюда описание изображения
Вставьте сюда описание изображения

Я участвую в четвертом выпуске специального учебного лагеря Tencent Technology Creation 2023 с эссе, получившими награды. Приходите и разделите приз со мной!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose