Debugging with Fiddler Eric Lawrence ) Follow along at

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Overview Environment for Internet database connectivity
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
 2008 Pearson Education, Inc. All rights reserved Web Browser Basics: Internet Explorer and Firefox.
Advanced Web Debugging
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Debugging with Fiddler
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
CIS101 Introduction to Computing Week 05. Agenda Your questions Exam next week - Excel Introduction to the Internet & HTML Online HTML Resources Using.
CIS101 Introduction to Computing Week 05. Agenda Your questions CIS101 Survey Introduction to the Internet & HTML Online HTML Resources Using the HTML.
CIS101 Introduction to Computing
1 Computing for Todays Lecture 22 Yumei Huo Fall 2006.
Introduction to HTML 2006 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Introduction to HTML 2006 INT197B. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
Introduction to HTML 2004 CIS101. What is the Internet? Global network of computers that are connected and communicate via a series of Protocols Protocols.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
CIS101 Introduction to Computing Week 06. Agenda Your questions Excel Exam during second hour Our status after the snow day Introduction to the Internet.
1 Enabling Secure Internet Access with ISA Server.
Introducing Fiddler Web Debugging for Performance and Operations
Advanced Web Debugging with Fiddler Eric Lawrence Program Manager Internet Explorer Note: Session includes demos and code samples.
Advanced Web Debugging with Fiddler Eric Lawrence Program Manager Internet Explorer Note: Session includes demos and code samples.
Gold Silver Bronze. Eric Follow along at
Fiddler. Introducing Fiddler HTTP/HTTPS Debugger Runs as a proxy server on the local machine or on a remote server Written in C# (.NET Framework v2.0)
Note: Session includes demos and code samples. For optimal viewing, please sit near the front!
11 SUPPORTING INTERNET EXPLORER IN WINDOWS XP Chapter 11.
Linux Operations and Administration
Steganography Cyber Security Camp, July 22, 2015 Rodrigo Sardiñas Dr. David Umphress William Frazier.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Configuring a Web Server. Overview Overview of IIS Preparing for an IIS Installation Installing IIS Configuring a Web Site Administering IIS Troubleshooting.
Agenda  Terminal Handling in Unix File Descriptors Opening/Assigning & Closing Sockets Types of Sockets – Internal(Local) vs. Network(Internet) Programming.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Web application architecture
Web Page Design I Retest Terms Review. 1. Web pages are created using a language known as ___________. The coding of this language must follow specific.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
Overview of Microsoft ISA Server. Introducing ISA Server New Product—Proxy Server In 1996, Netscape had begun to sell a web proxy product, which optimized.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Advanced Windows 8 Apps Using JavaScript Jump Start Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
Integrating and Troubleshooting Citrix Access Gateway.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
What’s New in Fiddler2 Eric Lawrence fiddler2.com/perf/
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
COMP2322 Lab 1 Introduction to Wireshark Weichao Li Jan. 22, 2016.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Fiddler and Your Website Robert Boedigheimer. About Me Web developer since 1995 Columnist for aspalliance.com Pluralsight Author 3 rd Degree Black Belt,
Tutorial 1 Getting Started with Adobe Dreamweaver CS5.
XP Creating Web Pages with Microsoft Office
Distributed Control and Measurement via the Internet
Essential tools for implementing and testing websites
Debugging Your Website with Fiddler and Chrome Developer Tools
Configuring Internet-related services
Presentation transcript:

Debugging with Fiddler Eric Lawrence ) Follow along at

How did I end up here?

Once upon a time…

Oh no! What happened?!?

There must be a better way…

A simple idea takes shape… All problems in computer science can be solved by another level of indirection. - David Wheeler

Fiddler: Evolution Ten years, ~30k lines of C#, 120+ release builds, one full-length paperback, a cross-country move to Telerik, and two new supported platforms later…

My current side-project

New Website New Documentation  New Platforms  Enhanced User-Interface Roadmap

Fiddler Today: Demo A quick tour of Fiddler

UI Evolution - Web Sessions list

Fiddler on Linux (Mint/Ubuntu)

It works, but due to UI glitches, you’re usually better off using Parallels / Fusion Fiddler on Mac OSX

Traffic Monitoring

Typical Architecture

Debug Across Devices Fiddler Mac Internet iOS Phones PC Tablets

Fiddler as a Reverse Proxy

Win8/8.1 “Immersive” Apps & IE11

.NET Applications YourApp.exe.config or machine.config

Protocols

Proxies cannot normally “see” HTTPS requests HTTPS Traffic Decryption GET /fiddler2/ GET /Fiddler2/Fiddler.css GET /Fiddler/images/FiddlerLogo.png

