scapy.contrib.automotive.ccp
- class scapy.contrib.automotive.ccp.ACTION_SERVICE(_pkt, /, *, action_service=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.ACTION_SERVICE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.ACTION_SERVICE_DTO(_pkt, /, *, data_length=0, data_type=0, ccp_reserved=b'\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.ACTION_SERVICE_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.BUILD_CHKSUM(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.BUILD_CHKSUM_DTO(_pkt, /, *, checksum_size=0, checksum_data=b'\x00\x00\x00\x00', ccp_reserved=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.CCP(_pkt, /, *, flags=<Flag 0 ()>, identifier=0, length=8, reserved=0)[source]
Bases:
CAN- aliastypes = [<class 'scapy.contrib.automotive.ccp.CCP'>, <class 'scapy.layers.can.CAN'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.CLEAR_MEMORY(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.CLEAR_MEMORY'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.CONNECT(_pkt, /, *, station_address=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.CONNECT'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.CRO(_pkt, /, *, cmd=1, ctr=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.CRO'>, <class 'scapy.packet.Packet'>]
- commands = {1: 'CONNECT', 2: 'SET_MTA', 3: 'DNLOAD', 4: 'UPLOAD', 5: 'TEST', 6: 'START_STOP', 7: 'DISCONNECT', 8: 'START_STOP_ALL', 9: 'GET_ACTIVE_CAL_PAGE', 12: 'SET_S_STATUS', 13: 'GET_S_STATUS', 14: 'BUILD_CHKSUM', 15: 'SHORT_UP', 16: 'CLEAR_MEMORY', 17: 'SELECT_CAL_PAGE', 18: 'GET_SEED', 19: 'UNLOCK', 20: 'GET_DAQ_SIZE', 21: 'SET_DAQ_PTR', 22: 'WRITE_DAQ', 23: 'EXCHANGE_ID', 24: 'PROGRAM', 25: 'MOVE', 27: 'GET_CCP_VERSION', 32: 'DIAG_SERVICE', 33: 'ACTION_SERVICE', 34: 'PROGRAM_6', 35: 'DNLOAD_6'}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (CRO).cmd>, <ByteField (CRO).ctr>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'cmd': 1}, <class 'scapy.contrib.automotive.ccp.CONNECT'>), ({'cmd': 27}, <class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION'>), ({'cmd': 23}, <class 'scapy.contrib.automotive.ccp.EXCHANGE_ID'>), ({'cmd': 18}, <class 'scapy.contrib.automotive.ccp.GET_SEED'>), ({'cmd': 19}, <class 'scapy.contrib.automotive.ccp.UNLOCK'>), ({'cmd': 2}, <class 'scapy.contrib.automotive.ccp.SET_MTA'>), ({'cmd': 3}, <class 'scapy.contrib.automotive.ccp.DNLOAD'>), ({'cmd': 35}, <class 'scapy.contrib.automotive.ccp.DNLOAD_6'>), ({'cmd': 4}, <class 'scapy.contrib.automotive.ccp.UPLOAD'>), ({'cmd': 15}, <class 'scapy.contrib.automotive.ccp.SHORT_UP'>), ({'cmd': 17}, <class 'scapy.contrib.automotive.ccp.SELECT_CAL_PAGE'>), ({'cmd': 20}, <class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE'>), ({'cmd': 21}, <class 'scapy.contrib.automotive.ccp.SET_DAQ_PTR'>), ({'cmd': 22}, <class 'scapy.contrib.automotive.ccp.WRITE_DAQ'>), ({'cmd': 6}, <class 'scapy.contrib.automotive.ccp.START_STOP'>), ({'cmd': 7}, <class 'scapy.contrib.automotive.ccp.DISCONNECT'>), ({'cmd': 12}, <class 'scapy.contrib.automotive.ccp.SET_S_STATUS'>), ({'cmd': 13}, <class 'scapy.contrib.automotive.ccp.GET_S_STATUS'>), ({'cmd': 14}, <class 'scapy.contrib.automotive.ccp.BUILD_CHKSUM'>), ({'cmd': 16}, <class 'scapy.contrib.automotive.ccp.CLEAR_MEMORY'>), ({'cmd': 24}, <class 'scapy.contrib.automotive.ccp.PROGRAM'>), ({'cmd': 34}, <class 'scapy.contrib.automotive.ccp.PROGRAM_6'>), ({'cmd': 25}, <class 'scapy.contrib.automotive.ccp.MOVE'>), ({'cmd': 5}, <class 'scapy.contrib.automotive.ccp.TEST'>), ({'cmd': 9}, <class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE'>), ({'cmd': 8}, <class 'scapy.contrib.automotive.ccp.START_STOP_ALL'>), ({'cmd': 32}, <class 'scapy.contrib.automotive.ccp.DIAG_SERVICE'>), ({'cmd': 33}, <class 'scapy.contrib.automotive.ccp.ACTION_SERVICE'>)]
- class scapy.contrib.automotive.ccp.DEFAULT_DTO(_pkt, /, *, load=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DEFAULT_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DIAG_SERVICE(_pkt, /, *, diag_service=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DIAG_SERVICE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DIAG_SERVICE_DTO(_pkt, /, *, data_length=0, data_type=0, ccp_reserved=b'\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DIAG_SERVICE_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DISCONNECT(_pkt, /, *, type=0, ccp_reserved0=b'\xff', station_address=0, ccp_reserved=b'\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DISCONNECT'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DNLOAD(_pkt, /, *, size=0, data=b'\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DNLOAD_6(_pkt, /, *, data=b'\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_6'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DNLOAD_6_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_6_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DNLOAD_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DNLOAD_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.DTO(_pkt, /, *, packet_id=255, return_code=0, ctr=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.DTO'>, <class 'scapy.packet.Packet'>]
- answers(other)[source]
In CCP, the payload of a DTO packet is dependent on the cmd field of a corresponding CRO packet. Two packets correspond, if there ctr field is equal. If answers detect the corresponding CRO, it will interpret the payload of a DTO with the correct class. In CCP, there is no other way, to determine the class of a DTO payload. Since answers is called on sr and sr1, this modification of the original answers implementation will give a better user experience.
- comments: List[bytes] | None
- default_fields: Dict[str, Any]
- direction: int | None
- explicit
- fields: Dict[str, Any]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (DTO).packet_id>, <ByteEnumField (DTO).return_code>, <ByteField (DTO).ctr>]
- name
- original
- overloaded_fields: Dict[str, Any]
- parent
- payload_cls
- post_transforms
- process_information: Dict[str, Any] | None
- raw_packet_cache: bytes | None
- raw_packet_cache_fields: Dict[str, Any] | None
- return_codes = {0: 'acknowledge / no error', 1: 'DAQ processor overload', 16: 'command processor busy', 17: 'DAQ processor busy', 18: 'internal timeout', 24: 'key request', 25: 'session status request', 32: 'cold start request', 33: 'cal. data init. request', 34: 'DAQ list init. request', 35: 'code update request', 48: 'unknown command', 49: 'command syntax', 50: 'parameter(s) out of range', 51: 'access denied', 52: 'overload', 53: 'access locked', 54: 'resource/function not available'}
- sniffed_on: NetworkInterface | str | None
- stop_dissection_after
- underlayer
- wirelen: int | None
- class scapy.contrib.automotive.ccp.EXCHANGE_ID(_pkt, /, *, ccp_master_device_id=b'\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.EXCHANGE_ID'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.EXCHANGE_ID_DTO(_pkt, /, *, slave_device_ID_length=0, data_type_qualifier=0, resource_availability_mask=0, resource_protection_mask=0, ccp_reserved=b'\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.EXCHANGE_ID_DTO'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (EXCHANGE_ID_DTO).slave_device_ID_length>, <ByteField (EXCHANGE_ID_DTO).data_type_qualifier>, <ByteField (EXCHANGE_ID_DTO).resource_availability_mask>, <ByteField (EXCHANGE_ID_DTO).resource_protection_mask>, <StrFixedLenField (EXCHANGE_ID_DTO).ccp_reserved>]
- class scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE_DTO(_pkt, /, *, address_extension=0, address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_CCP_VERSION(_pkt, /, *, main_protocol_version=0, release_version=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_CCP_VERSION_DTO(_pkt, /, *, main_protocol_version=0, release_version=0, ccp_reserved=b'\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_CCP_VERSION_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_DAQ_SIZE(_pkt, /, *, DAQ_num=0, ccp_reserved=0, DTO_identifier=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_DAQ_SIZE_DTO(_pkt, /, *, DAQ_list_size=0, first_pid=0, ccp_reserved=b'\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_DAQ_SIZE_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_SEED(_pkt, /, *, resource=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_SEED'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_SEED_DTO(_pkt, /, *, protection_status=0, seed=b'\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_SEED_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_S_STATUS(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_S_STATUS'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.GET_S_STATUS_DTO(_pkt, /, *, session_status=<Flag 0 ()>, information_qualifier=0, information=b'\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.GET_S_STATUS_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.MOVE(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.MOVE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.PROGRAM(_pkt, /, *, size=0, data=b'', ccp_reserved=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.PROGRAM_6(_pkt, /, *, data=b'\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_6'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.PROGRAM_6_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_6_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.PROGRAM_DTO(_pkt, /, *, MTA0_extension=0, MTA0_address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.PROGRAM_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SELECT_CAL_PAGE(_pkt, /, *, ccp_reserved=b'\xff\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SELECT_CAL_PAGE'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SET_DAQ_PTR(_pkt, /, *, DAQ_num=0, ODT_num=0, ODT_element=0, ccp_reserved=b'\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_DAQ_PTR'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SET_MTA(_pkt, /, *, mta_num=0, address_extension=0, address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_MTA'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SET_S_STATUS(_pkt, /, *, session_status=<Flag 0 ()>, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SET_S_STATUS'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SHORT_UP(_pkt, /, *, size=0, address_extension=0, address=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SHORT_UP'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.SHORT_UP_DTO(_pkt, /, *, data=b'\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.SHORT_UP_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.START_STOP(_pkt, /, *, mode=0, DAQ_num=0, ODT_num=0, event_channel=0, transmission_rate=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.START_STOP'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.START_STOP_ALL(_pkt, /, *, type=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.START_STOP_ALL'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.TEST(_pkt, /, *, station_address=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.TEST'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.UNLOCK(_pkt, /, *, key=b'\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.UNLOCK'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.UNLOCK_DTO(_pkt, /, *, privilege_status=0, ccp_reserved=b'\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.UNLOCK_DTO'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.UPLOAD(_pkt, /, *, size=0, ccp_reserved=b'\xff\xff\xff\xff\xff')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.UPLOAD'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.automotive.ccp.UPLOAD_DTO(_pkt, /, *, data=b'\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.automotive.ccp.UPLOAD_DTO'>, <class 'scapy.packet.Packet'>]