The Appearance tab exposes options that control how Fiddler is displayed.
The Font Size box allows you to select the size of text in Fiddler. A restart is required to fully complete the change.
The Set Readonly Color button allows you to select the background color for textboxes that are in a readonly state.
This setting exists because gray is the default readonly color for Windows but the lack of contrast between grey and black can be hard on the eyes. A restart is required to complete this change.
The Hide Fiddler when minimized checkbox will show the Fiddler icon in your system tray rather than the taskbar when Fiddler is minimized.
When the Always show tray icon checkbox is checked, Fiddler’s tray icon will always be visible in the system tray.
The Use SmartScroll in Session List option controls Fiddler’s behavior when new Sessions are added to the Web Sessions list. When this option is disabled, Fiddler will automatically scroll to show the newest sessions added to the list as they appear (if View > AutoScroll Session List is enabled).
When this option is disabled, Fiddler will only scroll to show the newest Sessions if the Web Sessions list is already scrolled to the bottom. Leave this option enabled to help avoid losing your place when inspecting and capturing traffic simultaneously.
Enabling the Reset Session ID counter on CTRL+X option causes the session ID numbering to restart from 1 when the Web Sessions list is cleared via the CTRL+X hotkey or the Remove > All Sessions menu command. When this option is not set, the session IDs will start at 1 and continually increment until Fiddler is restarted.
75 | Configuring Fiddler and Clients
H E A D E R E N C O D I N G S E T T I N G
When transmitting text over the network, both the client and the server must agree on how to convert between text strings and the raw bytes that are transmitted over the wire. The HTTP specification uses the charset attribute of the Content-Type header to convey the character set used within the request and response bodies.
Unfortunately, HTTP does not provide a broadly-respected mechanism for representing non-ASCII characters within the HTTP headers themselves. Instead, the HTTP specification indicates that only ASCII characters may be used.
Some clients and servers respect this directive (usually by percent-encoding non-ASCII characters) but others will emit and accept non-ASCII characters. There are some instances where bytes-to-characters conversion discrepancies will exist between the client application (e.g. a browser), an intermediary (e.g. a proxy like Fiddler) and the server (e.g. Apache or IIS).
To support the broadest range of clients and servers, Fiddler assumes that HTTP headers are transmitted in UTF-8 encoding. There are some locales (particularly in Asia) where, by convention, a different encoding is used (e.g. EUC-CN). You can manually configure Fiddler to utilize a different default encoding for headers by creating a new registry string named HeaderEncoding inside HKCU\Software\Microsoft\Fiddler2. The string value provided must be an Encoding name recognized by the .NET Framework; valid values can be found at
http://fiddler2.com/r/?EncodingNames.
You must restart Fiddler for any change to HeaderEncoding to take effect.
76 | Configuring Fiddler and Clients
P R E F E R E N C E S
Fiddler supports an extensible list of Name/Value-paired settings called Preferences that are used by extensions and other components of Fiddler. Many Preferences can be adjusted using menus or checkboxes in the Fiddler user-interface, but some Preferences are not exposed and can only be viewed or changed using the Preferences system.
Using the QuickExec box below the Web Sessions list, you can use the PREFS command to interact with Preferences.
Typing prefs log will log all Preferences to Fiddler’s Log tab. You can type prefs set [prefname] [prefvalue]
to create or update a Preference’s value; wrap the value in quotation marks if it contains any spaces. Type prefs remove [prefname] to delete a Preference; the next time Fiddler queries the value of the Preference, its absence will be noted and the default value for that Preference will be used. Type prefs show [partialname] to show the list of Preferences whose name contains the provided string (Preference names are case-insensitive).
You can see all of the configured Preferences by typing about:config in the QuickExec box; this will create or activate the about:config tab in the Fiddler UI that lists all Preferences sorted alphabetically by name.
You can remove a Preference by selecting its row and tapping the Delete key. Press CTRL+C on a cell to copy its value, or select a row and press CTRL+C to copy both the name and value. You may modify a Preference’s value by clicking into the Value column and entering a new value. You can add a new Preference by clicking into the last row (marked with an asterisk in the left margin) and typing a new Name and Value.
A complete list of Preferences supported by Fiddler and the Fiddler Extensions I’ve created may be found in Appendix D.
77 | Configuring Fiddler and Clients
C O N F I G U R I N G C L I E N T S
As a proxy server, Fiddler is only able to observe traffic that is sent to it. By default, web traffic from most applica-tions will automatically flow through Fiddler because it registers itself with Windows as the default proxy when running. Most client programs will use the registered system proxy when sending network traffic. In the few cases where this doesn’t happen automatically, configuration changes can be made to either the client or to Fiddler to capture traffic. As a proxy, Fiddler is also able to capture traffic from remote computers and network devices that support proxy servers (e.g. tablet computers and phones that support Wi-Fi).
In this chapter, I’ll explain the myriad ways in which Fiddler can be configured to capture traffic.