In the second of this four part series, we shall explore Fiddler and its features. While this part specifically discusses Fiddler, the rest of the series includes the following:
The summary shall discuss specific scenarios and compare each tool based on factors to help you make an informed decision.
Section 1: Introduction
Fiddler is a powerful HTTP/HTTPS proxy utility which works well for any browser, system or platform. The official documentation of Fiddler describes the tool as:
“Fiddler is a free web debugging proxy which logs all HTTP(s) traffic between your computer and the Internet. Use it to debug traffic from virtually any application that supports a proxy like IE, Chrome, Safari, Firefox, Opera and more.”
Apart from testing the website performance and security, Fiddler is instrumental in helping us view hits sent by a web browser to the Google Analytics server. The hits could comprise of page views, events or ecommerce transactions.
Section 2: Parameters
A usual Fiddler request includes the following #Fiddler ID/Result/protocol used (HTTP/HTTPS/FTP) hostname/URL/Body /cached values.
- The #Fiddler ID is a unique identifier granted to each result requested from the server. This feature helps us to quickly search for a particular response and investigate it further. The Result contains the status code (200 usually or 304).The protocol used indicates HTTP or HTTPS. The hostname and URL indicates your domain and the web page of the site.
This screenshot taken from the official documentation guide of Fiddler explains the various tabs of the tool. You can also learn about icons used by Fiddler for quick reference.
Section 3: Using Filters to view requests
Filters are used to identify and analyze data which are relevant to our requirement. In our case, we only need requests from google-analytics and hence we have made the below filter:
Use the Find Sessions feature to search for sessions from ‘www.google-analytics.com’
Section 4: How to use Fiddler
Step 1: Download and install Fiddler as per your system configuration (Windows, Linux)
Step 2: Open the Fiddler tool
Step 3: Enable ‘Capture Traffic’ option under the File Menu:
Step 4: Type the website address in the ‘quick execute’ box and view various requests being passed for the particular web pages of the site. Now, go to Inspectors > Headers to check the HTTP headers and the information being passed in it.
Step 5: If you have utilised filters properly, you can see the GA session list and when you click on Inspectors tab > Web Forms, you shall be able to see all the GA parameters being passed.
For classical analytics(ga.js): Refer to the parameter list as given below
Section 5: Testing on mobile devices
1. Go to Wi-Fi settings of your phone
2. Select the Wi-Fi from which you wish to test
3. Long press the Wi-Fi selected and click on Modify Network
4. Find out the IP of your system. Go to Run and type cmd. As soon as command prompt opens, type ipconfig and note down the IP
5. Put proxy port as 8888 and Save the settings
Note that the Wi-Fi being used by the machine (Desktop/Laptop) and the mobile needs to be the same
Now you can browse from your mobile and the request are been captured in Fiddler.
Section 6: Fiddler certificate
For HTTPs connection, you need to install the Fiddler SSL certificate on the client mobile on which you are running the app. The Fiddler certificate is available from http://ipv4.fiddler:8888/
Section 7: Final changes in Fiddler
- Click on Tools > Fiddler options. Go to the Connections tab and select the option ‘Allow remote computer to connect’
- Go the HTTPS tab and select the options for ‘Capture HTTPS Connects’ and ‘Decrypt HTTPS traffic’
- Restart Fiddler again and test
Section 8: Are you ready to capture?
Test the mobile app, and amongst all the requests, look out for https://www.google-analytics.com
If you use a SSL connection, the request shall be bracketed under https://ssl.google-analytics.com
Fiddler is an extremely efficient tool, providing services for free across any browser, operating system and platform. With supporting add-ons and companion tools such as FiddlerCore, FiddlerCap and FiddlerScript Editor, the tool is indeed quite handy for any testing/HTTP traffic debugging purposes.
We shall discuss Wireshark in the next part of this four part series.
- Soham Shah & Kartikay Sharma (Web Analytics)