Продвинутая web-отладка с Fiddler

Preview:

Citation preview

Email: feschenko.alex@gmail.com

Twitter: http://twitter.com/FeschenkoAlex

Skype: feschenko.alex

ПРОДВИНУТОЕ ИСПОЛЬЗОВАНИЕ FIDDLER

GET / data HTTP/ 1.1

Захват траффика

Типичная архитектура

Internet Explorer

WinINET

Office

CryptoAPI WinHTTP

Fiddler

Firefox

Upstream Proxy

example.com

Firewall

Отладка между устройствами

Fiddler

Mac

Internet

Smar

tPho

neLi

nux

PC

FiddlerHook для Firefox

Fiddler, FiddlerCap and IE9

Импорт траффика

FiddlerCap

FiddlerCap – это легковесная утилита для захвата траффика

http://www.fiddlercap.com

IE9 Developer Tools

IE9 Developer Tools включает в себя закладку “Network”

http://www.fiddlercap.com

Examine Requests and Responses

Анализ траффика

Фильтрация траффика

• Игнорирование изображений• Фильтры по типу приложений• Фильтры по процессам• Использование QuickExec• Использование поиска

Опции сохранения

• Копирование сессий в буфер обмена• Сохранение в плоском текстовом файле• Экспорт бинарного содержимого запросов• Сохранение в базу данных• Экспорт в виде студийного Веб теста• Написание собственного движка…. (fully scriptable)• Оригинальный формат хранения сессий “Session Archive ZIP” (SAZ)

Сравнение траффика

Используйте WinDiff для сравнения

запросов и ответов

Сравнение траффикаРежим просмотра позволяет проанализировать множество захватов бок-о-бок

fiddler.exe -viewer

Rewriting HTTP(S) Traffic

Модификация траффика

Автоматический реврайтинг• Простые встроенные правила

• Расширение HOSTS

Отладка

Используйте инспекторы Фидлера

для модификации запросов и ответов…

СтримингВременная шкала в режиме буферизации:

Временная шкала в режиме стриминга:

Request Builder

Вручную создавайте HTTP запросы, или

изменяйте и перезапускайте предварительно

захваченные запросы.

AutoResponder

Воспроизведение заранее захваченного или сгенерированного траффика

Powering Up Fiddler

Скриптинг и расширяемость

Понимание расширяемостиFiddler 2

Fiddler ScriptEngine

Inspector2

Inspector2

IFiddlerExtension

IFiddlerExtension

Fiddler Proxy

Exec

Actio

n.ex

e

Your FiddlerScript

Xceed*.dll Makecert.exe

Your

Aut

omat

ion

Lightweight extensibility using JavaScript

FIDDLERSCRIPT

FiddlerScript

FiddlerScriptМодификация запроса

Static function OnBeforeRequest(oS: Session){ if(oS.uriContains(“.aspx”)) { oS[“ui-color”] = “red” } if(m_DisableCaching) { oS.oRequest.headers.Remove(“If-None-Match”); oS.oRequest.headers.Remove(“If-Modified-Since”); oS.oRequest[“Pragma”] = “no-cache”; }}

Powerful extensibility using any .NET Language

Расширения

neXpert

Watcher

http://websecuritytool.codeplex.com/

Automated (passive) security analysis

Integrating Fiddler into your tools

Интеграция

Ядро Фидлера

Fiddler 2

Fiddler ScriptEngine

Inspector2

Inspector2

IFiddlerExtension

IFiddlerExtension

FiddlerCore

Exec

Actio

n.ex

e

YourApp.exe

FiddlerCore

Инстанс фидлера Ваше приложение, которое хостит ядро Фидлера

Your FiddlerScript

Xceed*.dll Makecert.exe Makecert.exe

Программируем с FiddlerCore// Call Startup to tell FiddlerCore to begin // listening on the specified port, register as // the system proxy and decrypt HTTPS traffic.Fiddler.FiddlerApplication.Startup(8877, true, true););

Fiddler.FiddlerApplication.BeforeResponse += delegate(Fiddler.Session oS) { Console.WriteLine("{0}:HTTP {1} for {2}", oS.id, oS.responseCode, oS.fullUrl); }; // Call Shutdown to tell FiddlerCore to stop// listening and unregister as the system proxyFiddler.FiddlerApplication.Shutdown();

Подбивая итоги

• Fiddler – это http-прокси• Watcher & neXpert – лучшие расширения• FiddlerCap - легковесная утилита для захвата траффика • IE9 Developer Tools – удобный способ захвата траффика

Полезные ссылки

• http://www.fiddler2.com• http://www.fiddler2.com/Fiddler2/extensions.asp• http://www.fiddler2.com/fiddlercap/

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,

it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended