Tealeaf provides a plug-in for Fiddler that you can use to perform a client-side capture of all HTTP traffic passing through Fiddler to your local hard disk drive. This tool is useful for debugging capture issues while enabling access to Fiddler.
Fiddler is a debugger that logs all HTTP traffic between your computer and the Internet.
Most browsers use Fiddler automatically when Fiddler is configured to capture traffic. For example, Internet Explorer, Google Chrome, Apple Safari, and Opera automatically use Fiddler when Fiddler is configured to capture traffic.
Each browser lets you connect a proxy server. Usually, this setting is in the Options (or Preferences) menu.
- You can either point directly at Fiddler:
http://127.0.0.1:8888
- You can use proxy auto-configuration, which allows Fiddler to rewrite the configuration script when it is attached and detached. As a result, you should not need to manually enable or disable the proxy in your client based on Fiddler usage. After configuring proxy auto-configure, restart the browser, and the new setting is detected.
To capture a session that is sourced from a mobile device, more configuration is required.
For more information about Fiddler, including access to downloads, visit http://www.fiddler2.com/fiddler2.
If you installed the latest version of Fiddler and are encountering issues with the Client-Side Capture plug-in, contact Acoustic support.
When using Fiddler with a secure site, the browser displays a certificate warning. For more information about how to configure Fiddler to manage HTTPS connections, see http://www.fiddler2.com/Fiddler/help/httpsdecryption.asp
.
For more documentation on Fiddler, see
Acquire latest versions of software required by Fiddler
To use Fiddler, you must acquire the latest versions of JavaScript™, as well as the Client-Side Capture plug-in for Fiddler.
A JavaScript must be installed locally to capture UI events through the Client-Side Capture plug-in.
- Download the latest version of the CSC JavaScript.
- Acquire the Client-Side Capture plug-in for Fiddler.
Note: This plug-in is rarely needed in customer deployments. It is used only if content, such as other Tealeaf JavaScript, must be injected into the captured session data. In such cases, this plug-in should be installed with guidance from Support.
In most cases, Tealeaf recommends saving captured sessions using Fiddler's
SAZ
format and submitting to Tealeaf for review.
Install or upgrade the Fiddler plug-in
To install or upgrade the Fiddler plug-in, follow the procedure documented here.
To install or upgrade the Fiddler plug-in:
- Extract the
.zip
file that contains the plug-in (FiddlerCSC.dll
). - Copy the
.dll
to theScripts
directory inside the Fiddler installation directory. Typically, this directory is the following:C:\Program Files\Fiddler2\Scripts
- Launch Fiddler.
TeaLeaf CSC is displayed on the menu bar.
Configure Fiddler
After installing or upgrading Fiddler, you must configure it.
To configure Fiddler:
- Click the status bar and verify that the capture mode is set to Web Browsers.
- In the menu, select File > Capture Traffic.
- In the menu, select Rules > Hide HTTPS Connects if it is not already selected.
- In the menu, select Tools > Fiddler Options....
- On the General tab, select the following options:
Map socket to originating application
Automatically stream audio & video
- On the HTTPS tab, select the following options:
Capture HTTPS CONNECTs
Decrypt HTTPS traffic
- On the Connections tab, select the following options:
Reuse client connections
Reuse connections to servers
Chain to upstream gateway proxy
For the WinInet Connections, select the following check boxes:
Act as system proxy on startup
Monitor all connections
DefaultLAN
Microsoft VPN Client
- Click OK.
Configure client-side capture
After configuring Fiddler, you must configure client-side capture as described here.
To configure client-side capture:
- From the client-side capture menu, select Options.
- Set the configuration options as described in the following table.
Table 1. Client-side capture configuration options Setting Description Default location for TLA files
Enter the directory location for
.tla
files.Note: Verify that this directory exists. Otherwise,.tla
files cannot be saved.Insert
Tealeaf.js
after this stringIf
Inject Tealeaf.js
is enabled, you can specify the string in the response after which to insert theTealeaf.js
- You may enter a regular expression to specify this location.
- If this value is not specified, the
Tealeaf.js
can be injected in the request that is only based on the settings below.
Inject
Tealeaf.js
Select this option if you are injecting the
Tealeaf.js
JavaScript in the request or response.Check for HEAD Tag
To configure the plug-in to check for the presence of a HEAD tag in the page before injecting the
Tealeaf.js
JavaScript, select the Check for HEAD Tag check box.When enabled, this option prevents the plug-in from injected the
Tealeaf.js
into pages that cannot properly contain it.Textbox below
Inject Tealeaf.js
Enter the full path and name of the Fiddler JavaScript file.
Note: This file can be installed in any directory on your local system. You should not, however, install it within Fiddler directory.Regular Expression for Domains
Optionally, you can apply a regular expression for matching the domains into which to inject the
Tealeaf.js
file in your Fiddler browsing session.- The default value (
.*
) injectsTealeaf.js
into all domains monitored by Fiddler. - If this option is empty,
Tealeaf.js
injection is disabled.
Disable browser caching
Select the Disable browser caching option. This option forces an update of page data that is otherwise cached by the browser.
Note: Except in rare cases, this value should be set totrue
. If this option is set tofalse
, you may receive status code 304 on requests for images, JavaScript, CSS, and other static files, and the content is not captured.Auto Clear IE Cache
To automatically clear the IE browse cache when Fiddler starts up, click Auto Clear IE Cache.- When this option is selected, the browser cache is cleared when the
Tealeaf.js
is injected, too. - This option is useful for forcing a new session to retrieve all objects and eliminates the creation of unnecessary
.saz
files.
- Click OK to save the configuration.
Note: To apply some of these changes, you must restart Fiddler.
Verify mousedown event tracking was enabled through CSC
At the time of initial site checks, click events may not be permitted to bubble up for capture by client-side capture. As part of site analysis, it is useful to know if click events are missing.
You can circumvent the issue by enabling the track of the mousedown
events, which are not typically blocked from bubbling up for capture. To enable capture of the mousedown
event, complete the following configuration.
- Locate the configuration file for Fiddler. It may be in the C:\Program Files\Fiddler2JS\ directory.
- Edit the file.
- Locate the following entry:
{"domevent": "mousedown", "load": false, "tlhandler": "TeaLeaf.Client.tlAddEvent"},
- Verify or change the entry to be the following. The value for the
load
parameter must be set totrue
:{"domevent": "mousedown", "load": true, "tlhandler": "TeaLeaf.Client.tlAddEvent"},
- Save the file.
- Close and reopen Fiddler.
Manage IPv6 addresses
If your web application is tracking IPv6 addresses, you can configure Fiddler and the client-side capture plug-in to convert them to IPv4 addresses, which are used internally by Tealeaf.
The following mappings are applied to the LOCAL_ADDR
and REMOTE_ADDR
fields in the request.
- Source
- Mapped to
LOCAL_ADDR=::127.0.0.1
LOCAL_ADDR=127.0.0.1
LOCAL_ADDR=::FFFF:127.0.0.1
LOCAL_ADDR=127.0.0.1
- Source
- Mapped to
LOCAL_ADDR=0:0:0:0:0:0:127.0.0.1
LOCAL_ADDR=127.0.0.1
LOCAL_ADDR=0:0:0:0:0:FFFF:127.0.0.1
LOCAL_ADDR=127.0.0.1
- Source
- Mapped to
LOCAL_ADDR=0000:0000:0000:0000:0000:0000:127.0.0.1
LOCAL_ADDR=127.0.0.1
LOCAL_ADDR=0000:0000:0000:0000:0000:FFFF:127.0.0.1
LOCAL_ADDR=127.0.0.1
- Source
- Mapped to
LOCAL_ADDR=0000:0000:0000:0000:0000:0000:7F01:0001
LOCAL_ADDR=127.0.0.1
LOCAL_ADDR=0000:0000:0000:0000:0000:FFFF:7F01:0001
LOCAL_ADDR=127.0.0.1
- Open Fiddler2.
- In the Fiddler2 menu, select Tools > Fiddler Options.
- Click the General tab.
- Select the Enable IPv6 (if available) option.
- Click the Connections tab.
- Select the Allow remote computers to connect option.
- Click OK.
When IP addresses are detected in the above formats, they are written into IPv4 format.
Capture sessions
After configuring client-side capture, you can use Fiddler to inject the client-side JavaScript and perform a session capture.
Before you begin capturing sessions, clear the browser cache.
You can use any browser that supports Fiddler.
To perform a Client-side capture:
- Clear any existing Fiddler sessions. Select Fiddler > Edit > Remove > All Sessions.
- From the File menu, verify that Capture Traffic was selected.
- Browse through the web application that must be captured, visiting all wanted pages. Verify that Fiddler is able to see the pages you want to capture.
- When you are finished browsing, close the browser and return to Fiddler.
- In the Fiddler menu, select File > Save > All Sessions. Save the resulting
.saz
file in a location of your choice. - If you have access to RTV, under the CSC menu, select Save all hits to TLA.
The session is saved and opened in RTV.
You can verify if the pages and UI events was captured correctly.
Considerations for using Fiddler and Client-Side Capture
There are things to consider when using Fiddler and Client-Side Capture.
- During RTV replay, you should disable Fiddler capture.
If it is enabled, it captures the replay. To toggle capture, click the Fiddler status bar.
- If the
TeaLeafCSC_Fiddler.js
was configured for inclusion, UI events are transmitted every 30 seconds or on unloading of the page.You might have to wait for 30 seconds after you finish your browsing before you save the
.tla
file using theSave all hits to TLA
option in Fiddler. - Fiddler and WebEx do not interact well together.
Try to start WebEx before starting Fiddler. Verify that Fiddler is proxying browser traffic only; verify that the capture mode in the status bar is set to Web Browsers.
This issue may appear with other desktop sharing / remote meeting solutions.
Cleanse captured sessions
If you use Fiddler to capture sessions that contain references to domains other than the one captured, the generated TLA
may cause problems during replay.
For example, if the first hit of the session queries a different domain, a false user agent string may be submitted. On replay, the user agent string may be used to determine the type of renderer to use to render the hit. If the renderer is not available, Replay Server fails to render the hit.
To avoid these potential issues with your sessions, you can perform the following generalized steps.
- In a development environment, create a privacy rule that drops hits from domains that are not the one for which you are capturing. Its configuration should look similar to the following:
[Rule1] Enabled=True ReqField=HTTP_HOST ReqOp=CONTAINS ReqValue=example.com Not=True Action=DropHit
- Use request data that contains such a reference as the test data for the Privacy Tester Utility, where you can test if your rule works.
- You might want to create a simple child pipeline consisting of the Privacy and Archive session agents through which you feed your session in the development environment.
- Use the Archive Reader utility to submit the
TLA
session into the appropriate pipeline. - The session is fed through the pipeline, with a resulting
TLA
generated in the output directory that is specified by the configuration for the Archive session agent.
The resulting TLA
was purged of references to non-primary domains.
Configure Firefox to use Fiddler
The Mozilla Firefox browser does not "auto-configure"to use Fiddler. If you are using the Mozilla Firefox browser, you need to configure it manually to use Fiddler.
To configure Firefox to user Fiddler:
- To configure Firefox to point at Fiddler, you must acquire the correct auto-configuration URL from Fiddler. Select Tools > Fiddler Options > Connections.
- Click the Copy Browser Proxy Configuration URL link.
- Select the following in the Firefox menu: Tools > Options > Advanced.
- Click the Network tab.
- Click Settings....
- Select Automatic proxy configuration URL.
- Paste the link in the text box.
- Click OK twice.