Contents
- 黑客和逆向工程工具
- Utils通用GUI工具Python工具UDSISO-TPCAN-over-IPOBD-II工具J1939工具J2534工具其他Utils库示例
- 数据库只能格式化DBC KCD转换器和解析器DBC吗
-
Hardware
- ARM
- Arduino
- ESP
- SBC
- Others
黑客和逆向工程工具
- CarHackingTools-常用汽车黑客工具的集合帮助启动汽车研究和黑客的脚本集合
- Caring Caribou-CAN总线的友好汽车安全探索工具
- CAN_Reverse_Engineering-控制器局域网(CAN)协议的自动有效载荷反向工程管道
- 汽车黑客-汽车黑客脚本和文档集合
- 控制器局域网的逆向工程
- parse_can_logs-解析可以记录并可视化绘图上的数据流
- reversegear-汽车网络的离线逆向工程工具
- CANalyzat0r-专用car协议的安全分析工具包
- CANToolzBlack-boxCAN网络分析框架
- GVRET-通用电动汽车逆向工程工具(Arduino FW)
- UDSim-统一诊断服务模拟器和模糊器(继承uds-server)
- uds-server-CAN UDS模拟器和模糊器
- CANalyse-车辆网络分析和攻击工具
- canhack-一个low-levelCAN协议黑客库
- canDrive-破解汽车的工具
- Carpunk-CAN注入工具包和CANghost的继任者
- CANghost-入侵CAN总线的自动脚本
Utils
Common
- Linux CAN UTIL-Linux-CAN/SocketCAN用户空间有用的UTIL
- cantools-CAN总线网络的CLI工具集合
- BUSMASTER-一种开源软件工具,用于模拟、分析和测试数据总线系统,如CAN
- signalbroker-server-使用gRPC读取和写入CAN/LIN/flexray和其他总线的工具,允许使用首选语言
- CANiBUS-CAN设备车辆研究服务器(OpenGarages.org)
GUI Tools
- 来自GENIVI的CANdevStudio-CAN模拟软件,使用drag-and-drop风格的GUI,具有互连的功能块
- CANAL-View-TouCAN USB到CAN总线转换器的Qt GUI
- wxCAN-Sniffer-带有动画和图表的CAN总线嗅探器(PC侧)
- CAN记录器-CAN总线记录器和分析仪工具
- 请参阅EED-USB-CAN-Analyzer-非名称中文USB-CAN适配器的闭源二进制文件
- CANtact-app用于CANtact硬件接口的桌面应用程序
- 基于SavvyCANCross-platformQt的图形用户界面分析工具。支持SocketCAN兼容接口。
- openCanSuite-用于分析、模拟和可视化CAN系统的工具集
- 智能仪表的绘图仪和扫描仪.汽车系统的扫描和可视化工具
- ICSim-OpenGarages SocketCAN的仪表盘模拟器
- CANgarooQt-basedCAN总线分析仪软件
- CAN-X-C#CAN总线分析仪软件
- CAN-Monitor-qt-通用CAN总线监控程序
- CANBUS-Analyzer-图形、显示和分析已知和未知CANBUS数据包的开发工具/配套软件
- SLSS-CANAnalyser-SLSS CANAnalyser是WindowsCAN-Bus-Analysis-Software,用于显示、记录和评估CAN-Bus信号
- TSMaster-[封闭源代码]强大的开放环境,用于汽车总线监测、模拟、测试、诊断、校准等
- CAN++-用于接收和传输CAN总线消息的Windows程序。导入CAN数据库文件(
*.dbc
或*.kcd
)后,CAN信号以符号形式显示。此外,它们可以以图形(波形)形式显示 - CANcool-支持CAN-FD的CAN总线分析仪和仿真软件
- Kayak-[存档]Java-basedCAN流量GUI分析工具
Python Tools
- cantoolsPython中的CAN总线工具
- python-can-CAN包为Python开发人员提供控制器局域网支持
- strym-实时CAN数据记录和可视化工具,可与USB-CAN接口一起工作
- canviewer-GUI程序,允许检查来自记录器can-bus数据或实时数据的can-bus传入消息
- can4python-用于在Linux SocketCAN上处理CAN总线信号的包。用于显示KCD文件的内容(也可以是从DBC文件转换而来的文件)
- Python-Vector-CANoe-通过Python控制矢量CANoe API
- CanCat-瑞士军刀,常用于汽车和楼宇自动化等领域
- Pyfuzz_can-可用于研究将消息注入卡车,导致加速、集群欺骗和降低制动性能
- Robotell-USB-CAN-Python-PythonRobotellUSB-CAN适配器程序
- python-socketcan-monitor-通过网络接口显示CAN总线数据的脚本
- CanoPy-一个pythongui,用于实时可视化和绘制消息有效负载。
UDS
- python-UDSonCAN-PythonUDSISO-14229标准的实现
- uds-c-统一诊断服务(uds)和OBD-IIc库
ISO-TP
- isotp-c-C语言中ISO-TP(ISO15765-2)CAN协议的实现
- python-can-IsoTP-Python实现ISO-TP(ISO15765-2)CAN协议
CAN-over-IP
- cannelloni-以太网隧道上的SocketCAN
- tincan-通过UDP接口可视化CAN总线流量
- pican-TCP CAN读取器
- canny-简单CAN-over-IP网关
- python-socketcan-monitor-通过网络接口显示CAN总线数据的脚本
OBD-II tools
- DDT4All-用于创建自己的ECU参数屏幕并通过廉价的ELM327接口连接到CAN网络的工具
- ELM327SLCAN-基于ELM327的车辆CAN总线嗅探器
- Arduino-OBD2-Async-具有异步数据请求的Arduino OBD库
- CAN-Shark使用来自Arduino+MCP2515屏蔽的OBD PIDs
- OBD2-Scantool-从汽车中读取OBD2信息的python扫描工具
- O2OO-OBD-II兼容的汽车诊断工具。它将传感器数据从汽车读取到sqlite数据库中
- freediag-适用于OBD-II兼容机动车辆的免费诊断软件
- pyvit-[存档]Python Vehicle Interface工具包
J1939 Tools
- J1939-CANBUS-支持的发动机CAT、Perkins、Wartsalla、MTU、VOLVO
- J1939-Framework-用于总线、汽车和卡车行业CAN总线的J1939框架
- python-j1939-SAE J1939支持依赖于python-can包。通过PGN提供编解码器和过滤,但不提供完整的SPN解码
- 带有J1939支持的can-utils-带有用于J1939的一些附加工具的can-utils分叉
- test-can-j1939-如何在linux上使用CAN J1939
- libj1939-使用J1939帧的库(拟用于微控制器)
- Pretty-J1939-pythonlibs和pretty-printingJ1939日志的脚本
- TruckDevy-用于与使用J1939在CAN总线上进行通信的ECU进行交互和评估的工具和框架
J2534 Tools
- JCanalog-易于使用的J2534车辆记录器(留作历史记录)
- j2534-tcp-TCP/IP上的虚拟J2534驱动程序
Other Utils
- Seeeed-USB-CAN-LinuxCLI Linux支持noname中文USB-CAN适配器
- opendlv-device-can-replay-OpenDLV微服务,将捕获的CAN帧回放到CAN接口
- c0f-CAN总线指纹识别工具用于分析CAN总线流量,并对制造商和模型进行指纹识别
- canqv-使用CAN_RAW快速检查罐架
- Candle.NET-.NET包装器,用于烛光CAN总线网关/分析仪的蜡烛API(例如CANable、CANtact等)
- canSerializer-用于序列化和反序列化CAN帧的库,用于在非CAN传输层上传输(可用于通过UART、SPI等传输CAN帧)
Libraries
- libwecan-仅用于编码和解码CAN信号的头文件库
- python-can-can包为Python开发人员提供控制器局域网支持
- VCAN—C中的一个小型虚拟CAN和CAN-FD总线库
- IMCTFD-改进的Microchip CAN Teensy FlexData Library MCP2517FD
- go-socketcan-SocketCAN的Golang库
- isotp-c-C语言中ISO-TP(ISO15765-2)支持库的实现
- Qt CAN总线-一个基于多平台C++插件的库,支持各种CAN设备(SocketCAN、Sys-Tec、PEAK、Virtual)
Examples
- CAN-Examples-Linux上CAN套接字的C代码示例
- socketcan-demo-一组示例程序,重点介绍如何在Linux上使用SocketCAN
CAN Databases
Formats
DBC
- DBC格式规范v1.0-泄漏的DBC文件格式规范v1.0(过时规范)
- DBC格式-关于各个部分的简要说明,许多示例,并很好地解释了多路复用信号
- DBC文件解释-DCB文件格式的简单介绍
- J1939和DBC文件简介
KCD
- KCD-描述CAN中通信关系的开放格式。类似于DBC格式,但用XML编写
转换器和解析器
- Erik Moqvist的cantools-可以在python中使用工具进行DBC、KCD、SYM、ARXML 4和CDD文件解析
- Andreas Heitmann的cantools-一组用于处理ASC、BLF、CLG、VSB、MDF和DBC文件的库和命令行工具
- CanDB-使用OEM定义的CAN矩阵(xls)生成CAN dbc文件
- canmatrix-转换CAN数据库格式.arxml.dbc.dbf.kcd
- CANBabel-多种CAN描述格式的转换器(支持KCD r/w和DBC读取)
- can4python-一个有用的包,用于显示KCD文件(也包括从DBC文件转换而来的文件)的内容
- dbcc-使用mpc解析器组合器库的DBC到C(以及CSV、JSON和XML)编译器
- convert_dbc_to_cpp_file-util,用于将dbc(canbus)转换为cpp(cplusplus)函数
DBC only
- Vector DBC-从Vector Informatik访问CAN数据库(又名CANdb,又名DBC文件)的库
- dbcppp-C/C++DBC文件解析器/工具
- can_decoder-API模块,用于使用DBC CAN数据库将原始CAN总线数据解码为物理值
- GENIVI的CANdb-用于解析DBC的库-CAN总线数据库描述格式
- dbc-parser-用于DBC文件的Flex/Bison/Lemon解析器/扫描仪
- 向量CANdb++DBC文件解析器-Eiremoq的DBC文件解析器的修改版本
- dbc_reader-dbc文件(python中的虚拟can总线读取器)
Hardware
各种硬件,如CAN总线USB2CAN加密狗、记录器、嗅探器、适配器等。
ARM
- CanDybugFW-CanDybug的嵌入式固件,CanDybug是一种CAN总线流量分析器,在USB串行端口仿真上使用自定义协议
- CAN-USB-dongle-fw-CVRA CAN到USB加密狗的slcan固件
- pcan_cantact-用于CANtact(CANable)或任何其他类似板的PCAN固件
- pcan_pro_x-基于STM32F4的板的峰值PCAN PRO/PRO FD固件
- STM32H750上的hadoucan-fw-基于SM-1301USB-CANFD适配器的固件
- CANnon-适用于STM32和朋友的多功能CAN引导程序
- ATSAME51上的USB_CAN-FD-这是一个开源硬件USB到CAN-FD接口
- SuperCAN-用于ATSAME51的开源USB到CAN-FD协议固件
- zubax_babel-高性能CAN-USB/CAN-UART适配器+UAVCAN开发板
- cantact-pro-hw-CANtact Pro的硬件,使用cantact-pro-fw作为固件
- FlexCAN-Teensy 3.1、3.2、3.5和3.6上CAN的Arduino库
- BudgetCANv2-FW,用于STM32G4微控制器,使用STM32 HAL实现FDCAN和USB。在BudgetCANv2-HW上测试
- Arduino-STM32-CAN-Arduino Core STM32的Can通信示例
- eXoCAN-STM32F103又名蓝色药丸的CAN库
- CAN-BUS-Man-In-The-Middle-基于STM32F105的双CANMitM-device
- CAN-Bus-Arduino_Core_STM32-Arduino Core STM32的低电平CanBUS示例
- CAN-RS485-adapter
- STM32-CAN-Busadapter-MCU stm32f303cb上的CAN适配器
- Ethernet-CAN转换器-基于STM32F407
- CANBootloader-GUI+CAN booloader协议
- ELM327-Open-source基于LPC1517JDB48的ELM327车载诊断适配器
- stm32-CAN-bus-example-HAL-API-使用更新的HAL API函数在两个STM32微控制器之间进行CAN总线通信的简单示例
- 基于STM32F407ZGTx的CAN记录仪
- CAN-to-USB-lawicel-for-stm32-使用基于STM32F103的Lawicel/Canhacker协议的CAN-to-USB适配器
- stm32-slcan-基于STM32f103C8T6的BluePill的slCAN兼容固件
- STM32duino_CAN_Library-在STM32duino上运行的STM32F103的CanBus库
- CANBUS_UARTSTM32F1(BluePill和Nucleo板)的CAN总线到UART
基于STM32F042x的硬件
- candleLight_fw-适用于烛光、cantact、canable、CANAlyze、VulCAN的兼容固件
- STM32F042上的CANsniffer-CANbus sniffer没有现有商业产品复杂
- 基于STM32F0的usb-can适配器的烛光KiCAD项目
- cantact-hw-CANtact工具的硬件设计文件,使用cantact-fw作为固件源
- cantact-cantact工具的驱动程序和命令行界面
- USB2CAN-紧凑且隔离的USB-to-CAN适配器
- CANAlyze-Linux的一个开源、本机CAN接口,可以完全使用开源工具构建,使用canalyze-fw作为固件源
- x893的Cantact FW
- ELM329-Open-source基于STM32F042的ELM329 OBD适配器
Arduino
- arduino-canhacker-CanHacker(lawicel)可以在Arduino+MCP2515上进行适配器
- open-usb-can来自Fabio Baliteri-CAN-to-USB基于ATMega32U和MCP2515的加密狗
- Arduino-CAN-bus-SD-logger-Arduino脚本,用于将CAN总线信息记录到SD卡。主要关注J1939
- Arduino-canbus-monitor-基于arduino和Can总线屏蔽的Can总线监控工具。实现与Lawicel CAN232/CANUSB兼容的CAN ASCII/SLCAN协议
- Arduino-psa-comfort-can-adapter-Arduino在旧BSICAN-BUS(CAN2004)上操作新PSA(标致、雪铁龙、DS、欧宝)舒适设备的草图(CAN2010)
- 基于epasuino-Arduino的汽车速敏电动助力转向汽车速敏电动助力转向
- carfuino-基于Arduino的具有Megasquirt集成的汽车性能计算机
- W203-canbus-W211/W219/W203/W209梅赛德斯的Arduino项目(蓝牙音频控制等)
- CANBus-Triple-基于AVR和MCP2515的汽车黑客平台可以使用此固件
- GVRET-通用电动汽车逆向工程工具(Arduino FW)
- open-source-can-bridge-基于Xmega的具有多个CAN接口的网关
- arduino-mcp2515-Arduino MCP2515 CAN接口库
- 阿杜伊诺CAN-BUS盾的斯尔卡努伊诺USB-CAN(SocketCAN)草图
- CITM02-中间CAN(CITM)围绕Arduino构建的双通道CAN总线适配器
ESP
- ESP-IDF-CANBus-Monitor-监控Canbus流量ESP32
- connected-car-将日产e-NV200(或Leaf)连接到MQTT
- PSA SteeringWheelAdapter-标致和雪铁龙汽车基于ESP32的方向盘适配器
- esp32-slcan-ESP32 slcan兼容设备
- ESP32-Arduino-CAN-用于ESP32的ArduinoCAN-Bus库
- ESP32RET-用于基于ESP32的电路板的CAN反向工程工具
- ESP32_CAN_Interface-ESP32的无线CAN-Interface,使用cannelloni协议通过UDP通过Wi-Fi隧道发送CAN-Frames
- esp32_canbus_gateway-esp32+tja1050上的can模块编码在micropython
- 基于esp32-cantroller-ESP32-S2-WROVER/WROOM的CAN总线控制器thingy
- esp32-canbus-logger-基于ESP32的uSD-card上的CAN总线记录器
- ESP32_CANViewer-基于ESP32的网络浏览器CAN接口
- esp-idf-can2http-使用ESP32的CAN总线到http网桥
SBC
SBC-单板计算机
- beaglebone_black_socketcan-如何通过socketcan接口访问BeagleBone Black上的CAN总线
- rpi-can-logger-记录来自PiCAN2和GPS模块的CAN总线数据的项目
- CANoPi-Raspberry Pi Zero的CAN接口
Others HW
- PIC18F2550/PIC18F2680固件上的Michrochip CAN总线分析仪-Michrochip CAN总线分析仪固件
- PIC18F2550/PIC18F2680驱动程序上的Michrochip CAN总线分析器-用于微芯片CAN总线分析器工具的Linux内核驱动程序
- BB-to-STM32-BeagleBone Black和STM32F4发现板之间的LED同步
硬件相关工具
- CAN总线位定时计算器-过时SJA1000和MCP2510的在线工具(可能适用于MCP2515)
- STM8S208 CAN速度计算器-用于STM8的CAN速度计算器(可能也适用于STM32系列)
etc
按照此永久性root-repo进行最新更新:https://github.com/iDoka/awesome-canbus
Tags
#awesome#awesome-list#can#can-bus#canbus#canfd#can-fd#logger#sniffer#slcan#socketcan#car-hacking#bus-monitoring#lawicel#elm327#obd2 canutils#automotive#embedded#arduino#rpi#raspberry-pi#sae#uds#j1962#j1939#j1979#j2534#lin#lin-bus#local-interconnect-network#flexray#obd-ii#slcan-protocol#usbtin#usb2can#iso11898#iso11565#;iso11765#iso14229#dbc#odb#ldf#electric-vehicles#vehicular-networks#python#automotive-security