710 likes | 940 Views
Next Talk: Debugging with Fiddler. Gold. Code Camp 2013 Sponsors. Bronze. Silver. Eric Lawrence @ ericlaw. Debugging with Fiddler. Follow along at http://getfiddler.com. Origins. Once upon a time…. Oh no! What happened?!?. There must be a better way…. A simple idea takes shape….
E N D
Next Talk: Debugging with Fiddler Gold Code Camp 2013 Sponsors Bronze Silver
Eric Lawrence@ericlaw Debugging withFiddler Follow along at http://getfiddler.com
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, a cross-country move to Telerik, and two new supported Platforms later…
Roadmap • New Website • New Documentation • New Platforms • Enhanced User-Interface
Fiddler Today Demo A quick tour of Fiddler
Fiddleron Linux • Linux Mint & Ubuntu
Fiddleron Mac OSX • It works, but due to UI glitches, you’re usually better off using Parallels
Traffic Monitoring Browsers, applications, and devices
Debugging Across Devices PC Mac Fiddler Internet iOS Tablets Phones
Fiddler as a Reverse Proxy http://fiddler2.com/r/?reverseproxy
Firefox Configuration Use the FiddlerHook add-on or configure Tools > Options > Advanced > Network > Connection Settings > Use system proxy settings
Win 8 “Store Apps” & IE11 AppContainer blocks “loopback” network connections. For debugging purposes, you can disable that blocking. Ctrl+Click to exempt all AppContainers
.NET Applications YourApp.exe.config<configuration> <system.net> <defaultProxy> <proxy bypassonlocal="false"usesystemdefault=“false"proxyaddress= "http://127.0.0.1:8888" /> </defaultProxy> </system.net></configuration>
HTTPS Traffic Decryption Proxies cannot normally “see” HTTPS requests Decrypting CONNECT tunnel to www.fiddler2.com GET /fiddler2/ GET /Fiddler2/Fiddler.css GET /Fiddler/images/FiddlerLogo.png
HTTPS Traffic Decryption • Fiddler dynamically generates interception certificates chained to a self-signed root.
HTML5 WebSockets WebSockets enable bi-directional socket communications over a connection established using HTTP or HTTPS
FTP Fiddler supports FTP traffic via a built-in FTP gateway. FTP proxy is off-by-default. SPDY/HTTP2.0 Fiddler recognizes and tags SPDY connections if HTTPS-decryption is disabled.
Protocol Violation prefs set fiddler.lint.HTTP True
Fiddler has many output options • 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
The SAZ file format Session Archive Zip files contain: • Request and response bytes • Timing and other metadata • HTML index file For security, SAZ files may be encrypted
FiddlerCap – Lightweight capture tool http://www.fiddlercap.com User-interface localized to: English | Français |Español | Português |日本語 |русский
Traffic Analysis Examine Requests and Responses
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 sets of sessions at once.
Filtering Traffic • Ignore Images & CONNECTs • Application Type Filter • Process Filter • Troubleshooting with Help menu Selecting Traffic • Using QuickExec • Using Find
Better Together: X-Download-Initiator https://fiddler2.com/dl/EnableDownloadInitiator.reg cols add @request.X-Download-Initiator
In Context Fiddler vs. other tools
Internet Explorer F12 Developer tools Internet Explorer 9 introduced the F12 Developer Tools, including a new Network tab…
Scenario Traffic Manipulation Change the bytes
Automated Rewrites • Simple built-in Rules • The HOSTS command