Debugging the web with fiddler
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Debugging the Web with Fiddler PowerPoint PPT Presentation


  • 239 Views
  • 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

Download Presentation

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

Microsoft ASP.NET/IIS MVP

SELA Group

@idoflatow

#devconnections


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

Debugging

Traffic

Inspection

Performance

Tuning

Testing


Scenario inspecting traffic

Scenario: Inspecting Traffic


The sessions list

The Sessions List

Customizable

Columns

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 URL

By status code

By MIME or size

By process type

QuickExec


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

End

Start

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

www.bobthebuilder.com


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 (127.0.0.1) 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 127.0.0.1 / [::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!


Resources

Resources

Fiddler Website

http://www.telerik.com/fiddler

Fiddler Forum

http://groups.google.com/group/httpfiddler

Fiddler Blog

http://www.telerik.com/automated-testing-tools/blog/eric-lawrence.aspxhttp://blogs.msdn.com/b/fiddler (older blog)

My Info

This Presentation

http:[email protected]

[email protected]

http://1drv.ms/1kuiuGh


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

WIN

Prizes!

Rate Using Our Website:

Register at www.devconnections.com/logintoratesession

Go to www.devconnections.com/ratesession

Select this session from the list and rate it


  • Login