Introducing the Exchange Online Fiddler Extension


If you already know what this is then you are probably just looking for the download link: https://github.com/jprknight/EXOFiddlerExtension/releases.

Or the wiki page: https://github.com/jprknight/EXOFiddlerExtension/wiki

Or for questions, issues or suggestions: https://github.com/jprknight/EXOFiddlerExtension/issues

Working in support we deal with a lot of organisations moving from using Exchange On-Premise to Exchange Online and troubleshooting if Outlook has difficulties connecting to cloud mailboxes. We continually use tools such as The Support and Recovery Assistant (SARA), the now depreciated OffCAT which has been replaced by the Collect Information about my Outlook configuration option in SARA, Outlook ETL files (can only be viewed by Microsoft support), and Fiddler traces to see the conversation between the Outlook client and the server - Exchange Online / Office 365 / Authentication or Federation provider.

This post is about the Exchange Online Fiddler Extension which enhances the Fiddler UI to make this type of troubleshooting easier and more efficient.

What does the extension do?

  • Colourise sessions.
  • Additional columns added to UI.
    • Response time -- Shown when loading a SAZ file if enabled.
    • Response server -- The type of web server which responded to the request.
    • Exchange Type -- This is a field populated from logic checks based on request and response values. This will contain the client used, type of connection, or process if not related to Exchange or Outlook.
  • Inspector tab added to the UI.
    • The extension adds an Exchange Online tab to the response inspector list.
    • This tab brings together useful information for troubleshooting issues.
    • Expect to see information from the sessions along with logic based comments in the response comments box.
  • Application Logging.
    • Logs the logic checks the extension finds on sessions into the Fiddler application log for viewing.
  • Update Checking.
    • If you load a SAZ file or click Check for Update on the extension menu the extension checks for an available update.
    • If you are live tracing (you open Fiddler to capture data, rather than double click a SAZ file) the extension does not attempt to check for update.
  • Menu added to the UI to control the extension.
    • Extension Enabled -- Running the extension with all options turned on involves a performance cost. You can turn off the extension if not currently using it. This will stop all session logic processing. The inspector tab will still show, however clearly displays the extension is disabled.
    • Response Time Column Enabled (Load SAZ only), Response Server Column Enabled, and Exchange Type Column Enabled -- Each turn on or off these columns.
    • Application Logging Enabled -- Enable/disable switch for the application logging.
    • Extension Wiki -- Link out to the project Wiki.
    • Report Issues -- Link out to the project issues page.
    • Check for updates -- Extension checks against updates.
      Note: Set the options you want on the menu and restart Fiddler to see the changes.

What kind of scenarios can the extension help me troubleshoot?

Outlook connectivity / credential prompt issues:

  •  Authentication:
    • ADFS or third-party federation provider is unreachable or unavailable. No authentication tokens generated for users as they request them means no access to Office 365 resources.
    • Outlook throwing unexpected authentication prompts.
  • Autodiscover:
    • Autodiscover not responding or responding with incorrect information.
    • An Autodiscover response from a non-Exchange server.
  • Network Connectivity:
    • Web proxy or other device blocking Outlook traffic from reaching the internet and Office 365 / Exchange Online.
    • Outlook cannot connect to an Exchange Online mailbox.
    • Outlook cannot communicate with an Exchange server - either On-Premise or in Exchange Online.
  • Any of the above:
    • OWA cannot connect to an Exchange Online mailbox.
    • Outlook or OWA cannot perform a specific function with the mailbox.
  • Exchange Free/Busy and other EWS calls.

What does it look like?

Colourisation of sessions and additional columns

Prior to installing and enabling the extension all sessions would be shown in white. The extension is now using logic to detect the severity of session responses and highlight what we need to focus on for troubleshooting.

See the Extension Colour Code Explanation wiki page for more details on what these colours mean.

In this lab sample a squid proxy has been installed which is set to block all traffic for outlook.office365.com. Client computers in the environment are set to route all internet traffic through the proxy server. The result is Outlook cannot connect to the Exchange Online mailbox and HTTP 403 responses are seen from the web proxy server on the disallowed traffic.

Notice the addition of the Response Time, Response Server and Exchange Type columns.

Update (10/15/2018): Exchange Type is now louder about any specific scenario found, shown in the screenshots below.

This HTTP 503 Service Unavailable was simulated in a lab by taking the 'Active Directory Federation Services' service offline on the Web Application Proxy server.

Inspector Tab

For HTTP 200 OK responses the extension is splitting each word in the response body and looking for 'error' or 'failed'. In this case no results were found so the session is coloured as green and the following is shown. Specific to 'HTTP 200 OK' the extension is looking for errors or failures lurking in the responses.

This HTTP 403 Forbidden accompanies the session colourisation scenario above. This is one of the HTTP 403 responses from that trace. The tell in this scenario is the response server is squid/3.5.27, which is configured to block Outlook's traffic for outlook.office365.com. This session is highlighted as red in the session list.

This HTTP 503 Service Unavailable was simulated in a lab by taking the 'Active Directory Federation Services' service offline on the Web Application Proxy server. This means when the Outlook client hits the realm page for basic authentication (shown below), and is redirected to the federation service, it is offline and cannot service the authentication request. At this point Outlook most likely prompts for credentials which cannot be satisfied, and cannot connect to the Exchange Online mailbox.

Menu to control the extension

Here's hoping this extension helps you troubleshoot an Outlook or Exchange issue. Further information can be found here: https://github.com/jprknight/EXOFiddlerExtension/wiki

Any queries, issues or questions can be posted here: https://github.com/jprknight/EXOFiddlerExtension/issues.


Comments (0)

Skip to main content