Fiddler dynamically generates interception certificates chained to a self-signed root. HTTPS Traffic Decryption

HTML5 WebSockets WebSockets enable bi-directional socket communications over a connection established using HTTP or HTTPS

HTML5 WebSockets

FTP Fiddler supports FTP traffic via a built-in FTP gateway. FTP proxy is off-by-default. Fiddler recognizes and tags SPDY connections if HTTPS-decryption is disabled. SPDY/HTTP2.0

Protocol Violations prefs set fiddler.lint.HTTP True

Traffic Archiving

Copy sessions to the clipboard Store as a plaintext file Extract binary response bodies Archive to a database Export a Visual Studio.WebTest file Build a HTML5 AppCache Manifest Build a WCAT load-test script Fiddler has many output options

…or write your own

Session Archive Zip files contain: Request and response bytes Timing and other metadata HTML index file For security, SAZ files may be encrypted using AES The SAZ file format

FiddlerCap – Simple capture tool User-interface localized to: English | Français | Español | Português | 日本語 | русский

Traffic Analysis

TextWizard Convert text between popular web encodings.

Traffic Comparison Use WinDiff or the differ of your choice to compare Sessions’ requests and responses.

Traffic Comparison Use the Differ Extension to compare groups of Sessions at once.

Filtering Traffic Ignore Images & CONNECTs Application Type Filter Process Filter Troubleshooting with Help menu

Regular Expression Support

SyntaxView Reformatting

ImageView DataURL Support

ImageView Tools integration

ImageView Metadata & GeoLocation

X-Download-Initiator cols

HTML5 Media & Font previews

In Context

Internet Explorer F12 Developer tools

F12 Developer Tools vs. Fiddler F12 Network TabFiddler Display cache and network requests Display and modify only network requests Shows downloads from current process Shows traffic from all processes Shows post-decryption HTTPS traffic Decrypts HTTPS traffic via “man-in-the-middle” approach Less explicit mixed-content detection Exports F12 NetworkData.xmlImports F12 NetworkData.xml

Traffic Manipulation

Automated Rewrites Simple built-in Rules The HOSTS command

Breakpoint Debugging Use Fiddler Inspectors to modify requests and responses….

Simple Filters Flag, modify or remove headers from all requests and responses.

Request Composer Create hand-built HTTP requests, or modify and reissue a request previously captured. Supports Automatic authentication File Uploads Redirect chasing Sequential URL Crawling

AutoResponder Replay previously- captured or generated traffic.

FiddlerScript

FiddlerScript – Request Modification 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"; }

FiddlerScript – Response Modification static function OnBeforeResponse(oS: Session) { oS.utilDecodeResponse(); oS.utilPrependToResponseBody( "Injected Content!"); }

Power up with Extensions

Understanding Extensibility Each component in red is your code… Fiddler.exe Fiddler ScriptEngine Inspector2 IFiddlerExtension FiddlerCore ExecAction.exe Your FiddlerScript Xceed*.dll Makecert.exe Script / Batch file

Understanding UI Extensibility 1.RulesOptions 2.ToolsActions 3.Custom menus 4.Custom columns 5.ContextActions 6.QuickExec handlers 7.Views 8.Request Inspectors 9.Response Inspectors 10.Import & Export Transcoders

Type-specific Inspectors

Expert Perf Analysis with neXpert

intruder21 Web Fuzzer By yamagata21

Watcher & x5s Security Auditors

WCF Binary Inspector

Integration

ExecAction.exe Calls into OnExecAction in script or extensions Alternatively, invoke directly by sending a Windows Message: oCDS.dwData = 61181; // Magic Cookie oCDS.cbData = lstrlen(wzData * sizeof(WCHAR)); oCDS.lpData = wzData; SendMessage( FindWindow(NULL, "Fiddler - HTTP Debugging Proxy"), WM_COPYDATA, NULL, (LPARAM) &oCDS );

Fiddler.exe Fiddler ScriptEngine Inspector2 IFiddlerExtension FiddlerCore ExecAction.exe YourApp.exe FiddlerCore Fiddler application with extensions Your application hosting FiddlerCore Your FiddlerScript Xceed*.dll Makecert.exe CertMaker.dll DotNetZip

Programming with 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); }; // Later, call Shutdown to tell FiddlerCore to stop // listening and unregister as the system proxy Fiddler.FiddlerApplication.Shutdown();

Fiddler Futures WebSockets UI SPDY/HTTP2 UI Enhancements You tell me!

Thank //fiddlerbook.com Now Available