Microsoft Office Inspectors for Fiddler
This README document provides the instruction on installing Microsoft Office Inspectors for Fiddler.
The MAPI Inspector evaluates the captured traffic between Outlook and Exchange; whereas the FSSHTTPandWOPI Inspector evaluates the captured traffic between client and SharePoint. These Microsoft Office Inspectors are able to display the protocol content in a user-friendly format. You may choose to install one or both inspectors.
The Messaging Application Programming Interface (MAPI) Inspector for Fiddler decodes the MAPI message payload of an HTTP POST request and response according to MS-OXCMAPIHTTP. The MAPI Inspector is displayed under the Inspectors tab in Fiddler.
In addition to the MAPI Inspector, the File Synchronization via SOAP over HTTP Protocol (FSSHTTP) and the Web Application Open Platform Interface Protocol (WOPI)—combined as FSSHTTPandWOPI—also has a plug-in inspector for Fiddler which decodes:
- FSSHTTP protocol message that enables one or more clients to synchronize changes done on shared files stored on a server.
- WOPI protocol message that enables a client to access and change files stored by a server.
This repository also includes Jscript that adds an MS Protocol column in the Fiddler web session panel. The MS Protocol column displays protocols that are relevant to MAPI, FSSHTTP, and WOPI messages, thereby allowing you to easily identify which HTTP requests and responses contain the respective message payloads.
Building the Inspectors
Each of the inspectors has a Visual Studio solution file in the Source folder, for example:
These will allow you to modify and build the inspector dlls.
NOTE: There are dependencies on a few libraries and some of these are found in the Fiddler install folder. Specifically, the correct versions of the Xceed and HexBox libraries can be found in your system's install folder for Fiddler. These are the libraries that you should point the Visual Studio inspector projects to for references. For example:
First install the latest Fiddler tool and then run it. Note that Fiddler must be run at least once before installing any inspectors. To install the inspector of your choice (MAPI, FSSHTTPWOPI) or to install both, add the respective DLL files and the scripts.
Copy the file MAPIFiddlerInspector.dll into the C:\Program Files\Fiddler2\Inspectors directory. Alternatively, you can clone this repository, build the MAPIFiddlerInspector.dll, and copy the built .dll to your C:\Program Files\Fiddler2\Inspectors directory.
Follow the same process if you wish to use FSSHTTPAndWOPIFiddlerInspector.dll.
Restart Fiddler. MAPI, FSSHTTPandWOPI or both Inspectors will appear under the Inspectors tab for request and response. See the following screenshot.
From the Rules menu, which is shown in the following screenshot, click Customize Rules.
When the following message box displays, click Yes to install the FiddlerScript editor.
Restart Fiddler after installing the FiddlerScript editor. Fiddler displays a new tab, FiddlerScript, as shown in the following screenshot.
Copy the code from the MAPI.js file and paste it into the definition for the Handlers class. Click Save Script to save the script. Follow the same process if you wish to use only the FSSHTTPAndWOPI.js file.
But if you wish to add the code from the FSSHTTPAndWOPI.js file, then update CalcMethodCol function definition with the code for FSSHTTP and WOPI. Don't forget to add GetWOPIOperationName function definition as well.
Note: When you combine the scripts for MAPI and FSSHTTP in function CalcMethodCol, modify the code accordingly to ensure protocol names are displayed under the MS Protocol column. As shown below, the else statement is removed and the if statement for MAPI is added.
Restart Fiddler. The MS Protocol column is displayed in the session view.