SOME/IP协议

admin 2024年10月21日19:26:45评论26 views字数 2826阅读9分25秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

SOME/IP协议

01

概述

1、简述

  1. SOME/IP是汽车中间件解决方案,用于控制消息;支持车机功能,用于MOST场景,CAN场景。

  2. 不同操作系统,设备皆可使用;

  3. 客户端与服务器交换数据,不浪费带宽;

  4. 操作系统与应用之间的服务程序;

  5. 基于TCP/UDP通信;

2、someIP作用

  1. 序列化:数据转二进制串

  2. 远程过程调用;

  3. 服务发现(SD);

  4. 订阅/发布;

3、服务接口

方法-method:

  • RR服务端请求+客户端响应;

  • FF:只用服务端请求;

属性、字段-property/Field:

  • Setter/Getter:服务端给客户端;

  • Notifier

事件-EVENT:订阅

02

SOME/IP

1、someip 报文格式

SOME/IP协议

Message ID:报文的唯一标识符;

        Service ID[16 bit] + 0+Method ID [15 bit]

        Service ID[16 bit] + 1+Event [15 bit]

Request ID

        Client ID :16bit

        Session ID :16bit

        0x0001~0xFFFF;

Protocol Version : 8 bit, SOME/IP协议版本,通常是0x01;

Interface Version : 8 bit, Service Interface的主版本,常用作检测服务的一致性;

Message Type:8 bit,报文类型;

Return Code:占8bits,表示请求是否被成功处理;

SOME/IP协议

2、序列化

序列化:将对象的状态信息转换为可以存储或以二进制的形式在网络中传输;
反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程;

序列化规则

  • 基本数据类型的序列化

        大端或者小端序列化;

  • 结构体的序列化

将结构体的数据元素顺序排列,然后将各个元素依次序列化;

  • 字符串String的序列化(定长、变长)

  • 数组Array的序列化(定长、变长)

3、报文发送和解析示例

1)ANDI软件介绍

ANDi(Automotive Network Diagnoser)是一个开发、测试和分析工具,支持各种总线系统,如CAN、 LIN、 FlexRay和以太网 。

a.使用Traffic Generator 发送SOME/IP报文;

SOME/IP协议

b.使用Python脚本发送SOME/IP报文

SOME/IP协议

c.使用Traffic Viewer抓包和解析SOME/IP报文

SOME/IP协议

2)MediaGateway介绍

媒体网关(Media Gateway, MGW)是一个连接不同类型网络的单元,执行不同网络之间的媒体流转换。它可以连接的传统网络包括:

  • PSTN(公共交换电话网络)

  • ISDN(综合业务数字网)

  • 2.5G和3G无线电接入网络

  • PBX(专用分支交换机)

  • 基于IP或ATM的数据网络

媒体网关的主要功能包括:

  • 不同传输格式之间的转换和编解码。

  • 多媒体通信的传递,如语音、视频等。

  • 回声消除、DTMF(双音多频)信号处理、语音压缩等功能。

媒体网关由一个媒体网关控制器(Media Gateway Controller, MGC)控制,该控制器提供呼叫控制和信令功能。媒体网关和媒体网关控制器之间的通信依赖于特定的协议,如MGCP(Media Gateway Control Protocol)、H.248/Megaco等。

03

SOME/IP-SD

1、什么是SOME/IP SD(Serive Discovery)

(1)、一种特殊的服务,实现服务寻址及事件订阅功能;

服务寻址:

  • 发现服务

  • 提供服务

  • 结束提供服务

事件订阅

  • 订阅

  • 结束订阅

  • 订阅ACK

  • 订阅NACK

  • 报文格式

(2)、SD报文格式

SOME/IP协议

由SOME/IP与SOME/IP SD构成;

Flags: Reboot Flag[1 bit] + Unicast Flag[1 bit] + Reserved[6 bit]

  • Reboot Flag:重启/上电时置1,Session ID完成1——0xFFFF循环后置0;

  • Unicast Flag:置1时表示支持单播;

Entries

  1. Service Entry

SOME/IP协议
  • Tyep:8bit;

  • TTL:24bit,entry的生 存时间,单位秒;

  • Index 1st / 2nd options:表示Option的起始位置,Index 1st指多个Entry共有的option ;

  • # ofopt 1/ # of opt 2:指相应的Index 1st/2nd携带option的数量;

  • Major Version:8bit, 主版本;

  • Minor Version:次要版本;

 2.Eventgroup Entry

SOME/IP协议

Counter:占4bit,对不同客户端订阅同一事件组的计数;
EventGroup ID:占16bit,需要订阅的事件组标识符;

Option

  • Configuration Option

可以传输任意字符串,如服务名称或配置;

SOME/IP协议

配置实例:

SOME/IP协议
  • Load Balancing Option :确定不同服务实例的优先级,以便客服端选择

SOME/IP协议
  • Endpoint Option

        IPV4

SOME/IP协议

        IPV6

SOME/IP协议
  • Multicast Option

        IPV4

SOME/IP协议

        IPV5

SOME/IP协议

2、SOME/IP SD示例

Message ID ,Service ID ,Entries{Type+TTL}......

SOME/IP协议

Traffic generator 发送SOME/IP—SD报文;

SOME/IP协议

Python脚本配置Entry

SOME/IP协议

Python脚本提取Entry

SOME/IP协议

Python脚本配置option

SOME/IP协议

Python脚本提取option

SOME/IP协议

来源:CSDN@淙哥

原文链接:

https://blog.csdn.net/qq_52110758/article/details/141096758

 end 

SOME/IP协议

 精品活动推荐 

SOME/IP协议
SOME/IP协议
SOME/IP协议
SOME/IP协议

 专业社群 

SOME/IP协议

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

SOME/IP协议

公司类型占比

SOME/IP协议

原文始发于微信公众号(谈思实验室):SOME/IP协议

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日19:26:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SOME/IP协议https://cn-sec.com/archives/3296994.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息