CLI

Dementor provides a relatively simple CLI interface that encapsulates all implemented protocols. Because multicast poisoning requires specific return addresses, specifying a network interface is always mandatory.

Dementor does not require root privileges unless protocol servers need to bind to privileged ports
$ Dementor -I <INTERFACE_NAME>

Command-Line Options

-I, --interface NAME

Specifies the network interface to use. Internally, both IPv4 and IPv6 addresses associated with the interface will be queried and used throughout the session.

-A, --analyze

Starts Dementor in analyze mode, where no responses will be sent. Services will still listen passively and can be used to capture credentials.

-c, --config PATH

Path to a custom configuration file. If not provided, the default configuration will be used from the package installation path (typically assets/Dementor.toml).

-O, --option OPTION

Additional option to add on top of the configuration file. This action will overwrite any existing setting.The structure of this override follows the format:

[Section.]KEY[+]=VALUE
  • KEY:

    May refer to a top-level configuration key in the [Dementor] configuration section (e.g., mDNS), or include a section (e.g., LLMNR.AnswerName).

  • VALUE:

    Will be automatically parsed into the appropriate type based on the following rules:

    • Boolean: on, yes, trueTrue; off, no, falseFalse

    • Lists: Values enclosed in brackets (e.g., ["foo", "bar"]) will be parsed as JSON strings.

    • Numbers: Numeric values will be automatically converted to integers or floats where applicable.

    • Strings: All other values will be treated as plain strings.

Examples:

  • -OLLMNR.AnswerName=pki-srv → Maps to LLMNR.AnswerName, value parsed as string.

  • --option mDNS.TTL=340 → Maps to mDNS.TTL, value parsed as integer.

  • --option SMB.SMB2Support=off → Maps to SMB.Server.SMB2Support, value parsed as boolean.

  • --option Log.DebugLoggers='["asyncio", "quic"]' → Maps to Log.DebugLoggers, value parsed as list.

  • -O Globals.Ignore+="foobar" → Appends the parsed string value to Globals.Ignore

Note

Overrides made via the --option flag will always take precedence over the values defined in the configuration file.

Changed in version 1.0.0.dev11: Options now support an “append” action using the += operator for settings storing multiple values.

--verbose

Enables verbose output for protocol-specific loggers, including debug-level messages.

--debug

Activates debug logging for all loggers listed in Log.DebugLoggers.

-q, --quiet

Don’t print huge banner at startup.