In this step by step tutorial, learn how to setup your Аndroid device to use Fiddler as a proxy and capture web traffic from your phone.
Debugging web applications on Windows is fairly easy. Every browser has its own developer tools, and most importantly you can use Fiddler. However, this is not the case if you’re mobile developer that want to debug an application or website from Android device. Luckily, you can still use Fiddler to do it.
First you have to have Fiddler installed on your desktop machine. The PC and the Android device should be discoverable on the same network. This was the tricky part for me, as even when I have them on the same network, they couldn’t communicate with each other. I had to use the mobile hotspot on my machine to make them discoverable.
Just ping the device IP from your machine to be sure they can communicate.
Setting up Fiddler
First, you should enable the Allow remote computers to connect setting in Fiddler
- Open Fiddler and select Tools -> Options
- Choose the Connections tab
- Select the Allow remote computers to connect checkbox to enable the setting
- Restart Fiddler in order the changes to take effect
Fiddler is now listening on port 8888 (this is the default port, you can change it from the setting above).
Setting up the Android Device
Once Fiddler is listening, we should use it as a proxy in Android.
- Open the WiFi menu.
- Tap and hold on your current network to show the network details
- Choose the Manage network settings option
- Check Show advanced options checkbox
- Choose Manual from the Proxy dropdown list
- Type your IP address in the Proxy host name field
NOTE: You can check your IP address by hovering over the Network Connection icon in the Fiddler toolbar.
- Type the Fiddler listening port (8888 by default) in the Proxy port field
- Click Save to apply changes
Your device’s traffic should be visible in Fiddler.
Capture HTTPS Traffic
With the current setup you should be able to capture HTTP traffic. However, if you try to open any HTTPS website, you’ll get the This site’s security certificate is not trusted! error. To fix this, you should trust the Fiddler root certificate.
NOTE: By default, Fiddler-generated certificate is valid for 5 years. However, this can cause ERR_CERT_VALIDITY_TOO_LONG error in Chrome on Android. To fix this:
- Run about:config in Fiddler QuickExec.
- Create new variable fiddler.certmaker.ValidDays with value 820
Then, you can proceed with installing the Fiddler Root certificate as follow:
- In your browser, navigate to http://ipv4.fiddler:8888
- Download the Fiddler root certificate.
- Install the certificate on your device.
Now you should be able to capture HTTPS traffic too.
Once you’re done debugging, don’t forget to remove the WiFi proxy from your device.
This is all you need to know about capturing web traffic from Android devices with Fiddler. If you have any questions or problems, just leave a comment below.
We always love hearing feedback, so feel free to share your thoughts on what you'd like to see with us over on our Feedback Portal. And if you're new to Fiddler, you can get started today - download Fiddler for free right here.