DoIP v3(TLS 安全 DoIP)
DoIP v3 定义于新的 ISO13400-2 2019 标准,主要区别是增加了 TLS 支持。

- UDP 发现保持不变:UDP 端口 13400 仍用于车辆识别和通告。
- 诊断 TCP 变为 TLS(启用时):默认安全端口 3496。
- 当您设置 DOIP 版本 = 3 时,将使用 DoIP v3 协议头。
用法
- 选择以太网测试仪
- 在您的测试仪配置中,将 DOIP 版本 设置为 DOIP V3。
- 如果您想模拟一个实体/网关,还需设置 实体仿真 证书。
- 在地址上启用 TLS
- 打开您将使用的以太网地址 (
EthAddr)。 - 启用 TLS 设置 - 测试仪 (DoIP v3) → 启用 TLS。
- 保持 TLS 端口 = 3496,除非您的 ECU 使用不同的端口。
- 打开您将使用的以太网地址 (
- 提供证书(推荐)
- 设置 CA 证书 以信任 ECU/服务器证书。
- 如果服务器要求客户端认证,还需设置 客户端证书 和 私钥。
- 测试证书生成步骤:DoIP v3 TLS 证书生成指南。
- 启动测试并照常发送 UDS 请求。
端口与流量模型
- UDP 13400:车辆识别请求/响应和通告。
- TCP 13400:DoIP v2(非 TLS)诊断通道。
- TLS 3496:DoIP v3 安全诊断通道(本项目默认)。
NOTE
启用 TLS 仅改变 TCP 诊断连接。 UDP 发现仍使用端口 13400。
配置参考
DOIP 版本
在 DOIP 设置 下:
- DOIP V2:TCP 诊断连接到端口 13400(无 TLS)。
- DOIP V3:使用 DoIP v3 头;您可以选择性地为 TCP 连接启用 TLS(推荐)。
实体仿真 TLS(DoIP v3 服务器)
如果您的测试仪配置为 模拟一个实体/网关(实体仿真),您可以为内置的 DoIP 服务器启用 TLS:
- 启用服务器 TLS
- 启动一个 TLS 服务器而非普通的 TCP 服务器。
- 服务器 TLS 端口
- 默认为 3496。
- CA 证书
- 用于验证测试仪证书的信任锚(当使用双向 TLS 时)。
- 服务器证书 / 服务器私钥
- TLS 握手期间呈现的服务器身份。
- 要求客户端证书
- 旨在强制执行双向 TLS(测试仪必须提供证书)。

测试仪地址 TLS 设置(DoIP v3)
在以太网地址 (EthAddr) 下,当 DOIP 版本 = 3 时:
- 启用 TLS
- 启用后,测试仪将创建 TLS 连接而非普通 TCP 连接。
- 默认目标端口为 3496。
- TLS 端口
- 覆盖默认的安全端口 (3496)。
- CA 证书
- 用于验证 ECU/服务器证书的 CA 文件。
- 客户端证书 / 私钥
- 当服务器请求客户端认证(双向 TLS)时使用。
- 跳过验证
- 仅用于测试。
- 启用后,ECUBus-Pro 将跳过证书验证和主机名/IP 检查。
- 启用密钥日志 / 密钥日志路径
- 将 TLS 会话密钥写入文件(默认:
logs/tls-keylog.txt),以便在 Wireshark 中解密 TLS。
- 将 TLS 会话密钥写入文件(默认:
TIP
证书文件路径可以是 项目相对路径。 ECUBus-Pro 会根据当前项目目录解析相对路径。

Wireshark:使用密钥日志解密 DoIP v3 TLS
- 启用 启用密钥日志 并设置 密钥日志路径(或保持默认的
logs/tls-keylog.txt)。 - 重新运行会话以生成密钥日志文件。
- 在 Wireshark 中,将 (预)主密钥日志文件名 设置为该密钥日志文件。
更多详情请参阅 Wireshark 官方文档:Wireshark-TLS
WARNING
TLS 密钥日志允许解密捕获的流量。 请将密钥日志文件视为敏感信息,切勿公开分享。
故障排除
TLS 连接立即失败
- 端口错误:确认 ECU 监听 3496 端口(或您配置的 TLS 端口)。
- CA 不匹配:确保测试仪的 CA 证书 与签署服务器证书的 CA 匹配。
- 缺少客户端证书:如果服务器要求客户端认证,请在测试仪端配置 客户端证书 和 私钥。
“跳过验证”有效但正常验证失败
这几乎总是意味着您的证书链不受信任(CA 错误)或服务器证书对您的环境无效。 请修复证书,而不是保持启用“跳过验证”。
车辆发现有效但诊断无效
发现使用 UDP 13400;诊断使用 TCP/TLS。 检查防火墙规则并确认:
- UDP 13400 端口已开放(用于发现)
- TLS 3496(或配置的 TLS 端口)已开放(用于诊断)