戈森莉 发表于 2025-6-21 13:48:08

[汽车电子/车载以太网] 车载以太网的日志数据记录格式: pcap / blf / asc

概述:车载以太网的日志记录格式

CANoe 与 车载以太网常用的日志文件格式: ASC / BLF / PCAP


[*]对于汽车工程师来说,德国Vector公司推出的CANoe是最常用的开发环境之一。
CANoe的全称为CAN open environment,是一款能够实现网络和ECU开发、测试以及分析的全面工具。
其支持从需求分析到系统实施的总线网络开发的整个过程,其中包括模型的创建、仿真、测试、诊断和通信分析等。
其被广泛地应用于汽车、机械工程、轨道交通等领域。
随着车载以太网的兴起,CANoe也增加了对以太网的支持。
使用CANoe测试以太网时可以选择多种格式保存日志,最常用的为ASC、BLF以及PCAP。

图:混合了 CAN 和 以太网 的 ASC LOG 文件

图:使用 WireShark 打开 BLF文件格式的 以太网 SOME/IP 报文
ASC / BLF / PCAP 日志文件格式的区别

我们先来看看ASC、BLF和PCAP三种格式有什么区别:


[*]ASCII日志文件 (ASC)


[*]基于报文的读写格式
[*]标准 ASCII 编码表示
[*]用于与第三方程序进行数据交换或在文件中包含Trace数据
[*]支持所有总线系统、系统变量、环境变量、内部事件、标记和注释的报文
Tips:由于读写性能较差、存储空间占用较大。因此,不建议在高数据速率下使用ASCII。


[*]BLF日志文件


[*]基于报文的读写格式
[*]二进制日志格式
[*]以二进制格式存储数据,在文件大小和读/写性能方面非常高效
[*]支持所有总线系统、系统变量、环境变量、内部事件、标记和注释的报文
[*]文件大小与压缩率


[*]BLF 文件:明显相比 pcap 文件小
[*]文件压缩率:偏低,实测 85%-95% 的压缩率(压缩算法:zip / tar.gz / rar)
pcap的压缩优势(实测): 虽 pcap 文件比 blf 大 2倍,但压缩率较高(5%-10%)、pcap 压缩文件 比 blf 压缩文件小得多。


[*]PCAP记录文件


[*]基于报文的读写格式
[*]二进制日志格式
[*]用于存储通过网络发送的捕获数据的标准格式
[*]PCAP仅支持以太网报文,不支持查看以太网其他事件(比如linkup)
[*]支持使用 Wireshark 做报文数据分析。
其他工具: TSMaster 等


[*]文件大小与压缩率(参考 blf)
不支持所有其他总线系统、系统变量、内部事件等。
分析软件: CANoe

详细视图

通过Trace窗口工具栏中的详细视图能够查看报文的详细信息,包括:


[*]Time: 从测试开始至捕获到这条报文的时间
[*]General: 报文的基础信息,例如:通道、端口等
[*]Ethernet: 数据链路层以太网帧头部信息
[*]IPv4: 网络层IP包头部信息
[*]UDP/TCP: 传输层的数据报/数据段头部信息
[*]DoIP: 应用层信息,此处以DoIP为例

差分视图

通过Trace窗口工具栏中的差分视图能够直观查看两条报文的时间间隔,便于分析。

分析过滤器


[*]灵活运用Trace窗口工具栏中的分析过滤器可以简化繁杂的报文,分析过滤器分为Stop过滤器和Pass过滤器,可以分别过滤掉某些报文或只查看某些报文。

分析软件: WireShark(支持 pcap & blf)


[*]虽然BLF保存的总线信息最全面,但在查看日志时还是存在一些不便,只能通过导入CANoe的方式查看,若碰巧没有license且日志文件较大,还可能无法查看全部的报文信息。
例如: 无法直接打开日志文件


[*]Wireshark 3.6.0 版本的发布解决了这一问题,从这一版本开始,Wireshark可支持BLF日志文件。


图:使用 WireShark 打开 BLF文件格式的 以太网 SOME/IP 报文


[*]下面我们再来看看如何使用Wireshark分析以太网报文。
显示过滤器


