scapy.contrib.automotive.autosar.secoc_canfd

SecOC PDU

class scapy.contrib.automotive.autosar.secoc_canfd.SecOC_CANFD(_pkt, /, *, flags=<Flag 0 ()>, identifier=0, length=None, fd_flags=<Flag 4 (fd_frame)>, reserved=0, pdu_payload=<Raw  |>, tfv=0, tmac=None)[source]

Bases: CANFD, SecOCMixin

aliastypes = [<class 'scapy.contrib.automotive.autosar.secoc_canfd.SecOC_CANFD'>, <class 'scapy.layers.can.CANFD'>, <class 'scapy.layers.can.CAN'>, <class 'scapy.packet.Packet'>]
classmethod dispatch_hook(s: bytes | None = None, *_args: Any, **_kwds: Any) Packet_metaclass[source]

dispatch_hook determines if PDU is protected by SecOC. If PDU is protected, SecOC_PDU will be returned, otherwise AutoSAR PDU will be returned.

extract_padding(s: bytes) Tuple[bytes, bytes | None][source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FlagsField (SecOC_CANFD).flags>, <XBitField (SecOC_CANFD).identifier>, <FieldLenField (SecOC_CANFD).length>, <FlagsField (SecOC_CANFD).fd_flags>, <ShortField (SecOC_CANFD).reserved>, <PduPayloadField (SecOC_CANFD).pdu_payload>, <XByteField (SecOC_CANFD).tfv>, <XStrFixedLenField (SecOC_CANFD).tmac>]
classmethod get_pdu_payload_cls(pkt: Packet, data: bytes) Packet[source]
get_secoc_payload() bytes[source]

Override this method for customization

secoc_authenticate() None[source]
secoc_verify() bool[source]