Giter Site home page Giter Site logo

jprknight / office365fiddlerextension Goto Github PK

View Code? Open in Web Editor NEW
24.0 7.0 8.0 7.87 MB

This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.

C# 97.93% PowerShell 2.07%
exchange online fiddler office365 microsoft365 exo extension outlook teams onedrive

office365fiddlerextension's Introduction

Extension Purpose

This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.

How To Use The Extension

  1. Reproduce an issue / behaviour: Use Fiddler Classic, FiddlerCap, or FiddlerAnywhere to collect a trace (decrypt traffic) on the computer where the issue is seen. Save the result as a SAZ file, and transfer to your own computer.
  2. Review the result (SAZ) file: On your own computer install Fiddler Classic, install the extension, and open the SAZ file.

Deployment Script

The best way to get the Office 365 Fiddler Extension is via the deployment script. Run the below in PowerShell on your computer:

Invoke-Expression (New-Object Net.WebClient).DownloadString('https://aka.ms/Deploy-Office365FiddlerExtension')

Don't want to use the aka.ms short link, or not working? Use this instead:

Invoke-Expression (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/jprknight/Office365FiddlerExtension/master/Office365FiddlerExtension/Deploy-Office365FiddlerExtension.ps1')

Office 365 Fiddler Extension Deployment Script

Functionality Breakdown

Colourisation of sessions

The extension enhances the default experience of Fiddler by colouring sessions in line with the session analysis performed.

Think traffic lights, with some extras.

  • Red -- Something red is really broken, start here first.
  • Black -- Something might be broken, but these may not be the underlying cause.
  • Orange -- Something which may be a concern, see Session Analysis on the response inspector for details.
  • Blue -- False positive detected, most prominiently HTTP 502's, see Session Analysis on the response inspector for details.
  • Green -- Nothing bad detected.
  • Gray -- Unlikely to be of interest.

User Interface

  • Response Inspector Tab - Look for Session Analysis, for helpful information on any given session.
  • Office 365 Menu - Turn off/on extension features.

Session Columns

Columns are added into the session view on the left side of Fiddler, scroll the view to the right if you don't immediately see them. Re-order the columns to your preferences.

  • Elapsed Time - The roundtrip time for the request/response.
  • Response Server - What kind of device / server responded to the request.
  • Session Type - What kind of session was detected.
  • Host IP - IP address of the device / server which responded.
  • Authentication - Authentication details detected in the session.

Known limitations

  • Extension does not act on live captured sessions. In this scenario, session analysis can be inaccurate.
  • Extension does not act on import, such as importing a HTTP archive. However, a HAR file can be imported, saved as a SAZ file, then loaded for the extension to work.

Project Links

Wiki: https://aka.ms/O365FiddlerExtensionWiki

Issues: https://aka.ms/O365FiddlerExtensionIssues

Download: https://aka.ms/O365FiddlerExtension

EHLO team blog post: EHLO Blog Article

office365fiddlerextension's People

Contributors

brandev avatar dependabot[bot] avatar jprknight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

office365fiddlerextension's Issues

Extension causes very high CPU utilization

This app is unusable due to the high CPU utilization it causes. The issue is so severe that I can't even reliably click buttons within the app. Once I disable the extension, Fiddler performs normally.

Screenshots for reference: https://imgur.com/a/wRaivjk

Dell Laptop

  • 4-core i5-5300U
  • 16GB RAM
  • Samsung PM851 SSD

Columns are loaded whether they are enabled or not in beta.

ActivationService.cs:

Each of the columns need to change from:

FiddlerApplication.UI.lvSessions.AddBoundColumn("Response Server", 0, 130, "X-ResponseServer");

to:

if(Preferences.ResponseServerColumnEnabled && Preferences.ExtensionEnabled)
{
FiddlerApplication.UI.lvSessions.AddBoundColumn("Response Server", 0, 130, "X-ResponseServer");
}

        FiddlerApplication.UI.lvSessions.AddBoundColumn("Host IP", 0, 110, "X-HostIP");
        FiddlerApplication.UI.lvSessions.AddBoundColumn("Authentication", 0, 140, "X-Authentication");
        FiddlerApplication.UI.lvSessions.AddBoundColumn("Exchange Type", 0, 150, "X-ExchangeType");

Item has already been added. Key dictionary: 'x-hostip' issue on loading Saz file previously saved with extension enabled.

Issue scenario:

You collect a Fiddler trace from a computer with the extension installed and enabled. You save a SAZ file.
You see the error in the description when you:

  • Open the trace with or without the extension installed.
  • Open the trace with or without the extension enabled.

The error is thrown. but there is no adverse effects. Sessions are displayed as expected beyond the error.

Checking for update; No internet connectivity is not handled.

Fiddler goes into a non-responsive state, after some time the prompt 'operation timed out' is shown, once clicked Fiddler crashes and closes out.
Need to detect internet connectivity or implement try...catch when checking the version.
Condition appears to break colourisation of sessions.

cannot find extension in outlook and fiddler

i have downloaded fiddler
then download the extension
i cannot find where is the extension in fiddler and outlook
the screenshot UI is taken at which app? fiddler? or outlook?

Rule Set Update: HTTP 456 MFA.

Shows 'HTTP 429: See details on Raw tab.'

Incorrect HTTP status code and needs expanding upon.

AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access ''.

ExecutionCount not incrementing.

MenuUI.cs:

            iExecutionCount = FiddlerApplication.Prefs.GetInt32Pref("extensions.EXOFiddlerExtension.ExecutionCount", 0);
            iExecutionCount++;

Issues with enabling columns etc in addin.

A number of people have shown me or reported issues with columns not appearing in the extension. Potentially due to upgrades from previous versions, or potentially due to the code overhaul we are currently working through.

Fiddler enters a "Not Responding" State when EXO extension is enabled.

fiddlerversion
notresponding

Machine:
Surface Book 2 16GB RAM
Windows 10 1803 Build 17134.407
Fiddler V5.0.20182.28034

Repro Steps:
Open Fiddler
Start Outlook
Once Outlook Starts Fiddler goes into a "Not Responding State"

To Recover:
Close Outlook, and fiddler will become responsive again.

Screen Shots Attached

Fiddler blocks Outlook from connecting to Internet

When Outlook is opened, user receives a modern auth prompt to enter their password, but modern auth prompt does not load properly, it says 'you'll need internet for this'. This happens when fiddler is open and capturing traffic at the same time. I have installed the fiddler cert on local machine, but still having this issue. cannot really troubleshoot if Fiddler is blocking Outlook from connecting to Exchange Online.

MSI install fails due to insufficient access to Inspectors dir

When installing version 1.0.39 while logged in with an account with local admin privileges, I got an error:

"The installer has insufficient privileges to access this directory: C:\Users<my username>\OneDrive\Documents\Fiddler2\Inspectors. The installation cannot continue. Log on as administrator or contact your system administrator."

When in fact, the issue is that the "Inspectors" folder doesn't exit. Simply creating the folder and then clicking "Try Again" was enough to allow the installer to complete.

Installation

Hi,
I installed Fiddler Classic v5.0.20211.51073 for .NET 4.6.1 to C:\Fid and downloaded and your .msi and installed both for all user. Fiddler run for 17 times. No files were created by your msi. What's wrong?

missing extension features

The 'Office 365' tab only has enable/disable option. Doesn't have options to add columns. Doesn't have Exchange Online tab. Doesn't have Office 365 Auth tab. I have removed/reinstalled 2x with no change. How can I figure out why all these features are missing?

Call out to CheckForUpdate.

Currently only done via menu with old method: calledCheckForAppUpdate.CheckForUpdate();

  1. Update CheckForUpdate call to instancing.
  2. Decide how this function is called, integrated into new text based inspector.
  3. Implement.

HighlightOutlookOWAOnly/isLoadSaz/ColumnsAllEnabled not updating as expected

Preferences.cs:

        get => _appLoggingEnabled = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.enabled", _appLoggingEnabled);
        set { _appLoggingEnabled = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.enabled", value); }
        get => _appLoggingEnabled = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.appLoggingEnabled", _appLoggingEnabled);
        set { _appLoggingEnabled = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.appLoggingEnabled", value); }
    }

    private static bool _highlightOutlookOWAOnlyEnabled;
    public static bool HighlightOutlookOWAOnlyEnabled
    {
        get => _highlightOutlookOWAOnlyEnabled = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.enabled", _highlightOutlookOWAOnlyEnabled);
        set { _highlightOutlookOWAOnlyEnabled = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.enabled", value); }
        get => _highlightOutlookOWAOnlyEnabled = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.highlightOutlookOWAOnlyEnabled", _highlightOutlookOWAOnlyEnabled);
        set { _highlightOutlookOWAOnlyEnabled = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.highlightOutlookOWAOnlyEnabled", value); }
    }


    private static bool _isLoadSaz;
    public static bool IsLoadSaz
    {
        get => _isLoadSaz = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.enabled", _isLoadSaz);
        set { _isLoadSaz = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.enabled", value); }
        get => _isLoadSaz = FiddlerApplication.Prefs.GetBoolPref("extensions.EXOFiddlerExtension.isLoadSaz", _isLoadSaz);
        set { _isLoadSaz = value; FiddlerApplication.Prefs.SetBoolPref("extensions.EXOFiddlerExtension.isLoadSaz", value); }
    }

SetAuthentication(Session session) ; clean process name.

Remove :1234 from this.session.LocalProcess for including in auth comments box.

    public void SetAuthentication(Session session)
    {
        // Set process name.
        string[] ProcessName = this.session.LocalProcess.Split(':');
        this.session["X-ProcessName"] = ProcessName[0];

}

Fiddler query extension

HI - This is my first time using Fiddler - in which i have installed the the office 365 extension - this is for me to see why users are having issue when opening outllook which takes ages to load - and even the 365 online also takes while to respond.

So installed and the 365 tab is listed fiddler but i am not sure how i get it to show me the traffic and route the connection to 365 takes.

Can anyone assist
Cheers
Magwa

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.