[*]使用过滤器是非常有必要的,通过过滤器可以在众多报文中快速定位,帮助我们找到需要的部分。
[*]除显示过滤器外还有一种捕获过滤器,在捕获过程中进行过滤,以免捕获过多不必要的报文。该过滤器在“捕获”选项中进行设置。
[*]通过过滤器可以进行协议、IP地址、端口等等的过滤。

报文列表


[*]报文列表能够显示所有捕获到的报文,并直观地显示出报文的数量、捕获时间、源IP地址、目标IP地址、协议类型、报文长度和端口号等参数信息。
[*]不同颜色的报文代表不同协议类型,便于查看,可以通过“视图”选项中的“着色规则”进行修改,自定义颜色。


报文详细信息


[*]在报文的分析中,报文详细信息的内容最为重要,在这一部分中,我们能查看Wireshark解析出的报文中每一层的每一个字段。各层信息包括:
[*]Frame: 物理层的数据帧概况,包括时间戳和帧的总长度等信息
[*]Ethernet II: 数据链路层以太网帧头部信息
[*]Internet Protocol Version 4: 网络层IP包头部信息
[*]User Datagram Protocol/Transmission Control Protocol:传输层(UDP/TCP)的数据报/数据段头部信息
[*]DoIP(ISO13400) Protocol: 应用层信息,此处以DoIP为例

16进制数据


[*]此部分内容以16进制显示了报文的完整数据,可结合报文详细信息查看分析。

Z FAQ for 车载以太网( ASC / BLF / PCAP )

Q: 基于 CANoe 提取blf文件中的Eth数据为pcap文件



[*]参考文献


[*]CANoe提取blf文件中的Eth数据为pcap文件 - CSDN
Y 推荐文献


[*]日志记录格式 - Vector
[*]使用 CANoe/CANalyzer 时 PCAP、PCAPNG 和 CANoe BLF 日志记录格式之间的区别 - Vector
[*][智能网联汽车/CAN/ASCLOG/BLF] CAN ASC Log文件 - 博客园/千千寰宇
[*][汽车电子/CAN] BLF 文件 - 博客园/千千寰宇
[*][计算机网络/网络抓包/以太网] .pcap 数据报文存储格式 - 博客园/千千寰宇
[*]能否基于python实现,读取arxml文件中对以太网报文、CAN报文的信息,并根据arxml提供的信息,找到pcap文件中需要寻找的目标pdu或者目标信号,并且抓取目标信号的取值每一次有变化的时间节点,请给出详细代码 - CSDN
在Python中,可以使用pyarx库来解析ARXML文件,这是一个用于处理AUTOSAR(Automotive Open System Architecture)文档的工具包。
然而,直接从ARXML获取PDU(Protocol Data Unit,数据单元)或特定信号值并在PCAP(Packet Capture)文件中搜索并非其默认功能。
通常,ARXML主要用于描述车辆电子系统的通信模型,而PCAP处理的是网络流量的实际记录。
为了实现这个需求,你需要结合两个步骤:

[*]ARXML 解析:首先,安装pyarx库并导入必要的模块:
from pyarx.arxml import ARXMLReader
[*]PCAP 解析:
X 参考文献


[*]CANoe小知识之以太网数据记录格式分析 - Zhihu
ASC、BLF 以及 PCAP


[*]几种常用的记录总线数据的Log文件以及如何保存和转换 - CSDN
文介绍了几种常见的总线数据Log文件类型,包括BLF、ASC和PCAP/PCAPNG文件,详细说明了它们的特点和用途。
在CANoe中,讨论了如何保存、导入和转换这些文件格式,特别强调了自动和手动保存的区别,以及在不同场景下选择适合的文件格式的重要性。
同时,文章提供了关于导入和转换Log文件的实用技巧,帮助测试和开发人员更有效地处理总线数据。


[*]解析以太网的blf python - 51CTO
[*]几种常用的记录总线数据的Log文件以及如何保存和转换 - 程序员
    本文作者:      千千寰宇   
    本文链接:         https://www.cnblogs.com/johnnyzen   
    关于博文:评论和私信会在第一时间回复,或直接私信我。   
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA   许可协议。转载请注明出处!
    日常交流:大数据与软件开发-QQ交流群: 774386015      【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!   

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: [汽车电子/车载以太网] 车载以太网的日志数据记录格式: pcap / blf / asc