Skip to content

Commit

Permalink
U/sgriffin/build (#76)
Browse files Browse the repository at this point in the history
* fix archive dir

* fix path

* try adjusting path again

* Clean up readme

* further cleanup

* more cleanup
  • Loading branch information
stephenegriffin authored Sep 5, 2023
1 parent 42716b6 commit e864600
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 23 deletions.
43 changes: 25 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,63 @@
# 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.
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.

For details on how to use the inspectors: see [*MAPI Inspector for Fiddler User Guide*](https://github.com/OfficeDev/MAPI-Inspector-for-Fiddler/wiki), see also [*FSSHTTPandWOPI Inspector for Fiddler User Guide*](https://github.com/OfficeDev/Office-Inspectors-for-Fiddler/wiki/FSSHTTPandWOPI).

## Overview

The Messaging Application Programming Interface (MAPI) Inspector for [Fiddler](http://www.telerik.com/fiddler) decodes the MAPI message payload of an HTTP POST request and response according to [MS-OXCMAPIHTTP](https://msdn.microsoft.com/en-us/library/Dn530952(v=EXCHG.80).aspx). 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.
* WOPI protocol message that enables a client to access and change files stored by a server.

The FSSHTTPandWOPI Inspector is displayed under the *Inspectors* tab in Fiddler and decodes the message payload according to [MS-FSSHTTP](https://msdn.microsoft.com/en-us/library/dd943623%28v=office.12%29.aspx), [MS-FSSHTTPB](https://msdn.microsoft.com/en-us/library/dd965780%28v=office.12%29.aspx), [MS-FSSHTTPD](https://msdn.microsoft.com/en-us/library/ee365790%28v=office.12%29.aspx) and [MS-WOPI](https://msdn.microsoft.com/en-us/library/hh622722%28v=office.12%29.aspx).

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:

`Office-Inspectors-for-Fiddler\FSSHTTPWOPIInspector\Source\FSSHTTPandWOPIInspector.sln`
`Office-Inspectors-for-Fiddler\MAPIInspector\Source\MAPIInspector.sln`

These will allow you to modify and build the inspector dlls.
Each of the inspectors has a Visual Studio solution file in the Source folder, for example:
`Office-Inspectors-for-Fiddler\MAPIInspector\Source\MAPIInspector.sln`
`Office-Inspectors-for-Fiddler\FSSHTTPWOPIInspector\Source\FSSHTTPandWOPIInspector.sln`

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 **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:
## Installation

`C:\Users\<username>\AppData\Local\Programs\Fiddler\Be.Windows.Forms.HexBox.dll`
First install the latest [Fiddler Classic](https://www.telerik.com/download/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.

## Installation
First install the latest [Fiddler](http://www.telerik.com/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.
### Inspector DLL

### Inspector DLL
1. 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.
1. Copy the file MAPIFiddlerInspector.dll into the Fiddler directory, located here:

`%LocalAppData%\Programs\Fiddler\Inspectors`
or here:
`%ProgramFiles%\Fiddler2\Inspectors`

Alternatively, you can clone this repository and build the MAPIFiddlerInspector.dll, which will copy the built .dll to your fiddler Inspectors directory.

Follow the same process if you wish to use FSSHTTPAndWOPIFiddlerInspector.dll.

2. Restart Fiddler. MAPI, FSSHTTPandWOPI or both Inspectors will appear under the *Inspectors* tab for request and response. See the following screenshot.

![alt tag](/README-Images/InspectorsTabs.png)

### Script
### Script

1. From the *Rules* menu, which is shown in the following screenshot, click *Customize Rules*.

![alt tag](/README-Images/Figure2-mapiscript.png)

2. When the following message box displays, click *Yes* to install the FiddlerScript editor.

![alt tag](/README-Images/Figure3-mapiscript.png)

3. Restart Fiddler after installing the FiddlerScript editor. Fiddler displays a new tab, *FiddlerScript*, as shown in the following screenshot.
3. Restart Fiddler after installing the FiddlerScript editor. Fiddler displays a new tab, *FiddlerScript*, as shown in the following screenshot.

![alt tag](/README-Images/Figure4-mapiscript.png)

Expand All @@ -59,7 +66,7 @@ First install the latest [Fiddler](http://www.telerik.com/fiddler) tool and then
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.

![alt tag](/README-Images/ScriptMAPIAndFSSHTTP.png)

5. Restart Fiddler. The *MS Protocol* column is displayed in the session view.
Expand Down
10 changes: 5 additions & 5 deletions scripts/Sign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,19 +76,19 @@ stages:
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/MAPIFiddlerInspector.dll'
archiveFile: '$(System.ArtifactStagingDirectory)/MAPIFiddlerInspector.dll.$(Build.BuildNumber).zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/MAPIFiddlerInspector.dll.$(Build.BuildNumber).zip'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/MAPIFiddlerInspector.pdb'
archiveFile: '$(System.ArtifactStagingDirectory)/MAPIFiddlerInspector.pdb.$(Build.BuildNumber).zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/MAPIFiddlerInspector.pdb.$(Build.BuildNumber).zip'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/FSSHTTPandWOPIFiddlerInspector.dll'
archiveFile: '$(System.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.dll.$(Build.BuildNumber).zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.dll.$(Build.BuildNumber).zip'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.ArtifactsDirectory)/drop/FSSHTTPandWOPIFiddlerInspector.pdb'
archiveFile: '$(System.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.pdb.$(Build.BuildNumber).zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/FSSHTTPandWOPIFiddlerInspector.pdb.$(Build.BuildNumber).zip'

- task: GitHubRelease@1
inputs:
Expand All @@ -99,7 +99,7 @@ stages:
tagSource: 'userSpecifiedTag'
tag: '$(Build.BuildNumber)'
assets: |
$(System.ArtifactStagingDirectory)/drop/*.zip
$(Build.ArtifactStagingDirectory)/*.zip
isDraft: true
isPreRelease: true
changeLogCompareToRelease: 'lastFullRelease'
Expand Down

0 comments on commit e864600

Please sign in to comment.