Русские Блоги
Я читал эту статью автора, лично считаю, что она довольно хорошая, очень подробная, но я не чувствую, что там много верстки, поэтому набираю вручную.
оглавление
Подробное руководство по артефакту Fiddler4
0x01 причина
В реальных проектах из-за частой отладки разработки, нестабильных интерфейсов и несвоевременного обновления документов интерфейса мы выбираем тестирование интерфейса, и многое другое нам необходимо самостоятельно фиксировать и анализировать интерфейс.
0x02 Почему выбирают Fiddler
A. Хотя Firebug может захватывать пакеты, он недостаточно мощный для анализа подробной информации HTTP-запросов. Функции имитации http-запросов недостаточно, а firebug часто требует «без обновления модификации». Если страница обновляется, все изменения не будут сохранены.
B. Wireshark — это инструмент для захвата пакетов общего назначения, но он относительно велик.Для приложений, которым требуется только захват HTTP-запросов, он кажется излишним.
C. Httpwatch также является широко используемым инструментом захвата пакетов http, но поддерживает только браузеры IE и firefox (в других браузерах могут быть соответствующие плагины). Он кажется немного слабым для HTTP-запросов, которые хотят отлаживать браузер Chrome.
Fiddler2 — это HTTP-прокси, который использует локальный 127.0.0.1:8888. Любой браузер и приложение, которые могут установить HTTP-прокси на 127.0.0.1:8888, могут использовать Fiddler.
[Официальный документ] (http://docs.telerik.com/fiddler/KnowledgeBase/Filters)
0x03 Как работает Fiddler
Fiddler работает как прокси-сервер, он использует адрес прокси: 127.0.0.1 и порт: 8888. Он может записывать все HTTP-запросы между клиентом и сервером, анализировать данные запроса, устанавливать точки останова, отлаживать веб-приложения, изменять запрошенные данные и даже изменять данные, возвращаемые сервером для конкретных HTTP-запросов. Это очень мощный инструмент. — отличный инструмент для веб-отладки. Когда Fiddler завершает работу, он автоматически выходит из системы, так что это не повлияет на другие программы. Однако, если Fiddler аварийно завершает работу в это время, потому что Fiddler не выходит из системы автоматически, веб-страница будет недоступна. Решение — перезапустить Fiddler.
0x04 Базовый интерфейс Fiddler
Fiddler4, который я использую

Мы хотим включить захват пакетов и убедиться, что Capture Traffic включен, в File -> Capture Traffic. После его открытия в нижнем левом углу появится дисплей.Конечно, вы также можете напрямую щелкнуть значок в нижнем левом углу, чтобы выключить / включить функцию захвата пакетов.

По умолчанию наш Fiddler не включает поддержку https по умолчанию. Если интерфейс в проекте использует протокол https, эту функцию необходимо включить.
- Откройте Инструменты настройки скрипта -> Параметры . -> HTTPS (установить сертификат)

- Fiddler начнет работать, и захваченные пакеты данных будут отображаться в списке.

【#】 —————— Порядок получения HTTP-запросов, начиная с 1 и увеличиваясь
[Результат HTTP] — код состояния
【Протокол】 ——— Протокол, используемый запросом, например HTTP / HTTPS / FTP и т. д.
【Хост】 ———— Имя хоста запрошенного адреса
[URL] ———— Расположение запрошенного ресурса
【Body】 ———— Размер запроса
【Кэширование】 ——- Запрошенное время истечения срока действия кеша или контрольное значение кеша
[Content-Type] — тип ответа на запрос.
[Процесс] ———- Процесс, отправивший этот запрос: идентификатор процесса
【Комментарии】 —— Разрешить пользователям добавлять примечания к этому ответу
[Custom] ———— Разрешить пользователям устанавливать собственные значения

0x05 Встроенные команды и точки останова Fiddler

| команда | Соответствующий запрос | Введение | пример |
|---|---|---|---|
| ? | All | Строка, за которой следует вопросительный знак, может соответствовать запросам, содержащим эту строку. | |
| > | Body | Знак "больше", за которым следует число, может соответствовать размеру запроса. Запросы, превышающие это число | >1000 |
| < | Body | Знак «меньше» противоположен знаку «больше», что соответствует размеру запроса, а запрос меньше этого числа. | <100 |
| = | Result | Знак равенства, за которым следует число, может соответствовать коду возврата HTTP. | =200 |
| @ | Host | @ После хоста вы можете сопоставить доменное имя | @www.baidu.com |
| select | Content-Type | выберите, за которым следует тип ответа, вы можете сопоставить связанный тип | select image |
| cls | All | Очистить все текущие запросы | cls |
| dump | All | Упакуйте все запросы в сжатый пакет saz и сохраните его в каталоге «Мои документы \ Fiddler2 \ Captures». | dump |
| start | All | Начать прислушиваться к запросам | start |
| stop | All | Остановить запрос на прослушивание | stop |
| Команда точки останова | |||
| bpafter | All | После bpafter следует строка, что означает, что все запросы, содержащие строку, будут прерваны | bpafter baidu (введите bpafter, чтобы освободить точку останова) |
| bpu | All | Аналогично bpafter, за исключением того, что это запрос и ответ прерывания | bpu baidu (введите bpu для освобождения точки останова) |
| bps | Result | За ним следует статус? Это означает прерывание всех запросов с этим кодом статуса | бит / с 200 (введите бит / с для снятия точки останова) |
| bpv / bpm | HTTP метод | Прерывание только команды метода HTTP, метода HTTP, такого как POST, GET | bpv get (введите bpv, чтобы освободить точку останова) |
| g / go | All | Освободить все прерванные запросы | g |
0x06 Панель меню Fiddler

1. Меню "Файл"
Команды в меню «Файл» в основном поддерживают завершение запуска и остановки захвата веб-трафика через Fiddler, а также могут загружать или сохранять захваченный трафик. )

(1) Capture Traffic — это переключатель, который может контролировать, регистрировать ли Fiddler в качестве системного прокси. При регистрации Fiddler в качестве системного прокси все приложения, которые полагаются на прокси WinINET (например, Internet Explorer и другие браузеры), будут отправлять веб-запросы в Fiddler.
(2) New Viewer используется для открытия нового окна скрипта.
(3) Загрузить архив используется для перезагрузки трафика, ранее захваченного и сохраненного в формате файла SAZ.
(4) Параметр в подменю «Сохранить» поддерживает сохранение трафика в файл несколькими способами; этот параметр меню аналогичен параметру в контекстном меню в списке веб-сеансов.
(5) Импорт сеансов . поддерживает импорт трафика, захваченного другими инструментами, а также поддерживает импорт трафика, хранящегося в других форматах.
(6) Экспорт сеансов . поддерживает сохранение сеансов, захваченных Fiddler, в нескольких форматах файлов.
(7) Команда меню «Выход» отменяет регистрацию Fiddler в качестве системного прокси и закрывает панель инструментов.
2. Меню "Правка"
Большинство команд в меню «Правка» должны действовать в текущем выбранном сеансе веб-сеанса, поэтому, если не выбран один или несколько сеансов, большинство команд недоступны.

(1) Несколько подменю в разделе «Поддержка копирования» копируют некоторую информацию о выбранном сеансе.
(2) Подменю в разделе Удалить соответственно поддерживают удаление всех, выбранных или невыбранных сеансов из списка веб-сеансов.
(3) Команда «Выбрать все» выделяет все содержимое списка сеансов.
(4) Команда «Вставить как сеанс» сгенерирует один или несколько смоделированных веб-сеансов на основе содержимого в буфере обмена.
(5) Подменю «Отметить» поддерживает выбор цвета для отметки сеанса, выбранного в списке веб-сеансов.
(6) Команда меню «Разблокировать для редактирования» разблокирует выбранный веб-сеанс и поддерживает все запросы и ответы на редактирование сеанса с помощью инспекторов.
(7) Команда «Найти сеанс . » откроет окно «Найти сеанс» для поиска захваченного потока данных.
3. Меню правил
(1) Триггер Hide Image Request определяет, отображать ли сеанс изображения в списке веб-сеансов.
(2) Триггер Hide CONNECTS управляет отображением сеанса с помощью метода запроса CONNECT в списке веб-сеансов.
(3) Подменю «Автоматические точки останова» определяет, будет ли Fiddler автоматически устанавливать точки останова: «До запросов» или «После ответов». Триггеры Ignore Image контролируют, действуют ли эти отключения электроэнергии на запросы изображений
(4) Команда меню «Настроить правила . » будет использовать настроенный редактор сценариев для открытия текущего файла FiddlerScript.
(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. Меню "Инструменты"

(1) Параметры Fiddler . откройте окно параметров Fiddler
(2) Параметры WinINET . Откройте окно "Свойства обозревателя" IE.
(3) Параметр Очистить кеш WinINET удалит все файлы в кеше WinINET, используемые в IE и других приложениях.
(4) Параметр «Очистить файлы cookie WinINET» удалит файлы cookie WinINET, отправленные в IE и другие приложения. Файлы cookie сеанса останутся неизменными.
(5) Параметр TextWizard . запускает окно TextWizard, которое поддерживает кодирование и декодирование текста.
(6) Параметр «Сравнить сеанс» действителен только при выборе двух сеансов в списке веб-сеансов.
(10) HOSTS . опция откроет инструмент Fiddler Host Remapping.
(11) Новый буфер обмена сеанса .. Откройте буфер обмена сеанса.
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 имеет два режима, по умолчанию — буферный режим.
Два режима
Режим буферизации (режим буферизации) 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 ответа.


3. AutoResponder
Fiddler — одна из наиболее важных и мощных функций. Его можно использовать для перехвата запроса и перенаправления на локальный ресурс или использовать встроенный ответ Fiddler. Его можно использовать для отладки кода на стороне сервера без изменения кода и конфигурации на стороне сервера, поскольку после перехвата и перенаправления вы фактически получаете доступ к локальным файлам или получаете встроенный ответ Fiddler.
Установите флажки "Включить автоматические ответы" и "Прохождение несопоставленных запросов".
RuleEditor заполняет локальный указывающий файл.
Способы перехвата перенаправления, поддерживаемые Fiddler:

Следовательно, если вы хотите отладить определенный файл сценария на сервере, вы можете перехватить сценарий локально и изменить содержимое на стороне сервера после локального изменения сценария. Это может гарантировать, что отладка будет выполняться в реальной среде в максимально возможной степени. чтобы свести к минимуму возможность ошибки.
— это не только один URL-адрес, Fiddler поддерживает несколько методов сопоставления URL-адресов:
I. Соответствие символа
, например, пример может соответствоватьhttp://www.example.comс участиемhttp://example.com.cn
II. Точное соответствие
Начните с ТОЧНОГО, чтобы указать точное совпадение, как в приведенном выше примере ТОЧНО:http://blog.csdn.net/ohmygirl
III. Соответствие регулярных выражений
начать с регулярного выражения :, использовать регулярное выражение для соответствия URL
, например: regex :(? insx). *. (css | js | php) $ означает соответствие всем URL-адресам запроса, заканчивающимся на css, js, php
4. Composer
Может имитировать процесс отправки данных на сервер

Методы редактирования Parsed и Raw
(1) Анализ может быть выполнен после ввода запрошенного URL-адреса, или вы можете изменить соответствующую информацию заголовка (например, добавить часто используемые accept, host, referrer, cookie, cache-control и другие заголовки) После выполнения. Разделите запрос на 3 части: строка запроса, заголовок запроса, тело запроса, легко создать запрос.
(2) Необработанный. Используйте информацию заголовка HTTP для создания HTTP-запроса. Как и в предыдущем случае, вам нужно вручную написать запрос построчно.
5. Filter
Еще одна мощная функция Fiddler. Fiddler предоставляет многомерные правила фильтрации. Фильтры Fiddler очень мощные. Он может фильтровать запросы с определенными кодами статуса http, фильтровать запросы с определенными типами запросов (например, запросы CSS, запросы изображений, запросы js и т. Д.) И отчеты о запросах фильтрации. . Запросы с текстом больше или меньше указанного размера (байта):

1. Включать ли фильтры.
2. Мы можем поддерживать несколько наборов фильтров и загружать разные фильтры в разных ситуациях. В Actions мы можем сохранить текущий фильтр или загрузить ранее сохраненный фильтр.

3. Фильтр на основе информации об имени хоста. В первом раскрывающемся списке отображаются только параметры внутренней или внешней сети.

Другой — раскрывающийся список в сочетании с полем ввода под ним, чтобы завершить отображение, скрыть или отметить указанный запрос на основе информации об имени хоста.

На следующем рисунке показан пример, который можно просто понять как скрытие запроса к этому компьютеру.

4. В соответствии с фильтром информации о процессе, первый флажок может быть установлен для выбора процесса, затем скрипт будет отображать только запросы, выданные процессом, два других связаны с IE, а другой — скрыть запрос. от хоста службы

5. По фильтру заголовка запроса.
Показывать, только если URL-адрес содержит, и Скрывать, если URL-адрес содержит, используйте аналогичные методы и противоположные функции. Это фильтры, которые содержат определенные символы в URL-адресе, во многих случаях разделенные пробелами. Поддерживает регулярные выражения и точное соответствие. Ниже приведен пример, который можно просто понять как скрытие всех запросов js и css.

6. Эта часть представляет собой множество точек останова.Fiddler имеет функцию точки останова, которая может быть прервана при отправке запроса, а затем изменить запрос перед его отправкой. Конечно, его также можно прервать при ответе и внесении изменений. И скрипач также может имитировать ответ, вообще не отправляя его на сервер.На стадии разработки проекта это особенно полезно, если на сервере нет готового API или он используется для воспроизведения некоторых проблем.
7. Если код ответа на стороне сервера принадлежит или нет, скройте его.
8. Эта часть представляет собой фильтр, основанный на типе и размере ответа: первая половина — это фильтр, который показывает скрытые, и фильтр, который является вторым блоком. Фильтр блоков тоже довольно интересен, если вы выберете блокировку css, браузер не загрузит css

9. Это флаг и модификация заголовка ответа. Это более полезно, если вы хотите знать, какие запросы изменили файлы cookie, тогда вы можете установить первый флажок
5.Timeline
Отобразите расписание от запроса сеанса до ответа. По горизонтали — это ось времени, а по вертикали — список сеансов. Переместите указатель мыши на вкладку временной шкалы. Внизу будут отображены четыре данных: номер сеанса и URL, тип ответа сеанса, количество отправленных байтов и количество полученных байтов
6. Система скриптов Fiddler
Самая сложная часть Fiddler — это система скриптов. Официальный справочный документ:http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
Поместите этот скрипт в метод OnBeforeRequest (oSession: Session) и нажмите «Сохранить скрипт».
Таким образом, все сеансы cnblogs будут отображаться красным цветом.
7. log

0x09 Точка останова Fiddler и прокси

Есть два способа установить точки останова
1. Строка меню скрипта-> правила-> автоматические точки останова-> Выберите метод точки останова, установленная таким образом точка останова будет действовать для всех последующих HTTP-запросов.
Есть два местоположения точки останова:
а. перед ответом. То есть после отправки запроса, но до передачи прокси-сервера Fiddler запрошенные данные могут быть изменены в это время.
б. после ответа. То есть после ответа сервера, но до того, как Fiddler передаст ответ клиенту. Результат ответа можно изменить в это время.
2. Введите в командной строке. Bpafter xxx или bpv, bpu, bpm и т. Д. Устанавливают точки останова. Эта точка останова предназначена только для определенных типов запросов.
Установите точку останова после ответа (после точки останова ответа), которая может быть установлена через командную строку: bpafter localhost. После ввода ввода веб-сайт снова обращается к файлу, и вы можете видеть через интерфейс веб-сеанса Fiddler, что запрос завис, а веб-браузер загружается. Под панелью инспектора с правой стороны также появились новинки:

Переключитесь на вложенную панель textView, выберите часть, которую необходимо изменить, а затем нажмите «выполнить до завершения», чтобы отправить обратно измененный ответ. Предположим, наш измененный контент выглядит следующим образом:

Способы выхода из точек останова:
Нажмите «выполнить завершение» в интерфейсе инспектора, чтобы прервать точку останова этого HTTP-запроса.
Ввод команды go также приведет к тому, что текущий запрос пропустит точку останова.
Отключите точки останова в правилах-> автоматическая точка останова.
Хотя мы живем в сточной канаве, люди все еще смотрят на звезды!
Fiddler = удобный сниффер + прокси сервер

Привет. В данной статье расскажу как и зачем можно изменять HTTP пакеты при отправке на сервер и при получении ответов от сервера.
В статье много практических примеров.
Зачем это делать ?
Пример 1. Анализ трафика.
Пользователи вашей сети пользуются вашим прокси-сервером. Вы можете увидеть на какие сайты заходят пользователи, запрещать дальнейшие переходы на эти сайты.
Пример 2. Сбор данных.
Ваши пользователи пользуются через вас некоторыми веб-ресурсами. Например, они вводят vin-номер своего автомобиля на сайте дилера авто и получают в ответ данные этого автомобиля. Вы можете сохранять эти данные в свою базу данных.
Пример 3. Подмена HTTP-пакетов.
Вам нужно изменить для ваших пользователей внешний вид сайта. Вы можете изменить стили сайта, скрывать любые элементы, добавить свои элементы, вырезать определенные слова или заменить их на другие слова, изменить картинку сайта на любую свою.
Пример 4. Подмена POST-данных.
Вам нужно подправить данные передаваемые на веб-сервер через POST-запрос. Существует множество информации передаваемой в POST-запросах. Пример: отправка логина/пароля на сервер в процессе авторизации. Или онлайн тест отправляет на сервер результаты вашего теста.
Установка Fiddler
Установка простая и быстрая.
Настройка Fiddler

В меню File есть опция «Capture Traffic«. По умолчанию опция включена. Это означает что Fiddler прописывает в реестре Windows себя в качестве прокси-сервера. Браузеры Internet Explorer, Edge, Chrome используют данную настройку, а значит HTTP-пакеты от этих браузеров пойдут через Fiddler.

Если опция «File -> Capture Traffic» выключена, то Fiddler перестает работать как системный прокси-сервер и перехватывает только те пакеты, которые идут непосредственно на адрес Fiddler. Это может быть когда вы настроили ваше приложение или браузер сами для работы через ip/port Fiddler. По умолчанию Fiddler слушает на порту 127.0.0.1:8888
Опция «Keep: All sessions«.
В данном режиме Fiddler не очищает журнал собранных HTTP-пакетов. Если требуется продолжительная работа Fiddler, то при большой нагрузке этих пакетов будет очень много и Fiddler скушает всю доступную оперативную память компьютера. Чтобы этого не случилось переключите в режим «Keep: 100 sessions».
Опция «Decode«.
По умолчанию выключена. В процессе анализа собранных пакетов рекомендуется включить чтобы пакеты автоматически декодировались. Либо можно выделить собранные пакеты через Ctrl+A, вызвать меню нажатием правой кнопки мыши по выделенным пакетам и нажать «Decode Selected Sessions».

Основные настройки
Переходим в «Tools -> Options. «.
Вкладка «HTTPS».
После установки Fiddler не собирает HTTPS-трафик, это необходимо включить. Ставим галочку в опции «Decrypt HTTPS traffic«. После этого Fiddler сгенерирует самоподписанный сертификат и спросит хотите ли установить данный сертификат. Отвечаем да.
Опция «Ignore server certificate errors (unsafe)» — сразу можно не включать. На некоторых порталах бывают ошибки сертификатов, но это редко. Как увидите так включите )
Настройка протоколов. По умолчанию стоит значение «<client>;ssl3;tls1.0». Советую сразу установить значение на «<client>;ssl3;tls1.0;tls1.1;tls1.2». После изменения настроек необходимо перезапустить программу чтобы настройки вступили в силу.


