Skip to content

SolaceLabs/wireshark-smf-plugin

Repository files navigation

Contributor Covenant

Wireshark SMF Plugin

Overview

This project is a plugin for wireshark that will dissect Solace SMF protocol.

Getting Started Quickly

Note: Wireshark SMF Plugin is currently supported on Wireshark 4.0.x, 4.2.x and 4.4.x

  1. Install Wireshark.

  2. Download the corresponding zip file for your platform.

  3. Unzip the folder and place the .dll (Windows) or .so (Mac/Linux) file in the Wireshark plugin folder, under epan. The plugin folder path varies for each OS.

Windows Plugin Folder

Personal Plugin Folder:

%APPDATA%\Roaming\Wireshark\plugins\4.0\epan

Global Plugin Folder:

C:\Program Files\Wireshark\plugins\4.0\plugins\epan

macOS/Linux Plugin Folder

Personal Plugin Folder:

~/.local/lib/wireshark/plugins/epan

See Wireshark Documentation on Plugin Folders for more information on installing plugins.

Finding Plugin Folders and Verify Installation

  1. Open Wireshark
  2. Navigate to Help>About Wireshark
  3. Under the Folders tab, you can find the location for global and personal folders
  4. After installing the plugin, verify that the plugin is loaded by searching smf under the Plugins tab

Building Manually

Go to an appropriate directory and execute:

git clone --recurse-submodules [email protected]:SolaceLabs/wireshark-smf-plugin.git

Note: If you plan to submit changes, create a fork first and clone from the fork.

Windows

Windows Build

Follow instructions in https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWindows

The following are some deviations from the above instructions. Use a cmd prompt with admin privilege:

cd base-directory-of-wireshark-smf-plugin
mkdir build
mklink CMakeListsCustom.txt ..\src\CMakeListsCustom.txt 
cd plugins\epan
mklink /D smf ..\..\..\src\smf

In vscode, my task.json looks like this:

{
	"version": "2.0.0",
	"tasks": [
        {
            "label": "Pre-Build Files (cmake)",
            "type": "shell",
            "group":"build",
            "options": {
                "cwd": "build",
                "env": {
                    "WIRESHARK_BASE_DIR": "C:\\my-path\\wireshark-smf-plugin",
                    "QT6_DIR": "C:\\Qt\\6.7.3\\msvc2022_64",
                    "WIRESHARK_VERSION_EXTRA": "-YourExtraVersionInfo"
                }
            },
            "command": "cmake -DVCSVERSION_OVERRIDE=\"Git v3.1.0 packaged as 3.1.0-1\" -G “Visual Studio 17 2022” -A x64 ..\\wireshark",
            "problemMatcher": [
                "$msCompile"
            ]
        },
        {
            "label": "Build wireshark (msbuild)",
            "type": "shell",
            "group":{
                "kind": "build",
                "isDefault": true
            },
            "options": {
                "cwd": "build",
                "env": {
                    "WIRESHARK_BASE_DIR": "C:\\my-path\\wireshark-smf-plugin",
                    "QT6_BASE_DIR": "C:\\Qt\\6.7.3\\msvc2022_64",
                    "WIRESHARK_VERSION_EXTRA": "-YourExtraVersionInfo"
                }
            },
            "command": "msbuild /m /p:Configuration=Debug Wireshark.sln",
            "problemMatcher": [
                "$msCompile"
            ]
        },
        {
            "label": "Clean wireshark (msbuild)",
            "type": "shell",
            "group":"build",
            "options": {
                "cwd": "build",
                "env": {
                    "WIRESHARK_BASE_DIR": "C:\\my-path\\wireshark-smf-plugin",
                    "QT6_BASE_DIR": "C:\\Qt\\6.7.3\\msvc2022_64",
                    "WIRESHARK_VERSION_EXTRA": "-YourExtraVersionInfo"
                }
            },
            "command": "msbuild /m /p:Configuration=Debug Wireshark.sln /t:Clean"
        }
	]
}

Note 1: To start VSCode, start from the "X64 Native Tools Command Prompt" (search for this in Windows search box), then type "code" to start VSCode.

Note 2: The VCSVERSION_OVERRIDE is needed because the compile failed to find the approparite git repository.

Linux

TODO

MacOS

TODO

Version Naming Convention

As this plugin is designed for use in Wireshark, the MAJOR.MINOR match the Wireshark versions. I.E. SMF Plugin 4.0.x indicates support for all patches of Wireshark 4.0.

The PATCH version of the plugin differentiates versions of the SMF Plugin. As long as the MAJOR.MINOR of the plugin match the corresponding MAJOR.MINOR Wireshark version, then they are compatible.

Resources

This is not an officially supported Solace product.

For more information try these resources:

Contributing

Contributions are encouraged! Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

See the list of contributors who participated in this project.

License

Wireshark SMF Plugin is licensed under the GNU GPLv2. See the LICENSE file for details.

Disclaimer

There is no warranty, expressed or implied, associated with this product. Use at your own risk.