工具

Caring Caribou 汽车 CAN 总线安全探索工具

Python 编写的汽车安全探索工具,起源于 HEAVENS 研究项目;README 称它是一种无需预先了解目标的工具,可接入任意 CAN 网络并收集其中存在哪些服务的信息。被动模块可将 CAN 流量输出到终端或 candump 格式文件,并列出总线上出现的所有仲裁 ID;UDS(ISO 14229-1)、DoIP(ISO 13400-2)和 XCP 模块则可发现响应诊断请求的 ECU,枚举其支持的服务和子服务,读取数据标识符并查询 XCP 能力。其工具库提供可复用的 ISO-TP(ISO 15765-2)和 UDS 实现,新模块可通过即插即用的模块架构加入。

使用条件与局限

  • 审阅时 GitHub 上的最新版本为 0.6,发布于 2024-03-28;所审阅的 master 分支提交领先 45 个提交,其打包元数据已标为 0.7。README 介绍从源码目录安装;审阅时 PyPI 上没有 caringcaribou 项目。
  • 需要 python-can 支持的 CAN 接口,并在 python-can 的 .canrc 配置文件中设置。安装指南在 Linux 上使用 PEAK PCAN-USB 适配器和 SocketCAN(指南要求内核 3.4 或更高,README 则只说需要较新的内核),在 Windows 上建议使用 Linux 虚拟机。README 要求 Python 3.7+;DoIP 模块还需要 doipclient 和 udsoncan 软件包。
  • 发现和服务扫描会在所连接的总线或网络上发送诊断请求。其他模块会发送、重放或模糊测试帧,并执行侵入性诊断操作;这些不在本条目范围内,本条目只涵盖流量捕获和诊断服务发现。
  • 采用 GPL-3.0 许可。附带的单元测试在虚拟 CAN 总线上针对模拟 ECU 运行。本次未捕获或发送任何 CAN 流量。

关于此条目

类型
工具
类别
协议分析工具
关联
基础工具
目标
协议

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  2. documentation/howtoinstall.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  3. documentation/howtouse.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  4. documentation/dump.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  5. documentation/listener.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  6. documentation/uds.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  7. documentation/doip.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  8. documentation/xcp.md GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  9. pyproject.toml GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  10. caringcaribou/tests/mock/mock_ecu.py GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  11. LICENSE GitHub · CaringCaribou/caringcaribou · 修订 092eff3
  12. https://github.com/CaringCaribou/caringcaribou/releases/tag/0.6

同分区更多条目:协议

协议分区全部 29 项资源