How to use Fiddler with Xbox One

Fiddler is a web debugging proxy which logs all HTTP and HTTPS traffic between your Xbox One dev kit and the Internet. You will use it to log and inspect traffic to and from the Xbox services and relying party web services, to understand and debug web service calls.

In normal operation, a console that communicates through a proxy is at risk of having its communications modified by the proxy, possibly allowing players to cheat. Thus, consoles are designed not to allow communication through a proxy. Using Fiddler with your Xbox One dev kit requires that you perform some special configuration steps on the dev kit to allow it to use the Fiddler proxy.

Fiddler is freeware, and can be downloaded from the Fiddler website.

Fiddler can impact the network status reported by the console. If an upstream connection is disabled from the machine running Fiddler, the console may not detect this disconnection until the authentication of the console has expired. If you are using Fiddler, be sure to disconnect the connection between the console and the computer running Fiddler, rather than using Fiddler to simulate a disconnect. Better still, use the network stress tools so simulate disconnection for testing purposes.

Note

HTTP Monitor provides a subset of Fiddler’s functionality but is much easier to set up. You can enable HTTP Monitor in Dev Home, in the Networking tab. For more information, see Networking Page (Dev Home).

Installing and enabling Fiddler on the development PC

Follow these steps to install and enable Fiddler to monitor traffic from your dev kit.

  1. Install Fiddler on your development PC, following the directions on the Fiddler website.
  2. Launch Fiddler and select Fiddler Options from the Tools menu.
  3. Select the Connections tab, and ensure that the Allow remote computers to connect checkbox is checked.
  4. Click OK to accept your change to the settings. You will see a dialog box saying that Fiddler must be restarted for the change to take effect, and that you may need to configure your firewall manually. Click OK on this dialog, but do not restart Fiddler yet.
  5. Configure the necessary firewall rule to allow remote computers to connect. Start the Windows Firewall Control Panel applet. Click Advanced Settings, and then Inbound Rule. Find the rule named “FiddlerProxy”, and scroll to the right, verifying that each of the following settings appears for that rule.
Setting Preferred Value
NameFiddlerProxy
Group(do not set a value for Group)
ProfileAll
EnabledYes
ActionAllow
OverrideNo
Programpath to fiddler.exe
LocalAddressAny
RemoteAddressAny
ProtocolTCP
LocalPortAny
RemotePortAny
AllowedUsersAny
AllowedComputersAny
  1. Configure Fiddler to capture and decrypt HTTPS traffic.
    1. To enable best performance, set Fiddler to use Streaming Mode by clicking the Stream button on the button bar.
    2. In Fiddler, select Tools, then Fiddler Options, then HTTPS.
    3. Check the Decrypt HTTPS traffic checkbox. If a messagebox asks whether to configure Windows to trust the CA certificate, click No.
    4. Click the Export Root Certificate to Desktop button.
  2. Exit Fiddler and start it again.

To configure a dev kit to use Fiddler as its proxy to the Internet

  1. Navigate to the Network tool in the Xbox Device Portal UI.
  2. Browse for the Fiddler root certificate that you exported to the desktop.
  3. Type the IP address or hostname of the development PC running Fiddler.
  4. Type the port number where Fiddler is listening (by default, Fiddler uses port 8888).
  5. Click Enable. This will restart your dev kit.

To exclude Xbox Live Marketplace endpoints from Fiddler

Xbox Live Marketplace downloads detect SSL interception and will fail when Fiddler is used to decrypt HTTPS traffic. These endpoints are not needed for title analysis and can be excluded from Fiddler in the following way:

  1. In Fiddler, select Tools, then Fiddler Options, then Connections.
  2. Add the following hosts to the Bypass Fiddler for URLs that start with list: assets1.xboxlive.com;fe3.delivery.mp.microsoft.com;sls.update.microsoft.com
  3. Confirm this change and restart Fiddler.

To stop using Fiddler

To stop using Fiddler as a proxy to the Internet (and stop Fiddler from tracing all of the dev kit’s network traffic), do the following:

  1. Navigate to the Network tool in the Xbox Device Portal UI.
  2. Click Disable.

Note Each PC with Fiddler installed uses a different Fiddler root certificate. If you have more than one PC that might be used to provide a Fiddler proxy for your dev kit, you will need to select the new root certificate when switching between them. If you are using only one PC, you need to select the root certificate only the first time you enable Fiddler. You must still specify the IP address and port.