scapy.contrib.automotive.ccp¶
-
class
scapy.contrib.automotive.ccp.ACTION_SERVICE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACTION SERVICE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ACTION_SERVICEACTION_SERVICE fields¶ action_service
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.ACTION_SERVICE_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA LENGTH | DATA TYPE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ACTION_SERVICE_DTOACTION_SERVICE_DTO fields¶ data_length
0data_type
0ccp_reserved
b'\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.BUILD_CHKSUM(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BUILD_CHKSUMBUILD_CHKSUM fields¶ size
0ccp_reserved
b'\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.BUILD_CHKSUM_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHECKSUM SIZE | CHECKSUM DATA | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. BUILD_CHKSUM_DTOBUILD_CHKSUM_DTO fields¶ checksum_size
0checksum_data
b'\x00\x00\x00\x00'ccp_reserved
b''
-
-
class
scapy.contrib.automotive.ccp.CCP(*args, **kargs)¶ Bases:
scapy.layers.can.CAN-
aliastypes¶
-
extract_padding(p)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |FLAGS| IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. CCPCCP fields¶ flags
FlagsField(3 bits)<Flag 0 ()>identifier
XBitField(29 bits)0length
8reserved
0
-
-
class
scapy.contrib.automotive.ccp.CLEAR_MEMORY(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CLEAR_MEMORYCLEAR_MEMORY fields¶ size
0ccp_reserved
b'\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.CONNECT(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATION ADDRESS | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CONNECTCONNECT fields¶ station_address
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.CRO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
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¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CMD | CTR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CROCRO fields¶ cmd
1ctr
0
-
hashret()¶
-
payload_guess¶ Possible sublayers:
ACTION_SERVICE,BUILD_CHKSUM,CLEAR_MEMORY,CONNECT,DIAG_SERVICE,DISCONNECT,DNLOAD_6,DNLOAD,EXCHANGE_ID,GET_ACTIVE_CAL_PAGE,GET_CCP_VERSION,GET_DAQ_SIZE,GET_SEED,GET_S_STATUS,MOVE,PROGRAM_6,PROGRAM,SELECT_CAL_PAGE,SET_DAQ_PTR,SET_MTA,SET_S_STATUS,SHORT_UP,START_STOP_ALL,START_STOP,TEST,UNLOCK,UPLOAD,WRITE_DAQ
-
-
class
scapy.contrib.automotive.ccp.DEFAULT_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.DIAG_SERVICE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIAG SERVICE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DIAG_SERVICEDIAG_SERVICE fields¶ diag_service
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.DIAG_SERVICE_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA LENGTH | DATA TYPE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DIAG_SERVICE_DTODIAG_SERVICE_DTO fields¶ data_length
0data_type
0ccp_reserved
b'\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.DISCONNECT(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CCP RESERVED0 |STATION ADDRESS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DISCONNECTDISCONNECT fields¶ type
0ccp_reserved0
b'\xff'station_address
0ccp_reserved
b'\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.DNLOAD(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DNLOADDNLOAD fields¶ size
0data
b'\x00\x00\x00\x00\x00'
-
-
class
scapy.contrib.automotive.ccp.DNLOAD_6(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.DNLOAD_6_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTA0 EXTENSION| MTA0 ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DNLOAD_6_DTODNLOAD_6_DTO fields¶ MTA0_extension
0MTA0_address
0
-
-
class
scapy.contrib.automotive.ccp.DNLOAD_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTA0 EXTENSION| MTA0 ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. DNLOAD_DTODNLOAD_DTO fields¶ MTA0_extension
0MTA0_address
0
-
-
class
scapy.contrib.automotive.ccp.DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶ 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.
-
default_fields¶
-
direction¶
-
explicit¶
-
fields¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PACKET ID | RETURN CODE | CTR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DTODTO fields¶ packet_id
255return_code
0ctr
0
-
fieldtype¶
-
static
get_dto_cls(cmd)¶
-
guess_payload_class(payload)¶
-
hashret()¶
-
name¶
-
original¶
-
overload_fields¶
-
overloaded_fields¶
-
packetfields¶
-
payload¶
-
payload_cls¶
-
post_transforms¶
-
raw_packet_cache¶
-
raw_packet_cache_fields¶
-
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'}¶
-
sent_time¶
-
sniffed_on¶
-
time¶
-
underlayer¶
-
wirelen¶
-
-
class
scapy.contrib.automotive.ccp.EXCHANGE_ID(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP MASTER DEVICE ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EXCHANGE_IDEXCHANGE_ID fields¶ ccp_master_device_id
b'\x00\x00\x00\x00\x00\x00'
-
-
class
scapy.contrib.automotive.ccp.EXCHANGE_ID_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SLAVE DEVICE ID|DATA TYPE QUALI|RESOURCE AVAILA|RESOURCE PROTEC| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EXCHANGE_ID_DTOEXCHANGE_ID_DTO fields¶ slave_device_ID_length
0data_type_qualifier
0resource_availability_mask
0resource_protection_mask
0ccp_reserved
b'\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_ACTIVE_CAL_PAGEGET_ACTIVE_CAL_PAGE fields¶ ccp_reserved
b'\xff\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_ACTIVE_CAL_PAGE_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. GET_ACTIVE_CAL_PAGE_DTOGET_ACTIVE_CAL_PAGE_DTO fields¶ address_extension
0address
0
-
-
class
scapy.contrib.automotive.ccp.GET_CCP_VERSION(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAIN PROTOCOL V|RELEASE VERSION| CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_CCP_VERSIONGET_CCP_VERSION fields¶ main_protocol_version
0release_version
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_CCP_VERSION_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAIN PROTOCOL V|RELEASE VERSION| CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_CCP_VERSION_DTOGET_CCP_VERSION_DTO fields¶ main_protocol_version
0release_version
0ccp_reserved
b'\x00\x00\x00'
-
-
class
scapy.contrib.automotive.ccp.GET_DAQ_SIZE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ NUM | CCP RESERVED | DTO IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_DAQ_SIZEGET_DAQ_SIZE fields¶ DAQ_num
0ccp_reserved
0DTO_identifier
0
-
-
class
scapy.contrib.automotive.ccp.GET_DAQ_SIZE_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ LIST SIZE | FIRST PID | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_DAQ_SIZE_DTOGET_DAQ_SIZE_DTO fields¶ DAQ_list_size
0first_pid
0ccp_reserved
b'\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_SEED(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESOURCE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_SEEDGET_SEED fields¶ resource
0ccp_reserved
b'\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_SEED_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PROTECTION STAT| SEED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_SEED_DTOGET_SEED_DTO fields¶ protection_status
0seed
b'\x00\x00\x00\x00'
-
-
class
scapy.contrib.automotive.ccp.GET_S_STATUS(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_S_STATUSGET_S_STATUS fields¶ ccp_reserved
b'\xff\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.GET_S_STATUS_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SESSION STATUS|INFORMATION QUA| INFORMATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. GET_S_STATUS_DTOGET_S_STATUS_DTO fields¶ session_status
FlagsField(8 bits)<Flag 0 ()>information_qualifier
0information
b'\x00\x00\x00'
-
-
class
scapy.contrib.automotive.ccp.MOVE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MOVEMOVE fields¶ size
0ccp_reserved
b'\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.PROGRAM(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | DATA | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. PROGRAMPROGRAM fields¶ size
0data
b''ccp_reserved
b'\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.PROGRAM_6(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.PROGRAM_6_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTA0 EXTENSION| MTA0 ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. PROGRAM_6_DTOPROGRAM_6_DTO fields¶ MTA0_extension
0MTA0_address
0
-
-
class
scapy.contrib.automotive.ccp.PROGRAM_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTA0 EXTENSION| MTA0 ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. PROGRAM_DTOPROGRAM_DTO fields¶ MTA0_extension
0MTA0_address
0
-
-
class
scapy.contrib.automotive.ccp.SELECT_CAL_PAGE(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SELECT_CAL_PAGESELECT_CAL_PAGE fields¶ ccp_reserved
b'\xff\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.SET_DAQ_PTR(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ NUM | ODT NUM | ODT ELEMENT | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SET_DAQ_PTRSET_DAQ_PTR fields¶ DAQ_num
0ODT_num
0ODT_element
0ccp_reserved
b'\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.SET_MTA(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTA NUM |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SET_MTASET_MTA fields¶ mta_num
0address_extension
0address
0
-
-
class
scapy.contrib.automotive.ccp.SET_S_STATUS(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SESSION STATUS| CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SET_S_STATUSSET_S_STATUS fields¶ session_status
FlagsField(8 bits)<Flag 0 ()>ccp_reserved
b'\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.SHORT_UP(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SHORT_UPSHORT_UP fields¶ size
0address_extension
0address
0
-
-
class
scapy.contrib.automotive.ccp.SHORT_UP_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.START_STOP(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | DAQ NUM | ODT NUM | EVENT CHANNEL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSMISSION RATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. START_STOPSTART_STOP fields¶ mode
0DAQ_num
0ODT_num
0event_channel
0transmission_rate
0
-
-
class
scapy.contrib.automotive.ccp.START_STOP_ALL(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. START_STOP_ALLSTART_STOP_ALL fields¶ type
0ccp_reserved
b'\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.TEST(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATION ADDRESS | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TESTTEST fields¶ station_address
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.UNLOCK(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.UNLOCK_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PRIVILEGE STATU| CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. UNLOCK_DTOUNLOCK_DTO fields¶ privilege_status
0ccp_reserved
b'\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.UPLOAD(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | CCP RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. UPLOADUPLOAD fields¶ size
0ccp_reserved
b'\xff\xff\xff\xff\xff'
-
-
class
scapy.contrib.automotive.ccp.UPLOAD_DTO(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.contrib.automotive.ccp.WRITE_DAQ(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DAQ SIZE |ADDRESS EXTENSI| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. WRITE_DAQWRITE_DAQ fields¶ DAQ_size
0address_extension
0address
0
-