explore-mms is a command-line tool for inspecting devices that provide an MMS server (IEC 61850, EN 61850-8-1). The program connects to a specified MMS server and outputs information about the server identity, supported features, domains, and domain variables in JSON format.
The zeek script created by explore-mms is based on the MMS zeek plugin and the corresponding protocol stack. These zeek plugins can be installed using zkg unbundle mms-1.0.bundle. Alternatively, the plugins can be built and installed manually as described in MMS.
Since the binary is statically linked, it can be used on almost any recent Linux system (x86-64) without requiring the libiec61850 library to be installed on the system.
Just copy the generated explore-mms binary anywhere and execute it directly.
Example:
./explore-mms --helpThe program can be started with the following parameters:
explore-mms [--password PASSWORD] [hostname [port]]
--help:
: Displays the help screen.
--password PASSWORD:
: Uses ACSE password authentication during connection setup.
hostname:
: Hostname or IP address of the MMS server. (Default: localhost)
port:
: MMS server's TCP port. (Default: 102)
- Default call (no authentication, local):
explore-mms - With password authentication and explicit IP:
explore-mms --password secret 192.168.1.1 - With all parameters:
explore-mms --password secret 192.168.1.1 102
Requirements:
- CMake
- libiec61850 (tested with version 1.5.1)
- A C Compiler (e.g., gcc)
Build steps:
mkdir build
cd build
cmake ..
makeThe resulting binary explore-mms will be located in the build folder.
To build and run, you need:
- libiec61850 (tested with version 1.5.1), including its headers and static library (
libiec61850.a) - Standard C library
explore-mms is linked statically against libiec61850 and other system libraries where possible. There are no runtime dependencies.
- All program results (except error messages) are written as JSON to
stdout. - Errors and exceptions are output in human-readable form to
stderrand cause program termination. - The exit code is non-zero on any error.
The software was developed on behalf of the BSI (Federal Office for Information Security)
Copyright (c) 2025-2026 by DINA-Community BSD 3-Clause. See License