33
Email: [email protected] Twitter: http://twitter.com/FeschenkoAlex Skype: feschenko.alex ПРОДВИНУТОЕ ИСПОЛЬЗОВАНИЕ FIDDLER

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

Embed Size (px)

Citation preview

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

Email: [email protected]

Twitter: http://twitter.com/FeschenkoAlex

Skype: feschenko.alex

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

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

GET / data HTTP/ 1.1

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

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

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

Internet Explorer

WinINET

Office

CryptoAPI WinHTTP

Fiddler

Firefox

Upstream Proxy

example.com

Firewall

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

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

Fiddler

Mac

Internet

Smar

tPho

neLi

nux

PC

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

FiddlerHook для Firefox

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

Fiddler, FiddlerCap and IE9

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

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

FiddlerCap

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

http://www.fiddlercap.com

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

IE9 Developer Tools

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

http://www.fiddlercap.com

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

Examine Requests and Responses

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

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

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

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

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

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

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

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

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

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

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

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

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

fiddler.exe -viewer

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

Rewriting HTTP(S) Traffic

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

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

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

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

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

Отладка

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

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

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

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

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

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

Request Builder

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

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

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

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

AutoResponder

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

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

Powering Up Fiddler

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

Page 21: Продвинутая web-отладка с 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

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

Lightweight extensibility using JavaScript

FIDDLERSCRIPT

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

FiddlerScript

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

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”; }}

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

Powerful extensibility using any .NET Language

Расширения

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

neXpert

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

Watcher

http://websecuritytool.codeplex.com/

Automated (passive) security analysis

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

Integrating Fiddler into your tools

Интеграция

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

Ядро Фидлера

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

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

Программируем с 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();

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

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

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

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

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

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

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

© 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.