«Trust Root Certificate» — если сгенерированный Fiddler сертификат вы не установили после включения опции «Decrypt HTTPS traffic», то можно это сделать здесь.
«Export Root Certificate to Desktop» — если вы планируете использовать Fiddler как прокси-сервер локальной сети, то на каждом устройстве пользователя необходимо установить сгенерированный выше сертификат. С помощью этой опции сохраняете сертификат на ваш рабочий стол.
«Reset All Certificates» — в некоторых случаях необходимо сгенерировать новый сертификат взамен старого. В этом случае сбрасываем все Fiddler-сертификаты и генерируем новый сертификат.
Вкладка «Connections».
Здесь устанавливаем на каком порту Fiddler работает как прокси-сервер. Порт по умолчанию «8888».
«Allow remote computers to connect» — включаем опцию чтобы Fiddler начал принимать подключения от других компьютеров.
«Act as system proxy on startup» — по умолчанию опция включена. Если включена, то при запуске опция «File -> Capture Traffic» включена.

После изменения данных настроек необходимо перезапустить программу чтобы настройки вступили в силу.
Вкладка «Gateway».
Здесь устанавливаем куда Fiddler отправляет входящие пакеты, какой прокси использует.
«Use System Proxy (recommended)» — использование системного прокси из реестра текущего пользователя.
«Manual Proxy Configuration» — возможность задать вручную прокси-сервер.
«No proxy» — задаем что выход в Интернет напрямую, без использования прокси.
После изменения данных настроек необходимо перезапустить программу чтобы настройки вступили в силу.

