Debugging the web with fiddler
1 / 32

Debugging the Web with Fiddler - PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Debugging the Web with Fiddler. Ido Flatow Senior Architect Microsoft ASP.NET/IIS MVP SELA Group @idoflatow. About Me. Senior Architect, Sela Group Co-author of courses and books Microsoft ASP.NET/IIS MVP Focus on server, web, cloud, and DevOps

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentationdownload

Debugging the Web with Fiddler

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Debugging the web with fiddler

Debugging the Web with Fiddler

Ido Flatow

Senior Architect


SELA Group



About me

About Me

  • Senior Architect, Sela Group

  • Co-author of courses and books

  • Microsoft ASP.NET/IIS MVP

  • Focus on server, web, cloud, and DevOps

  • Manager of the Israeli WebDev User Group

Meet fiddler

Meet Fiddler…

Fiddler facts

Fiddler Facts

  • A proxy server

  • An HTTP/HTTPS Sniffer

  • An HTTP Debugger

  • Written in .NET / Mono

  • A free utility (for now, cross your fingers)

  • An extensible application

  • A must tool for web developers

  • Unfortunately, it doesn’t make coffee!

How fiddler works

How Fiddler Works…

Fiddler by scenarios

Fiddler by Scenarios







Scenario inspecting traffic

Scenario: Inspecting Traffic

The sessions list

The Sessions List



Manual comments

Response size

Sequence and color coding

Caching information

Origin process

Fiddler to the rescue

Fiddler to the Rescue

  • Browsers (Static sites, ASP.NET, J2EE, PHP)

  • Desktop applications that use HTTP

  • Web services

  • Windows Phone Emulator

  • Any device that supports a proxy server ( )

The right inspector for the job

The Right Inspector for the Job

Filter by

Filter by…

By specific process

By host

By process name/PID/svchost


By status code

By MIME or size

By process type


Fiddler and https

Fiddler and HTTPS

  • HTTPS is secured - between two machines

  • Fiddler acts as a “machine-in-the-middle”

  • Generates certificates for web sites on-the-fly

  • Fiddler supports client certificates for authentication

  • Supports excludingproblematic HTTPS sites

Scenario performance tuning

Scenario: Performance Tuning

Understanding the connection

Understanding the Connection

First connection

From client to Fiddler

Second connection

From Fiddler to the server

Visualize the traffic with timeline

Visualize the Traffic with Timeline



Bar = begin receive

Disk = cached response

Red = new connection

Green = reused connection

Bar color = MIME

Stripes = buffered by Fiddler

Prefer stream over buffer. Use buffer when editing responses

Statistics are important

Statistics are Important

  • Single page statistics give info on performance

    • Client processing

    • Server processing

    • Network latency

  • Server time: ServerBeginResponse – ServerGotRequest

  • Upload time: ServerGotRequest – ClientDoneRequest

  • Download time: ServerDoneResponse – ServerBeginResponse

  • Watch out for misleading connection reuse

  • Add timer columns instead of calculating

Performance related inspectors

Performance-related inspectors

  • Transformer

  • Image view

  • Caching

  • Cookies

  • HTML Inspector (3rd party)

Drawing conclusions

Drawing Conclusions

  • Reduce number of requests

  • Reduce traffic roundtrips

  • Reduce the size of requests and responses

  • Applying compression where needed

  • Identify non-cached responses

  • Use Fiddler to improve performance, not to measure it!

Scenario debugging

Scenario: Debugging

Manipulating traffic with rules

Manipulating Traffic with Rules

  • Simulate user-agents

  • Disable sending cache headers

  • HOSTS file remapping

  • Custom rules

Play it again sam

Play it Again, Sam

  • Why run the client scenario again, just to resend the request?

  • Simply click “Replay”

    • Reissue a single request

    • Reissue a set of requests

    • Reissue unconditionally (no cache headers)

    • Reissue multiple times

Changing requests with composer

Changing Requests with Composer

  • Create any request from scratch

  • Use previous requests with drag-n-drop

  • Use Scratchpad to store common requests

Breakpoints human in the middle

Breakpoints – Human in the Middle

  • Manual control over request & response

  • Stop on any direction

  • Manipulate headers and body

  • Use built-in responses or file

Debugging localhost

Debugging Localhost

  • In some cases, proxies are bypassed when using localhost ( addresses

  • What to do?

  • Use the machine’s name

  • Use fictitious DNS names

    • localhost. or localhost.fiddler(converted to localhost)

    • ipv4.fiddler or ipv6.fiddler (converted to / [::1])

Debugging services

Debugging Services

  • Fiddler hooks to the interactive user

  • IIS App Pools and Windows Services runs using built-in users

  • Use network sniffers and export as PCAP

  • Download PsExec and run:

    PsExec.exe -i -u "nt authority\network service" "%ProgramFiles(x86)%\Fiddler2\Fiddler.exe"

If you see this don t panic

If You See This, Don’t Panic

When Fiddler crashes proxy setting are still in effect

Before rebooting your machinetry running Fiddler again

Scenario testing

Scenario: Testing

My code is perfect

“My Code is Perfect”

  • Save traffic to file

  • Save sessions as .SAZ (Zip) archive

  • .SAZ stores content and session info

  • Other archiving options:

    • HTTP Archive (HAR)

    • Visual Studio Web Test

Auto responder an in memory website

Auto-Responder - an In-Memory Website

  • If URI matches… then respond with…

  • Respond with file/redirection/breakpoint/drop

  • Not only that, you can also:

    • Import sessions as responses

    • Edit stored responses

    • Use original latency time (updatable)

    • Export and import rules

Fiddler is more than a sniffer

Fiddler is More Than a Sniffer

  • Monitors traffic, yes, but also…

  • Controls traffic

  • Modifies traffic

  • Generates traffic

  • Easy to use

  • Extensible

Enhance your web debugging with Fiddler today!



Fiddler Website

Fiddler Forum

Fiddler Blog (older blog)

My Info

This Presentation

Rate this session now

Rate with Mobile App:

Rate This Session Now!

Tell Us What You Thought of This Session

Select the session from the Agenda or Speakers menus

Select the Actions tab

Click Rate Session

Be Entered to



Rate Using Our Website:

Register at

Go to

Select this session from the list and rate it

  • Login