To set up Fiddler as a proxy for capturing traffic from an iPhone, follow these steps:
Prerequisites
1. Install Fiddler: Ensure that Fiddler (either Classic or Everywhere) is installed on your desktop machine.
2. Network Configuration: Both your iPhone and the machine running Fiddler must be on the same Wi-Fi network.
Configuration Steps
For Fiddler Classic
1. Open Fiddler Classic and stop any active traffic capture.
2. Install BouncyCastle: Download and install the BouncyCastle extension (CertMaker.dll) to ensure proper certificate generation compatible with iOS. This step is crucial for capturing HTTPS traffic.
3. Reset Certificates: In Fiddler, go to `Tools > Options > HTTPS`, and use the `Actions` dropdown to select `Reset All Certificates`. Ensure that the certificate generation method is set to BouncyCastle.
4. Enable Remote Connections: In `Tools > Options > Connections`, check the box for `Allow remote computers to connect`.
5. Start Capturing: Enable capturing in Fiddler.
6. Check IP Address: Hover over the online indicator in the Fiddler toolbar to find the IP address of your machine.
Configure iPhone
1. Remove Old Certificates: On your iPhone, go to `Settings > General > VPN & Device Management` and remove any existing DO_NOT_TRUST_FiddlerRoot profiles.
2. Set Proxy:
- Navigate to `Settings > WiFi`.
- Find your current network and tap the `i` icon.
- Scroll down to `Configure Proxy`, select `Manual`.
- Enter the Fiddler machine's IP address in the `Server` field and `8888` (or your configured port) in the `Port` field. Tap `Save`.
3. Install Fiddler Certificate:
- Open Safari on the iPhone and navigate to `https://ipv4.fiddler:8888` to access the Fiddler Echo Service.
- Download the Fiddler root certificate.
- Go to `Settings > General > Profile Downloaded` to install the certificate.
- For iOS 10.3 and later, enable full trust for the Fiddler root certificate in `Settings > General > About > Certificate Trust Settings`.
Final Steps
After completing these configurations, you should be able to capture both HTTP and HTTPS traffic from your iPhone using Fiddler. If you encounter any trust issues with HTTPS sites, ensure that the Fiddler root certificate is correctly installed and trusted on your iPhone.
Once done with debugging, remember to remove the proxy settings from your iPhone to restore normal internet connectivity[1][2][3][4].
Citations:[1] https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios
[2] https://docs.telerik.com/fiddler-everywhere/capture-traffic/capture-from-ios
[3] https://www.telerik.com/blogs/how-to-capture-ios-traffic-with-fiddler
[4] https://www.telerik.com/forums/https-on-ios15
[5] https://www.telerik.com/videos/debugging-on-ios-and-android-with-fiddler-everywhere