Установка сертификатов на Windows устройствах
После того как сгенерированный сертификат скопирован на рабочий стол этот сертификат необходимо установить на каждое устройство которое будет использовать данный Fiddler в качестве прокси-сервера.
Для установки сертификата используем консоль управления MMC: в коммандной строке вводим команду «mmc».
В меню файл выбираем «Добавить или удалить оснастку«. Из доступных оснасток выбираем «Сертификаты» и с помощью кнопки «Добавить» выбираем данную оснастку. Нажимаем «Ок» и выбираем «учетной записи компьютера«. Это нужно чтобы открыть сертификаты которые установлены для всего компьютера, а затем установить сертификат Fiddler именно в это хранилище. Если открыть сертификаты «моей учетной записи пользователя«, то после установки сертификата Fiddler в это хранилище другие пользователи данного компьютера не смогут подключиться к Fiddler.

Установку сертификата производим в «Доверенные корневые центры сертификации».

Если ваши компьютеры находятся в домене, то используйте инструменты домена для установки сертификата каждому пользователю или на каждый компьютер сети.
Анализ трафика
В процессе работы Fiddler сниффит все HTTP-запросы и их обычно много. Для поиска необходимых запросов можно использовать фильтры. Правой кнопкой мыши выбираем лишний запрос, выбираем «Filter Now» и «Hide ‘. ‘» чтобы скрыть запросы к данному домену. Можно удалять вручную выделенные запросы используя кнопку «Delete«.

