Skip to main content

:articulated_lorry: Awesome CAN bus tools, hardware and resources for Cyber Security Researchers, Reverse Engineers, and Automotive Electronics Enthusiasts.

3.3k
GitHub Stars
248
Curated Resources
7
Categories
5 hours ago
Last Refreshed
Hacking and Reverse Engineering toolsTest equipment and simulatorsProtocolsUtilsCAN DatabaseHardwareFootnotes

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me iso-tp resources from awesome-canbus"

Installation instructions →

What's inside

Protocols

  • aioisotpISO-TP

    ISO-TP implemenation for asyncio Python.

  • Arduino-OBD2-AsyncOBD-II tools

    Arduino OBD library with asynchronous data requesting.

  • CAN-SharkOBD-II tools

    Working with OBD PIDs from Arduino + MCP2515 shield.

  • CanTpISO-TP

    Implementation of the CanTp module (ISO 15765-2), according to AUTOSAR specification v4.4.0.

  • can-utils with J1939 supportJ1939 Tools

    Fork of can-utils with a few additional tools for J1939.

  • DDT4AllOBD-II tools

    Tool to create your own ECU parameters screens and connect to a CAN network with a cheap ELM327 interface.

Hardware

  • Arduino-canbus-monitorArduino

    Can bus monitoring tool based on arduino and can bus shield. Implements CAN ASCII/SLCAN protocol compatible with Lawicel CAN232/CANUSB.

  • Arduino-CAN-bus-SD-loggerArduino

    Arduino script to log CAN bus information to SD card. Mainly focused on J1939.

  • arduino-canhackerArduino

    CanHacker (lawicel) CAN adapter on Arduino + MCP2515.

  • arduino-ecu-loggerArduino

    Arduino-based OBD2 engine monitor and data logger.

  • arduino-mcp2515Arduino

    Arduino MCP2515 CAN interface library.

  • arduino-OBD2Arduino

    Arduino library for reading OBD-II data from your car over CAN bus.

Utils

  • bootCANGUI Tools

    Allows monitoring, tracing, and plotting of messages, as well as .SYM decoding and message transmitting.

  • BUSMASTERCommon

    An Open Source Software tool to simulate, analyze and test data bus systems such as CAN.

  • c0fOther Utils

    CAN bus fingerprinting tool is designed to analyze CAN bus traffic and fingerprint the Maker and Model.

  • CAN++GUI Tools

    Windows program for receiving and transmitting CAN bus messages. After import of CAN data base files (

  • CANAL-ViewGUI Tools

    Qt GUI for TouCAN USB to CAN bus converter.

  • CANBUS-AnalyzerGUI Tools

    Development tool/companion software for graphs, displays and analyzes both known and unknown CANBUS packets.

CAN Database

  • cabanaFormats (DBC, KCD)

    CAN visualizer and DBC maker (a tool developed to view raw CAN data; one use for this is creating and editing CAN Dictionaries (DBC files)).

  • can4pythonConverters and Parsers

    A useful package for showing the contents of KCD files (also those converted from DBC files).

  • CANBabelConverters and Parsers

    Translator for several CAN description formats (supports KCD r/w and DBC read).

  • CAN_BUS_DBC_VIEWERDBC only

    GUI based CAN bus dbc viewer.

  • CanDBConverters and Parsers

    Generate CAN dbc file with OEM defined CAN matrix (xls).

  • CANdb from GENIVIDBC only

    Library for parsing DBC - CAN bus database description formats.

Hacking and Reverse Engineering tools

  • CANalyse

    A vehicle network analysis and attack tool.

  • CANalyzat0r

    Security analysis toolkit for proprietary car protocols.

  • CANanalyze

    This framework can be used to interact with automotive protocols like CAN/ISOTP/UDS.

  • canDrive

    Tools for hacking your car.

  • can-explorer

    A CAN bus visualization tool to aid in reverse engineering.

  • CANghost

    Automated Script For Hacking Into CAN Bus.

Test equipment and simulators

  • canerrsim

    CAN bus error frame simulator and monitor for testing error conditions using SocketCAN.

  • ECU-simulator

    Tool that simulates some vehicle diagnostic services. It can be used to test OBD-II dongles or tester tools that support the UDS (ISO 14229) and ISO-TP (ISO 15765-2) protocols.

  • ELM327-emulator

    ELM327 Emulator for testing software interfacing OBDII via ELM327 adapter supporting multi-ECU simulation.

Showing a sample of 248 resources. View the full list on GitHub →