Я читал эту статью автора, лично считаю, что она довольно хорошая, очень подробная, но я не чувствую, что там много верстки, поэтому набираю вручную.
оглавление
Подробное руководство по артефакту Fiddler4
0x01 причина
В реальных проектах из-за частой отладки разработки, нестабильных интерфейсов и несвоевременного обновления документов интерфейса мы выбираем тестирование интерфейса, и многое другое нам необходимо самостоятельно фиксировать и анализировать интерфейс.
0x02 Почему выбирают Fiddler
A. Хотя Firebug может захватывать пакеты, он недостаточно мощный для анализа подробной информации HTTP-запросов. Функции имитации http-запросов недостаточно, а firebug часто требует «без обновления модификации». Если страница обновляется, все изменения не будут сохранены.
C. Httpwatch также является широко используемым инструментом захвата пакетов http, но поддерживает только браузеры IE и firefox (в других браузерах могут быть соответствующие плагины). Он кажется немного слабым для HTTP-запросов, которые хотят отлаживать браузер Chrome.
0x03 Как работает Fiddler
0x04 Базовый интерфейс Fiddler
Fiddler4, который я использую
По умолчанию наш Fiddler не включает поддержку https по умолчанию. Если интерфейс в проекте использует протокол https, эту функцию необходимо включить.
0x05 Встроенные команды и точки останова Fiddler
команда
Соответствующий запрос
Введение
пример
?
All
Строка, за которой следует вопросительный знак, может соответствовать запросам, содержащим эту строку.
?google
>
Body
Знак «больше», за которым следует число, может соответствовать размеру запроса. Запросы, превышающие это число
>1000
1. Меню «Файл»
Команды в меню «Файл» в основном поддерживают завершение запуска и остановки захвата веб-трафика через Fiddler, а также могут загружать или сохранять захваченный трафик. )
(2) New Viewer используется для открытия нового окна скрипта.
(3) Загрузить архив используется для перезагрузки трафика, ранее захваченного и сохраненного в формате файла SAZ.
(4) Параметр в подменю «Сохранить» поддерживает сохранение трафика в файл несколькими способами; этот параметр меню аналогичен параметру в контекстном меню в списке веб-сеансов.
(7) Команда меню «Выход» отменяет регистрацию Fiddler в качестве системного прокси и закрывает панель инструментов.
2. Меню «Правка»
Большинство команд в меню «Правка» должны действовать в текущем выбранном сеансе веб-сеанса, поэтому, если не выбран один или несколько сеансов, большинство команд недоступны.
(1) Несколько подменю в разделе «Поддержка копирования» копируют некоторую информацию о выбранном сеансе.
(2) Подменю в разделе Удалить соответственно поддерживают удаление всех, выбранных или невыбранных сеансов из списка веб-сеансов.
(3) Команда «Выбрать все» выделяет все содержимое списка сеансов.
(4) Команда «Вставить как сеанс» сгенерирует один или несколько смоделированных веб-сеансов на основе содержимого в буфере обмена.
(5) Подменю «Отметить» поддерживает выбор цвета для отметки сеанса, выбранного в списке веб-сеансов.
(6) Команда меню «Разблокировать для редактирования» разблокирует выбранный веб-сеанс и поддерживает все запросы и ответы на редактирование сеанса с помощью инспекторов.
3. Меню правил
(1) Триггер Hide Image Request определяет, отображать ли сеанс изображения в списке веб-сеансов.
(2) Триггер Hide CONNECTS управляет отображением сеанса с помощью метода запроса CONNECT в списке веб-сеансов.
(3) Подменю «Автоматические точки останова» определяет, будет ли Fiddler автоматически устанавливать точки останова: «До запросов» или «После ответов». Триггеры Ignore Image контролируют, действуют ли эти отключения электроэнергии на запросы изображений
(5) Если выбран пункт меню Require Proxy Authentication, все запросы, которые не отправляют заголовок запроса Proxy-Authorization, будут возвращать ответ HTTP / 407, требующий от клиента установки сертификата. Это правило можно использовать для тестирования клиентов HTTP, чтобы убедиться, что эти правила нормально работают на клиентских серверах с сертификатами.
(6) Если вы выберете пункт меню «Применить кодировку GZIP», если запрос содержит заголовок запроса Accept-Encoding с логотипом gzip, все ответы, кроме изображений, будут сжаты с использованием GZIP HTTP. Это правило используется для проверки того, действительно ли клиент, поддерживаемый параметром GZIP, сжимает содержимое. Эта опция также поддерживает настройку производительности и вычисляет количество байтов передаваемого потока сжатых данных.
(7) Если вы выберете «Удалить всю кодировку», кодировка содержимого HTTP и кодировка передачи всех запросов и ответов будут удалены.
(8) Параметр Hide 304s скроет все сеансы, содержащие ответы со статусом HTTP / 304 Not Modified.
(9) Параметр Request Japanese Content устанавливает или заменяет заголовок запроса Accept-Encoding для всех запросов логотипом ja, указывая, что клиент хочет, чтобы ответ был отправлен на японском языке.
(10) Подменю User-Agent поддерживает установку или замену всех запрошенных заголовков запроса User-Agent указанными значениями.
(11) Подменю производительности предоставляет простые параметры, которые влияют на производительность в Интернете:
4. Меню «Инструменты»
(3) Параметр Очистить кеш WinINET удалит все файлы в кеше WinINET, используемые в IE и других приложениях.
(4) Параметр «Очистить файлы cookie WinINET» удалит файлы cookie WinINET, отправленные в IE и другие приложения. Файлы cookie сеанса останутся неизменными.
(6) Параметр «Сравнить сеанс» действителен только при выборе двух сеансов в списке веб-сеансов.
5. Просмотр меню
(1) Показать панель инструментов определяет, отображается ли панель инструментов Fiddler.
(2) Три макета интерфейса: макет по умолчанию, макет с накоплением и широкий макет.
(3) Сверните в лоток или нажмите CTRL + M, чтобы свернуть Fiddler в системный лоток.
(4) Squish Session List контролирует, сжимается ли список веб-сеансов по горизонтали.
(5) Параметр списка сеансов AutoScroll определяет, будет ли Fiddler автоматически прокручиваться в конец списка сеансов при добавлении нового сеанса.
6. меню помощи
0x07 Панель быстрого доступа инструмента Fiddler
1. Проверьте порт компьютера.
2. Добавьте заметки.
Выберите адрес запроса, по которому нужно добавить примечания, нажмите вторую кнопку в левом верхнем углу, чтобы добавить примечания. После успешного добавления вы увидите примечание в столбце «Комментарии»
3. Кнопка воспроизведения (Ctrl + R)
Когда нам нужно снова отправить запрос, Fiddler предоставляет функцию воспроизведения для повторной отправки запроса.
4. Очистите панель мониторинга (Ctrl + X).
На панели можно узнать все или некоторые запросы.
5. Отладка ошибок.
Комбинируя кнопки в строке состояния, можно перехватить состояние запроса во время отладки.Стрелка в строке состояния выше указывает, что запрос перехватывается при отправке.
Стрелка в строке состояния указывает, когда Fiddler перехватил запрос и вернулся. Когда точка останова отпущена, можно использовать кнопку GO над автономным компьютером.
6. Переключение режимов
Два режима
Режим буферизации (режим буферизации) Fiddler не возвращает данные в приложение, пока не будет завершен ответ HTTP. Вы можете управлять ответом и изменять данные ответа. Но временная диаграмма иногда кажется ненормальной
Потоковый режим (Streaming Mode) Fiddler мгновенно вернет данные HTTP-ответа в приложение. Ближе к производительности реальных браузеров. Временная диаграмма более точна, но она не может контролировать реакцию.
7. Запрос на декомпрессию
Распакуйте HTTP-запрос для удобного чтения
8. Сохранение сеанса
По умолчанию Fiddler сохраняет все сеансы. Следует отметить, что чем больше состояния сеанса сохраняет Fiddler, тем больше занимает память.
9. Фильтровать запросы.
Эта функция может захватывать только запрос, отправленный определенным клиентом, нажмите «Любой процесс» и перетащите указатель мыши на указанного клиента.
10. Найдите
Общие инструменты имеют функции: выберите, какой цвет отображать, чтобы упростить просмотр соответствующего контента
11. Сохранение сеанса
Выберите запросы, для которых необходимо сохранить сеанс, нажмите «Сохранить», и вы сможете открыть его при просмотре в следующий раз.
На скриншоте также есть функция таймера.
13. Таймер
Функция синхронизации, щелкните правой кнопкой мыши, чтобы очистить
14. Быстро запустить браузер.
15. Очистить кеш
Функция очистки кеша браузера IE.
16. Кодирование / декодирование
Когда некоторые пути браузера закодированы, этот инструмент можно использовать для получения соответствующих декодированных путей, а также можно использовать другую текстовую информацию.
17. Разделение форм
0x08 Детали сеанса Filddler
1. Statistic
О производительности HTTP-запросов и другом анализе данных:
Мы можем увидеть некоторые базовые данные о производительности: например, время, необходимое для разрешения DNS, составляет 8 мс, время установления соединения TCP / IP составляет 8 мс и т. Д.
2. Inspectors
Для каждой части предоставляется множество различных форматов для просмотра содержимого каждого запроса и ответа. Формат JPG использует ImageView для просмотра изображений, HTML / JS / CSS использует TextView для просмотра содержимого ответа. Тег Raw может просматривать исходные заголовки HTTP-запроса и ответа. Для Auth вы можете просмотреть соответствующую информацию о прокси-авторизации и авторизации. На вкладке Cookies можно увидеть запрошенный файл cookie и информацию заголовка set-cookie ответа.
Может имитировать процесс отправки данных на сервер
Методы редактирования Parsed и Raw
(1) Анализ может быть выполнен после ввода запрошенного URL-адреса, или вы можете изменить соответствующую информацию заголовка (например, добавить часто используемые accept, host, referrer, cookie, cache-control и другие заголовки) После выполнения. Разделите запрос на 3 части: строка запроса, заголовок запроса, тело запроса, легко создать запрос. (2) Необработанный. Используйте информацию заголовка HTTP для создания HTTP-запроса. Как и в предыдущем случае, вам нужно вручную написать запрос построчно.
5. Filter
1. Включать ли фильтры. 2. Мы можем поддерживать несколько наборов фильтров и загружать разные фильтры в разных ситуациях. В Actions мы можем сохранить текущий фильтр или загрузить ранее сохраненный фильтр.
3. Фильтр на основе информации об имени хоста. В первом раскрывающемся списке отображаются только параметры внутренней или внешней сети.
На следующем рисунке показан пример, который можно просто понять как скрытие запроса к этому компьютеру.
5. По фильтру заголовка запроса. Показывать, только если URL-адрес содержит, и Скрывать, если URL-адрес содержит, используйте аналогичные методы и противоположные функции. Это фильтры, которые содержат определенные символы в URL-адресе, во многих случаях разделенные пробелами. Поддерживает регулярные выражения и точное соответствие. Ниже приведен пример, который можно просто понять как скрытие всех запросов js и css.
6. Эта часть представляет собой множество точек останова.Fiddler имеет функцию точки останова, которая может быть прервана при отправке запроса, а затем изменить запрос перед его отправкой. Конечно, его также можно прервать при ответе и внесении изменений. И скрипач также может имитировать ответ, вообще не отправляя его на сервер.На стадии разработки проекта это особенно полезно, если на сервере нет готового API или он используется для воспроизведения некоторых проблем.
7. Если код ответа на стороне сервера принадлежит или нет, скройте его.
9. Это флаг и модификация заголовка ответа. Это более полезно, если вы хотите знать, какие запросы изменили файлы cookie, тогда вы можете установить первый флажок
5.Timeline
6. Система скриптов Fiddler
Поместите этот скрипт в метод OnBeforeRequest (oSession: Session) и нажмите «Сохранить скрипт».
Таким образом, все сеансы cnblogs будут отображаться красным цветом.
7. log
0x09 Точка останова Fiddler и прокси
Есть два способа установить точки останова 1. Строка меню скрипта-> правила-> автоматические точки останова-> Выберите метод точки останова, установленная таким образом точка останова будет действовать для всех последующих HTTP-запросов.
Есть два местоположения точки останова: а. перед ответом. То есть после отправки запроса, но до передачи прокси-сервера Fiddler запрошенные данные могут быть изменены в это время. б. после ответа. То есть после ответа сервера, но до того, как Fiddler передаст ответ клиенту. Результат ответа можно изменить в это время.
2. Введите в командной строке. Bpafter xxx или bpv, bpu, bpm и т. Д. Устанавливают точки останова. Эта точка останова предназначена только для определенных типов запросов.
Установите точку останова после ответа (после точки останова ответа), которая может быть установлена через командную строку: bpafter localhost. После ввода ввода веб-сайт снова обращается к файлу, и вы можете видеть через интерфейс веб-сеанса Fiddler, что запрос завис, а веб-браузер загружается. Под панелью инспектора с правой стороны также появились новинки:
Переключитесь на вложенную панель textView, выберите часть, которую необходимо изменить, а затем нажмите «выполнить до завершения», чтобы отправить обратно измененный ответ. Предположим, наш измененный контент выглядит следующим образом:
Способы выхода из точек останова:
Нажмите «выполнить завершение» в интерфейсе инспектора, чтобы прервать точку останова этого HTTP-запроса.
Ввод команды go также приведет к тому, что текущий запрос пропустит точку останова.
Отключите точки останова в правилах-> автоматическая точка останова.
Хотя мы живем в сточной канаве, люди все еще смотрят на звезды!
Всемирная паутина обладает довольно большим количеством Интернет протоколов, именно по ним и ведется передача данных между нами пользователями и серверами. Самые распространенные протоколы это HTTP/S и FTP, данные протоколы очень успешно используются всеми браузерами и менеджерами закачек. Если вы хотите начать изучать содержимое данных запросов, вам надо скачать Fiddler с нашего проекта, небольшая утилита как раз выполняет данную роль и делает это очень успешно.
Запустив программу, можно достаточно наглядно увидеть, что будет происходить при переходе на любую Интернет страницу. если рассматривать этот процесс то происходит буквально следующее: вы делаете всего один запрос, например вводите конкретны адрес и ждете загрузки, в это время браузер выполняет гораздо больше запросов, все зависит от его сложности. Если вы опытный пользователь, то программа Fiddler окажется для вас находкой, так как вы сможете просматривать и понимать содержимое запросов и ответов в их различных вариантах.
Как только Fiddler будет запущена, программа сразу начнет процесс отслеживания всех запросов и ответов. Однако стоит помнить, что имеется известная программа браузер под названием FireFox, она совершенно не зависит от настроек Internet Explorer, таким обзора Fiddler не сможет ее увидеть. Для работы вам придется настроить ее на прокси-сервер, который будет создан самой программой, именно поэтому после установки программы, вам предложат установить специальный плагин для FireFox, рекомендую его поставить, если вам это конечно интересно. После недолгих манипуляций, каждый пользователь сможет изучать буквально все, что захочет и просматривать сжатое содержимое.
Если у вас идет большое количество запросов, то тогда можно воспользоваться сортировкой по определенным параметрам, можно использовать также фильтры. Fiddler умеет ограничивать отслеживание для конкретного выбранного вами браузера или просто закладки. В целом о программе написать мне больше нечего, на самом деле довольно удобный клиент, выполняет неплохую задачу, может понравится опытным пользователям. Если рассматривать пользовательский интерфейс, то Fiddler и тут хороша, все достаточно ясно даже без Русской поддержки, надеюсь проблем с программой у вас не возникнет, в любом случае есть форум и комментарии где вам помогут.
Fiddler — это инструмент для отладки веб-трафика. Это особенно полезно, поскольку его можно настроить для конкретных нужд с помощью расширений и надстроек, а средство предоставляет множество полезных сведений, относящихся к веб-трафику.
Предположения
Начальная настройка.
Примечание. После этого следует перезапустить Fiddler и принять все запросы контроля учетных записей.
Перенос и импорт корневого сертификата Fiddler
Чтобы отладить маршрутизацию трафика HTTPS через компьютер, необходимо импортировать корневой сертификат Fiddler в образ Интернета вещей или устройство. Для этого выполните следующие действия.
Настройка прокси-сервера на виртуальной машине или устройстве IoT Core
Приведенные ниже действия позволят виртуальной машине Интернета вещей или устройству маршрутизировать трафик через ваш компьютер, чтобы Fiddler мог записывать сетевой трафик для анализа.
Если этот компьютер еще не запущен, запустите Fiddler на своем компьютере, перезапустите виртуальную машину или устройство IoT Core, и трафик теперь должен маршрутизироваться через Fiddler.
Примечание. Если вы видите параметр HTTPS CONNECT в Fiddler, но данные отсутствуют, вероятно, сертификат установлен неправильно. Убедитесь, что вы не пропустили действия по перемещению и импорту корневого сертификата Fiddler выше.
Кроме того, если вы хотите отключить прокси-сервер, обратите внимание, что указанные выше ключи реестра кэшируются в двоичном BLOB-объекте другого ключа. Таким образом, помимо удаления только тех разделов, которые были добавлены в шаге 3 выше, необходимо выполнить следующие действия.