linux-can/can-utils
FreeLinux-CAN / SocketCAN user space applications
FreeFree tier
About linux-can/can-utils
Linux-CAN / SocketCAN user space applications providing a comprehensive suite of utilities for the Linux CAN subsystem (SocketCAN). Includes tools to display, filter, log, generate, and replay CAN traffic; CAN bus measurement and testing utilities; CAN gateway configuration via netlink; ISO-TP (ISO15765-2:2016) communication tools for sending, receiving, sniffing, and tunneling; and J1939/ISOBus tools for address claiming, file transfer, message spying, and more. These utilities support a wide range of CAN bus development, testing, and diagnostic tasks.
Key Features
CAN traffic display, filtering, and logging with candump
CAN traffic generation (cangen) and replay (canplayer, cansequence)
CAN bus load calculation and bit timing calculation (canbusload, can-calc-bit-timing)
CAN gateway configuration via netlink (cangw)
CAN error message simulation (canerrsim) and full-duplex testing (canfdtest)
ISO-TP (ISO15765-2:2016) tools: isotpsend, isotprecv, isotpsniffer, isotpdump, isotpserver, isotpperf, isotptun
J1939/ISOBus tools: j1939acd, j1939cat, j1939spy, j1939sr, testj1939
CAN access via IP sockets (socketcand) and UDP/SCTP tunneling (cannelloni)
Pros & Cons
Pros
- Comprehensive set of tools covering essential SocketCAN operations
- Supports multiple CAN protocols (basic CAN, ISO-TP, J1939)
- Actively maintained with 2.9k stars and 1,282 commits on GitHub
- Open source and freely available under GPL-2.0 license
Cons
- Command-line interface only; no graphical user interface
- Requires Linux operating system with SocketCAN kernel support
- Necessitates compatible CAN hardware (e.g., USB-to-CAN adapter)
- Documentation is primarily in the repository; no dedicated user guide
Best For
Automotive CAN bus development and testingCAN bus traffic monitoring, recording, and analysisISO-TP communication for vehicle diagnosticsJ1939 protocol testing and simulationCAN bus performance measurement and load calculation
FAQ
What is can-utils?
can-utils is a collection of userspace utilities for the Linux CAN subsystem (SocketCAN). It includes tools for displaying, recording, generating, and replaying CAN traffic, as well as support for ISO-TP and J1939 protocols.
What protocols does can-utils support?
can-utils supports basic CAN (raw), ISO-TP (ISO15765-2:2016), and J1939/ISOBus protocols.
Is can-utils free to use?
Yes, can-utils is open source and released under the GPL-2.0 license. It is free to download, use, and modify.