Exploring MVR-xchange Protocol with Wireshark

Posted February 25, 2024  ‐ 1 min read  ‐ Categories: MVR

The MVR communication format - MVR-xchange - allows the exchange of MVR files over network without the need of an external transport device like a USB-stick. When implementing and troubleshooting the protocol, it is useful to have an MVR-xchange dissector for Wireshark, to filter and visualize the network traffic.

MVR-xchange dissector for Wireshark

Wireshark dissector for the TCP Mode of MVR-xchange communication protocol. The dissector adds an mvrxchange protocol to Wireshark.

Wireshark filtered

Installation

Download and place the mvrxchange.lua and json.lua into your Wireshark’s Personal Lua Plugins folder. You can find location of this folder by going into Wireshark menu - Help - About Wireshark - Folders - Personal Lua Plugins.

Then either restart Wireshark or reload it by pressing Ctrl-Shift-L.

Usage

Apply this protocol by typing mvrxchange into the display filter top input line in Wireshark. Full MVR Messages json is printed into the console, it is thus useful to run Wireshark from a terminal.

Modifications

You can modify the dissector by editing the mvrxchange.lua file, then reload it by pressing Ctrl-Shift-L in Wireshark.

Supported features

TCP Mode of protocol is currently supported, with the following fields:

  • MVR header and MVR message
  • OK, Message, Provider, verMinor, verMajor, Comment, Commits, Files, StationName, StationUUID, FileUUID, FromStationUUID
  • Marking packets with expert_info to indicate found issues:
    • Files field used instead of Commits field
    • StationUUID empty or invalid
    • FileUUID empty or invalid
    • FromStationUUID empty or invalid

Found issues indicated

If you improve the plugin, please consider contributing your changes back to https://github.com/mvrdevelopment/spec.