MCANDUMP(1)

NAME
mcandump - SocketCAN dumper and CANcorder logger proxy

SYNOPSIS
mcandump [OPTIONS] <interface>

DESCRIPTION
mcandump reads CAN and CAN-FD frames from a Linux SocketCAN interface, prints them in a candump-like terminal view, and forwards the same traffic to CANcorder clients via the ECUconnect Logger protocol over TCP.

By default it runs in line-oriented output mode. With --interactive, mcandump switches the terminal into an alternate-screen interactive viewer with scrollback, cursor navigation, and search.

ARGUMENTS

<interface>
    SocketCAN interface name, for example can0, vcan0, or slcan0.

OPTIONS

-t, --timestamp <absolute|delta|none>
    Timestamp display mode. The default is absolute.

--no-color
    Disable colored output.

-q, --quiet
    Suppress terminal frame display and only forward traffic over TCP.

--interactive
    Enable the interactive terminal UI. This conflicts with --quiet. The interactive frame buffer has no internal size limit and grows until process memory is exhausted.

-f, --log-file <path>
    Write a candump-compatible compact text logfile to path. Log writing happens on a dedicated background thread so slow disk I/O does not block CAN capture.

If --log-file is given without path, mcandump creates a logfile in the current directory using a candump-style name such as candump-2026-04-02_154530.log.

--service-name <name>
    Override the advertised Zeroconf service name.

-h, --help
    Show command-line help.

-V, --version
    Show version information.

INTERACTIVE MODE
Interactive mode uses an alternate terminal screen and keeps all received frames in memory so older traffic can be inspected without stopping capture.

Available shortcuts:

Up / Down
    Move one frame up or down.

Shift+Up / Shift+Down
    Resize the live tail pane that appears when scrolled away from the latest frames. The tail pane shows the most recent traffic so you never lose sight of current bus activity while investigating older frames.

PgUp / PgDn
    Move one page up or down.

Home / End
    Jump to the oldest or newest frame.

/   Search for a payload byte sequence in hexadecimal, for example DE AD BE EF or deadbeef.

i   Search for an arbitration ID in hexadecimal, for example 123 or 0x18FF50E5.

n / N
    Jump to the next or previous search result.

Esc Cancel the active search prompt.

q   Exit mcandump.

EXAMPLES

mcandump can0
    Read from can0 using the default absolute timestamps.

mcandump vcan0 -t delta
    Display inter-frame delta timestamps.

mcandump can0 --interactive
    Start the interactive viewer with scrollback and search.

mcandump can0 --log-file capture.log
    Write a candump-compatible logfile while capturing traffic.

mcandump can0 --log-file
    Write a candump-compatible logfile using an auto-generated candump-style filename in the current directory.

mcandump can0 -q
    Forward traffic to TCP clients without writing frames to the terminal.

REQUIREMENTS
mcandump requires Linux with SocketCAN support. Opening the CAN raw socket typically requires root privileges or the CAP_NET_RAW capability.

SEE ALSO
candump(1), ip(8)

AUTHOR
Dr. Michael "Mickey" Lauer

LICENSE
MIT