Главная Полезные программы Программы для работы в сети Скриптуемый отладочный прокси Fiddler
 
 
 
 

Скриптуемый отладочный прокси Fiddler


Fiddler - прокси, который работает с трафиком между Вашим компьютером и удаленным сервером, и позволяет инспектировать и менять его.

Fiddler можно расширять с помощью скриптов на языке JScript.NET (писать их очень просто), кустомизировать меню программы, и вообще - замечательный инструмент.

Использовать его можно с любым браузером.

Эта статья описывает Fiddler 2.1 с некоторыми обновлениями, которые я периодически добавляю в статью при выходе новых версий.
В вашей версии Fiddler какие-то возможности могут измениться, какие-то образоваться.

У Fiddler есть 2 способа подключения. Первый - это просто запустить его. При этом он автоматически будет работать для программ, использующих WinINET.
Это, например, Internet Explorer и приложения MS Office.

Второй - это поставить Fiddler как прокси для браузера. Например, такой способ удобен для Firefox. Настройки Fiddler как прокси находятся в меню Fiddler Tools -> Fiddler Options, под General в Proxy Settings.

Чтобы сделать возможной подключение других браузеров, нужно включить галочку Allow remote clients to connect. После этого Fiddler станет доступен как прокси, по умолчанию - на IP 127.0.0.1 порту 8888

Для удобного переключения на Fiddler и обратно при наличии Firefox - установочный скрипт установит специальное расширение Fiddler Hook, которое позволит переключаться на фиддлер и обратно по мини-менюшке внизу-справа.
Выглядит вот так:

При заходе в Fiddler, открывается окно запросов слева и рабочие вкладки справа.

Fiddler

  1. Performance Statistics
    Позволяет получать различные статистики как по одному запросу, так и по пачке выделенных
  2. Session Inspector
    Дает возможность просматривать в различном виде заголовки и данные запроса. Кроме того, в режиме перехвата запроса (см ниже), ответ сервера можно модифицировать "на лету".
  3. AutoResponder
    В этой вкладке задаются правила, которые говорят Fiddler выдавать на нужные запросы - уже готовые ответы, без обращения к серверу.
  4. RequestBuilder
    Удобный (уж лучше, чем telnet) способ самостоятельно конструировать HTTP-запросы.
    Можно загрузить готовый запрос из левого окна, "перетащив" его мышой в эту вкладку.
  5. Filters
    Назначить действия в зависимости от вида запроса..

Правила (Rules) - основа мощи Fiddler, то, за что он нежно и искренне любим. Они находятся в верхнем меню.

Есть несколько стандартных правил, но, что самое важное, новые правила можно задавать через пункт "Customize Rules" (или Fiddler Script Editor).

При наступлении любого события из обширного списка, Fiddler вызывает соответствующий обработчик из правил. Например, onBeforeRequest, onShutdown.

Стандартные правила отлично прокомментированы, и писать новые весьма просто.

Можно манипулировать заголовками, запросом, менять ширину канала, управлять выводом запроса в Fiddler и так далее и т.п.

Язык для задания правил - JScript.NET, что во-первых, дает удобство разработки, а во-вторых - интеграцию с другими компонентами Windows.

Например, на JScript.NET можно написать логирование определенного вида запросов в MSSQL или Access. Сам я не пробовал, но разработчик Fiddler говорит о возможности задания правил вообще на любом языке .NET.

Там же, в правилах, задаются и пункты меню Rules.

В меню Rules -> Automatic Breakpoints можно включить автоматическое прерывание Fiddler при обработке запроса.

После этого, если сделать запрос в браузере, подключенном к Fiddler, то его выполнение зависнет, а в левом окошке Fiddler этот запрос будет отмечен специальным значком.

Это показано на скриншоте ниже, и, кстати, внизу-справа режим брейкпойнтов отмечается спец. значком.

Fiddler

Если выбрать такой подвисший запрос мышкой, то во вкладке SessionInspector им можно управлять: менять сам запрос и ответ сервера (после Break on Response, когда сервер уже ответил).

Задавать прерывание на запросах определенного вида можно через правила.

Старые версии Fiddler использовали для отладки HTTPS специальную программу RPASpy. Начиная с 2.1, Fiddler благополучно обходится без этой программы, достаточно установить соответствующие настройки в Fiddler options.

HTTPS Fiddler отладка

К фиддлеру прилагается галерея расширений http://www.fiddlertool.com/fiddler2/extensions.asp. Среди них есть даже расширение для потоковой обработки запроса, которая очень полезна при отладке Server Push-приложений, хотя лично я предпочитаю для этого расширение IE HTTP Analyzer

Fiddler можно бесплатно скачать с сайта разработчика. Там же доступна документация и видео, например, такое.

Стартовое видео (англ.)

Fiddler видео

Примеры скриптов для Fiddler, которые дают общее представление о том, на что он может быть способен: http://www.fiddlertool.com/fiddler/dev/scriptsamples.asp.



 

Добавить комментарий


Защитный код
Обновить