Кроме использования фильтров можно искать отдельный текст в теле запросов/ответов: «Ctrl+F» для открытия меню поиска. Найденные запросы подсвечиваются по умолчанию желтым цветом.

Изменение данных запросов
В Fiddler существует инструмент «Fiddler ScriptEditor» (Редактор скриптов) для создания правил модификации трафика. Запуск редактора скриптов через «Ctrl+R» или выбора пункта меню «Rules -> Customize Rules. «.
В редакторе скриптов есть два основных метода: «OnBeforeRequest» и «OnBeforeResponse«:
«OnBeforeRequest» — выполнение скриптов в этом методе происходит перед отправкой пакетов на веб-сервер.
«OnBeforeResponse» — выполнение скриптов в этом методе происходит после получения ответа от веб-сервера.
Ниже приведены примеры скриптов с указанием в каком методе их расположить.
Задача 1: Запрет сайта
Запрещаем переход на адрес сайта содержащий строку.
Задача 2: Запрет загрузки ресурса
Запрещаем загрузку «.svg» файлов для заданного адреса сайта.
Задача 3: Переадресация запроса
Переадресация запроса на адрес сайта содержащий строку.
Задача 4: Сбор данных
Пользователи подключаются через данный прокси-сервер и делают в браузерах некоторые запросы вида «https://myhost.ru?key=abcd&vin=VF38BLFXE81078232&lang=ru«. Задача записать в базу данных событие поиска и передать значение vin-номера. Данный скрипт создает файлы с названием включающем vin-номер. Кроме скрипта необходимо создать утилиту/службу, которая раз в заданный интервал читает каталог «C:\vinsearch\» и записывает данные в базу данных.
Задача 5: Изменить текст в ответе
В данном примере меняем текст «Иванов» на «Петров«.
Задача 6: Заменить ресурс веб-портала на локальный ресурс
Заменим картинку веб-портала на картинку расположенною на локальном диске.
Задача 7: Изменение свойств HTML-объектов
Например, есть картинка с заданными размерами в HTML и нужно эти размеры изменить.
Задача 9: Заставить страницу открываться в текущем окне
Пример: существует JavaScript, который открывает ссылку в новом окне. Нужно сделать чтобы ссылка открывалась в текущем окне.
Задача 10: Выполнение скриптов для определенных IP
В данном примере меняем текст «Иванов» на «Петров» только для IP
Задача 11: Меняем css-стили портала
Css-файлы веб-портала можно сохранить на локальном диске, отредактировать и настроить скрипт отдавать стили с локального диска, а не с портала.
Задача 12: Запрет PUT-команды и аналогичных
Запрет команды по ее типу: «PUT«, «DELETE«, etc.
Задача 13: Изменение тела POST-запроса
Изменить тело POST-запроса для заданного портала. При авторизации на данном портале вне зависимости от введенных пользователем данных на веб-портал отправятся данные из скрипта.
Задача 14: Меняем заголовки HTTP-пакета
Заголовки пакетов можно легко редактировать: удалять, добавлять, изменять.
Fiddler-инструмент для анализа трафика мобильных приложений. Выявляем уязвимости
Согласно статистике — в 2020 году мобильные приложения были загружены пользователями более 240 млн раз, и это число продолжает расти.
Разработчики большое внимание уделяют удобству и внешнему виду, однако вопросам безопасности не всегда уделяется должное внимание. Недостаточная защищенность приложения увеличивает репутационные риски для компании-разработчика, а утечка конфиденциальных пользовательских данных негативно сказывается на его деловой репутации.
Большинство современных мобильных приложений построены на клиент-серверной архитектуре. Как правило, клиент функционирует под управлением одной из популярных мобильных ОС – Android или iOS, и обменивается данными с сервером. Использование открытых незащищенных протоколов передачи данных многократно увеличивают риски компрометации передаваемого трафика. Но даже защищенные соединения не всегда дают 100% гарантию надежности сохранности данных.
В данной статье мы познакомимся с инструментом Fiddler, позволяющим перехватывать и анализировать весь трафик между клиентом и сервером. Данный инструмент может помочь выявить уязвимости в процессе клиент-серверного взаимодействия мобильного приложения.
(Если вы уже работали с этим инструментом, делитесь опытом в комментариях)
Подготовительные шаги
Для начала установите Fiddler на ПК или ноутбук. Убедитесь, что ПК/ноутбук и смартфон находятся в одной сети (например, подключив устройства к одному wifi-роутеру). Это условие является обязательным, т.к. устройства не увидят друг друга. Проверить связь между устройствами можно через команду ping.
Настройка Fiddler
Далее, убедитесь, что Fiddler может принимать входящие соединения:
- Откройте Fiddler, далее: Tools → Options, вкладка «Connections»;
- Поставьте флажок «Allow remote computers to connect»;
- Перезапустите Fiddler, чтобы изменения в настройках вступили в силу.
Настройка устройства на базе Android
Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на Android-устройстве выполните шаги:
- Откройте настройки, далее выберите Wi-Fi, затем нажмите на имя подключенной сети и удерживайте, пока не появится всплывающее окно;
- Нажмите «изменить сеть», далее в всплывающем окне разверните пункт «расширенные настройки»;
- Выберите «Вручную» в поле со списком «Прокси-сервер»;
- В поле «Имя хоста прокси-сервера» введите IP-адрес вашего ПК/ноутбука;
- В поле «порт прокси-сервера» введите порт (по умолчанию 8888).
После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.
Настройка устройств на базе iOS
Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на iOS-устройстве выполните шаги:
- Откройте Настройки → Wi-Fi;
- Найдите сеть, к которой подключен смартфон, и нажмите на значок «i»;
- Пролистайте вниз, найдите «настройка прокси», далее выберите «Вручную»;
- В поле «Сервер» введите IP-адрес вашего ПК/ноутбука;
- В поле «Порт» введите значение по умолчанию: 8888.
После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.
Перехват HTTPS-трафика
С этими настройками возможен перехват только незащищенного HTTP-трафика. Для работы с защищенным HTTPS-трафиком потребуется установка корневого сертификата на устройствах, а также дополнительная настройка Fiddler.
- Перейдите по ссылке на устройстве: http://ipv4.fiddler:8888
- Установите сертификат:
Для Android: скачайте FiddlerRoot certificate, откройте его, установите и задайте имя.
Для iOS: скачайте FiddlerRoot certificate, откройте его, нажмите «разрешить», после чего перейдите в Настройки → Профиль загружен → Установить. Далее в Настройках → Основные → Об этом устройстве → Доверие сертификатам → найдите сертификат и сделайте его доверенным.
После этого вы сможете работать и анализировать защищенный HTTPS-трафик в Fiddler.
Bugs. Happen. Debugging and Troubleshooting Reimagined
We believe in a holistic debugging and troubleshooting approach that is radically straightforward and intuitive. Fiddler is committed to delivering you successful outcomes and solving your pain points without sacrifice.
Which Fiddler Do I Need?
Five Products, One Family, Endless Debugging and Troubleshooting Capabilities.
Web debugging proxy for MacOS, Windows, and Linux
- The most powerful web debugging proxy tool for MacOS, Windows and Linux with an enhanced UI.
- Effectively share your findings and add context with built-in team collaboration.
- Customize, save, and share rules to handle complicated requests with ease.
- Unlimited sharing of saved sessions and requests for impressive efficiency gains and receive dedicated email support to stay on track.
- Debugging features are supercharged in Fiddler Everywhere, allowing you to take debugging and testing to the next level without any added effort.

