scapy.contrib.automotive.someip

class scapy.contrib.automotive.someip.SD(_pkt, /, *, flags=<Flag 0 ()>, res=0, len_entry_array=None, entry_array=[], len_option_array=None, option_array=[])[source]

Bases: _SDPacketBase

SD Packet

NOTEwhen adding ‘entries’ or ‘options’, do not use list.append()

method but create a new list

e.g.p = SD()

p.option_array = [SDOption_Config(),SDOption_IP6_EndPoint()]

SOMEIP_CLIENT_ID = 0
SOMEIP_IFACE_VER = 1
SOMEIP_MINIMUM_SESSION_ID = 1
SOMEIP_MSGID_SRVID = 65535
SOMEIP_MSGID_SUBID = 33024
SOMEIP_MSG_TYPE = 2
SOMEIP_PROTO_VER = 1
SOMEIP_RETCODE = 0
aliastypes = [<class 'scapy.contrib.automotive.someip.SD'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SD).flags>, <X3BytesField (SD).res>, <FieldLenField (SD).len_entry_array>, <PacketListField (SD).entry_array>, <FieldLenField (SD).len_option_array>, <PacketListField (SD).option_array>]
set_entryArray(entry_list)[source]
set_optionArray(option_list)[source]
class scapy.contrib.automotive.someip.SDEntry_EventGroup(_pkt, /, *, type=6, index_1=0, index_2=0, n_opt_1=0, n_opt_2=0, srv_id=0, inst_id=0, major_ver=0, ttl=0, res=0, cnt=0, eventgroup_id=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDEntry_EventGroup'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteEnumField (SDEntry_EventGroup).type>, <XByteField (SDEntry_EventGroup).index_1>, <XByteField (SDEntry_EventGroup).index_2>, <XBitField (SDEntry_EventGroup).n_opt_1>, <XBitField (SDEntry_EventGroup).n_opt_2>, <XShortField (SDEntry_EventGroup).srv_id>, <XShortField (SDEntry_EventGroup).inst_id>, <XByteField (SDEntry_EventGroup).major_ver>, <X3BytesField (SDEntry_EventGroup).ttl>, <XBitField (SDEntry_EventGroup).res>, <XBitField (SDEntry_EventGroup).cnt>, <XShortField (SDEntry_EventGroup).eventgroup_id>]
class scapy.contrib.automotive.someip.SDEntry_Service(_pkt, /, *, type=0, index_1=0, index_2=0, n_opt_1=0, n_opt_2=0, srv_id=0, inst_id=0, major_ver=0, ttl=0, minor_ver=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDEntry_Service'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteEnumField (SDEntry_Service).type>, <XByteField (SDEntry_Service).index_1>, <XByteField (SDEntry_Service).index_2>, <XBitField (SDEntry_Service).n_opt_1>, <XBitField (SDEntry_Service).n_opt_2>, <XShortField (SDEntry_Service).srv_id>, <XShortField (SDEntry_Service).inst_id>, <XByteField (SDEntry_Service).major_ver>, <X3BytesField (SDEntry_Service).ttl>, <XIntField (SDEntry_Service).minor_ver>]
class scapy.contrib.automotive.someip.SDOption_Config(_pkt, /, *, len=None, type=1, res_hdr=0, cfg_str=b'\x00')[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_Config'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_Config).len>, <XByteEnumField (SDOption_Config).type>, <XByteField (SDOption_Config).res_hdr>, <StrLenField (SDOption_Config).cfg_str>]
static make_string(data)[source]
post_build(pkt, pay)[source]
class scapy.contrib.automotive.someip.SDOption_IP4_EndPoint(_pkt, /, *, len=9, type=4, res_hdr=0, addr='0.0.0.0', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP4_EndPoint'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP4_EndPoint).len>, <XByteEnumField (SDOption_IP4_EndPoint).type>, <XByteField (SDOption_IP4_EndPoint).res_hdr>, <IPField (SDOption_IP4_EndPoint).addr>, <XByteField (SDOption_IP4_EndPoint).res_tail>, <ByteEnumField (SDOption_IP4_EndPoint).l4_proto>, <ShortField (SDOption_IP4_EndPoint).port>]
class scapy.contrib.automotive.someip.SDOption_IP4_Multicast(_pkt, /, *, len=9, type=20, res_hdr=0, addr='0.0.0.0', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP4_Multicast'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP4_Multicast).len>, <XByteEnumField (SDOption_IP4_Multicast).type>, <XByteField (SDOption_IP4_Multicast).res_hdr>, <IPField (SDOption_IP4_Multicast).addr>, <XByteField (SDOption_IP4_Multicast).res_tail>, <ByteEnumField (SDOption_IP4_Multicast).l4_proto>, <ShortField (SDOption_IP4_Multicast).port>]
class scapy.contrib.automotive.someip.SDOption_IP4_SD_EndPoint(_pkt, /, *, len=9, type=36, res_hdr=0, addr='0.0.0.0', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP4_SD_EndPoint'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP4_SD_EndPoint).len>, <XByteEnumField (SDOption_IP4_SD_EndPoint).type>, <XByteField (SDOption_IP4_SD_EndPoint).res_hdr>, <IPField (SDOption_IP4_SD_EndPoint).addr>, <XByteField (SDOption_IP4_SD_EndPoint).res_tail>, <ByteEnumField (SDOption_IP4_SD_EndPoint).l4_proto>, <ShortField (SDOption_IP4_SD_EndPoint).port>]
class scapy.contrib.automotive.someip.SDOption_IP6_EndPoint(_pkt, /, *, len=21, type=6, res_hdr=0, addr='::', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP6_EndPoint'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP6_EndPoint).len>, <XByteEnumField (SDOption_IP6_EndPoint).type>, <XByteField (SDOption_IP6_EndPoint).res_hdr>, <IP6Field (SDOption_IP6_EndPoint).addr>, <XByteField (SDOption_IP6_EndPoint).res_tail>, <ByteEnumField (SDOption_IP6_EndPoint).l4_proto>, <ShortField (SDOption_IP6_EndPoint).port>]
class scapy.contrib.automotive.someip.SDOption_IP6_Multicast(_pkt, /, *, len=21, type=22, res_hdr=0, addr='::', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP6_Multicast'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP6_Multicast).len>, <XByteEnumField (SDOption_IP6_Multicast).type>, <XByteField (SDOption_IP6_Multicast).res_hdr>, <IP6Field (SDOption_IP6_Multicast).addr>, <XByteField (SDOption_IP6_Multicast).res_tail>, <ByteEnumField (SDOption_IP6_Multicast).l4_proto>, <ShortField (SDOption_IP6_Multicast).port>]
class scapy.contrib.automotive.someip.SDOption_IP6_SD_EndPoint(_pkt, /, *, len=21, type=38, res_hdr=0, addr='::', res_tail=0, l4_proto=17, port=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_IP6_SD_EndPoint'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_IP6_SD_EndPoint).len>, <XByteEnumField (SDOption_IP6_SD_EndPoint).type>, <XByteField (SDOption_IP6_SD_EndPoint).res_hdr>, <IP6Field (SDOption_IP6_SD_EndPoint).addr>, <XByteField (SDOption_IP6_SD_EndPoint).res_tail>, <ByteEnumField (SDOption_IP6_SD_EndPoint).l4_proto>, <ShortField (SDOption_IP6_SD_EndPoint).port>]
class scapy.contrib.automotive.someip.SDOption_LoadBalance(_pkt, /, *, len=5, type=2, res_hdr=0, priority=0, weight=0)[source]

Bases: _SDPacketBase

aliastypes = [<class 'scapy.contrib.automotive.someip.SDOption_LoadBalance'>, <class 'scapy.contrib.automotive.someip._SDPacketBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (SDOption_LoadBalance).len>, <XByteEnumField (SDOption_LoadBalance).type>, <XByteField (SDOption_LoadBalance).res_hdr>, <ShortField (SDOption_LoadBalance).priority>, <ShortField (SDOption_LoadBalance).weight>]
class scapy.contrib.automotive.someip.SOMEIP(_pkt, /, *, srv_id=0, sub_id=None, len=None, client_id=0, session_id=0, proto_ver=1, iface_ver=1, msg_type=0, retcode=0, offset=0, res=0, more_seg=0, data=[<Raw  |>])[source]

Bases: Packet

SOME/IP Packet.

INTERFACE_VERSION = 1
LEN_OFFSET = 8
LEN_OFFSET_TP = 12
PROTOCOL_VERSION = 1
RET_E_MALFORMED_MSG = 9
RET_E_NOT_OK = 1
RET_E_NOT_REACHABLE = 5
RET_E_NOT_READY = 4
RET_E_OK = 0
RET_E_TIMEOUT = 6
RET_E_UNKNOWN_METHOD = 3
RET_E_UNKNOWN_SERVICE = 2
RET_E_WRONG_INTERFACE_V = 8
RET_E_WRONG_MESSAGE_TYPE = 10
RET_E_WRONG_PROTOCOL_V = 7
TYPE_ERROR = 129
TYPE_ERROR_ACK = 193
TYPE_NOTIFICATION = 2
TYPE_NOTIFICATION_ACK = 66
TYPE_REQUEST = 0
TYPE_REQUEST_ACK = 64
TYPE_REQUEST_NORET_ACK = 65
TYPE_REQUEST_NO_RET = 1
TYPE_RESPONSE = 128
TYPE_RESPONSE_ACK = 192
TYPE_TP_ERROR = 161
TYPE_TP_NOTIFICATION = 34
TYPE_TP_REQUEST = 32
TYPE_TP_REQUEST_NO_RET = 33
TYPE_TP_RESPONSE = 160
aliastypes = [<class 'scapy.contrib.automotive.someip.SOMEIP'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (SOMEIP).srv_id>, <scapy.fields.MultipleTypeField object>, <LenField (SOMEIP).len>, <XShortField (SOMEIP).client_id>, <XShortField (SOMEIP).session_id>, <XByteField (SOMEIP).proto_ver>, <XByteField (SOMEIP).iface_ver>, <ByteEnumField (SOMEIP).msg_type>, <ByteEnumField (SOMEIP).retcode>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <PacketListField (SOMEIP).data>]
fragment(fragsize=1392)[source]

Fragment SOME/IP-TP

static get_payload_cls_by_srv_id(pkt, lst, cur, remain)[source]
payload_cls_by_srv_id = {}
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.contrib.automotive.someip.SOMEIP'>), ({'iface_ver': 1, 'msg_type': 2, 'proto_ver': 1, 'retcode': 0, 'srv_id': 65535, 'sub_id': 33024}, <class 'scapy.contrib.automotive.someip.SD'>)]
post_build(pkt, pay)[source]