SOME/IP报文采集及内容含义

887 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

基础知识

SOME/IP

SOME/IP ( Scalable service-Oriented MiddlewarE over IP) ,“运行于IP之上的可伸缩的面向服务的中间件”。在七层协议SOME/IP中处于会话层的位置,被广泛应用于车载以太网的以太网传输中。

BMW 在Github上开源了一个SOME/IP的具体实现,可以通过查看SOME/IP开源库Vsomeip分析 - 知乎 (zhihu.com)的实现进行来对协议的要求进行具体查看

Wireshark

汽车以太网协议之 SOME/IP(下) – 绿盟科技技术博客 (nsfocus.net)

最新版(>= 3.2 )版本的 Wireshark都已经自带 SOME/IP 的解析方式,通过上述文章的方法开启后才能分析相关报文。

报文采集

对于实际使用的环境来说,并不是接上网线接口就可以查看SOMEIP报文的。连上接口后,电脑发送 第一次 D H C P 报文,如果链接无误则返回两次 D H C P 确认报文。

通过相关安全工具解锁并发送指令,w i r e s h a r k 即可采集报文。

以下面的采集结果为例:

通过筛选器可以查找出含有相关报文的数据包。

source 是发送请求的那一方,D e s t i n a t i o n 则是数据包中包含的目的地,P r o t o c o l 则是数据包的协议格式。 image.png 可以看到前两次是 S O M E / I P 发送一次offer,广播消息,随后发送 Subscribe 消息进行订阅,接收到订阅报文的 D e s t i n a t i o n 地址返回两次Subscribe-ACK报文进行类似三次握手一样的操作,此后即开始传输数据。

通过查阅下方的数据包内容,可以查看报文是否符合要求。