Web debugging proxy for Windows
- The original trusted and secure (free) debugging proxy server tool for Windows.
- Successfully log, inspect, and alter HTTP(s) network requests and server responses. Go from error to fix in record time.
- Easily import/export requests in various format and take out the guess work.
- Write custom scripts to speed up your troubleshooting efforts.
- Debug at rapid speed and develop web communication code faster, leaving you more time for other tasks.

Web-based troubleshooting solution
- A web-based end to end troubleshooting solution for support teams who need to get from error to fix in less time.
- Capture web traffic, web console logs, and web app screenshots in three simple steps. Easy set-up and requires no programming.
- Securely share all captured logs within your teams to quickly deliver valuable data for finding a solution.
- Provide end-users a resolution with one shot, no more back and forth or hindered communications.

Desktop-based Capture App for Windows
- A Windows only lightweight version of Fiddler designed for data-capture by non-technical users.
- Capture web traffic and quickly send to your tech team for debugging. Eliminating the annoyances derived from hindered communications.
- Share network traffic logs within your teams to jump-start the resolution process.
- Provide end-users a more delightful analysis, communication, and resolution experience.

Embeddable .NET library
- Reliable and powerful .NET library allowing you to capture and modify HTTP and HTTPS traffic to ensure everything works smoothly and securely.
- Harness the power of a stable proxy engine to develop best-in-class features for your .NET solutions and stand out for your ingenuity.
- Discover delays, missing services and threats in minutes not days.
How to Start Your Fiddler Journey

1 Try the Fiddler product(s) that aligns with your needs.
2 Integrate Fiddler into your workflow for rapid, elegant debugging and troubleshooting.
3 You’ll start realizing the high value of benefits of Fiddler through the acceleration of both your time and cost savings.
Hundreds of Thousands of Organizations
are Using Fiddler
Join these companies and the 4 million developers who are already building, running, and debugging with Fiddler.


4.4 Out of 5 Overall User Rating
Don’t just take our word for it. G2 Users have consistently rated Fiddler 4.4 out of 5 stars. G2 is a renowned peer-to-peer review site that aggregates user reviews for business software.
Support & Learning
How to Select the Right Fiddler Tool for You
How Can We Help? We’d Love to Hear from You!
A Trial of Any of the Fiddler Products Gives You:
- A fully functional version of the software.
- Strict data privacy protection. Your data remains with you, it will never be shared.
- Easy upgrade path to a licensed product.
- Full access to all online documentation, community forums and tutorials.
Telerik and Kendo UI are part of Progress product portfolio. Progress is the leading provider of application development and digital experience technologies.
Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.