scapy.contrib.automotive.bmw.definitions
- class scapy.contrib.automotive.bmw.definitions.DEV_JOB(_pkt, /, *, identifier=65535)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DEV_JOB
DEV_JOB fields identifier
65535
- identifiers = {20977: 'ControlReciprocalMonitor', 51933: 'EnableDebugCan', 57005: 'LockJtag1', 57006: 'LockJtag2', 57007: 'UnlockJtag', 62736: 'ControlFuSiIO', 65280: 'ReadTransportMessageStatus', 65296: 'ControlEthernetActivation', 65361: 'ControlPwfMaster', 65382: 'ControlWebsite', 65399: 'ControlIdleMessage', 65456: 'ReadManufacturerData', 65457: 'ReadBuildNumber', 65488: 'ReadFzmSentryStates', 65489: 'ReadFzmSlaveStates', 65490: 'ReadFzmMasterState', 65491: 'ControlLifecycle', 65493: 'IsCertificateValid', 65530: 'SetDiagRouting', 65535: 'ReadMemory'}
- class scapy.contrib.automotive.bmw.definitions.DEV_JOB_PR(_pkt, /, *, identifier=65535)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DEV_JOB_PR
DEV_JOB_PR fields identifier
65535
- payload_guess
Possible sublayers:
READ_MEM_PR
,WEBSERVER
- class scapy.contrib.automotive.bmw.definitions.DIAG_SESSION_RESP(_pkt, /, *, DIAG_SESSION_VALUE=0, DIAG_SESSION_TEXT=b'')[source]
Bases:
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 SESSION VA| DIAG SESSION TEXT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. DIAG_SESSION_RESP
DIAG_SESSION_RESP fields DIAG_SESSION_VALUE
0
DIAG_SESSION_TEXT
b''
- class scapy.contrib.automotive.bmw.definitions.ENMT_REQ(_pkt, /, *, responseRequired=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.IOCBLI_REQ(_pkt, /, *, inputOutputLocalIdentifier=1, inputOutputControlParameter=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INPUTOUTPUTLOCA|INPUTOUTPUTCONT| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IOCBLI_REQ
IOCBLI_REQ fields inputOutputLocalIdentifier
1
inputOutputControlParameter
0
- class scapy.contrib.automotive.bmw.definitions.IP_CONFIG_RESP(_pkt, /, *, ADDRESS_FORMAT_ID=0, IP='192.168.0.10', SUBNETMASK='255.255.255.0', DEFAULT_GATEWAY='192.168.0.1')[source]
Bases:
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 FORMAT | IP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SUBNETMASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DEFAULT GATEWAY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. IP_CONFIG_RESP
IP_CONFIG_RESP fields ADDRESS_FORMAT_ID
0
IP
'192.168.0.10'
SUBNETMASK
'255.255.255.0'
DEFAULT_GATEWAY
'192.168.0.1'
- class scapy.contrib.automotive.bmw.definitions.RDBLI_REQ(_pkt, /, *, recordLocalIdentifier=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.RDS2TCM_REQ(_pkt, /, *, DS2faultNumber=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.RDTCBS_REQ(_pkt, /, *, statusOfDTC=0, groupOfDTC=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUSOFDTC | GROUPOFDTC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RDTCBS_REQ
RDTCBS_REQ fields statusOfDTC
0
groupOfDTC
0
- class scapy.contrib.automotive.bmw.definitions.READ_MEM(_pkt, /, *, read_addr=0, read_length=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | READ ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | READ LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. READ_MEM
READ_MEM fields read_addr
0
read_length
0
- class scapy.contrib.automotive.bmw.definitions.READ_MEM_PR(_pkt, /, *, data=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.REI_IDENT_REQ(_pkt, /, *, identificationDataTable=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.RRRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROUTINEADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MEMORYTYPEIDENT| +-+-+-+-+-+-+-+-+ Fig. RRRBA_REQ
RRRBA_REQ fields routineAddress
0
memoryTypeIdentifier
0
- class scapy.contrib.automotive.bmw.definitions.RRRBLI_REQ(_pkt, /, *, routineLocalID=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.RSODTC_REQ(_pkt, /, *, groupOfDTC=0)[source]
Bases:
Packet
- aliastypes
- class scapy.contrib.automotive.bmw.definitions.SPRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0, routineExitOption=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROUTINEADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MEMORYTYPEIDENT| ROUTINEEXITOPTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SPRBA_REQ
SPRBA_REQ fields routineAddress
0
memoryTypeIdentifier
0
routineExitOption
0
- class scapy.contrib.automotive.bmw.definitions.SPRBLI_REQ(_pkt, /, *, localIdentifier=0, routineExitOption=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LOCALIDENTIFIER| ROUTINEEXITOPTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SPRBLI_REQ
SPRBLI_REQ fields localIdentifier
0
routineExitOption
b''
- class scapy.contrib.automotive.bmw.definitions.STRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0, routineEntryOption=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROUTINEADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MEMORYTYPEIDENT| ROUTINEENTRYOPTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. STRBA_REQ
STRBA_REQ fields routineAddress
0
memoryTypeIdentifier
0
routineEntryOption
0
- class scapy.contrib.automotive.bmw.definitions.SVK(_pkt, /, *, prog_status1=0, prog_status2=0, entries_count=0, prog_date=0, pad1=0, prog_milage=0, pad2=b'\x00\x00\x00\x00\x00', entries=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROG STATUS1 | PROG STATUS2 | ENTRIES COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROG DATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PAD1 | PROG MILAGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PAD2 | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ENTRIES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SVK
SVK fields prog_status1
0
prog_status2
0
entries_count
0
prog_date
0
pad1
0
prog_milage
0
pad2
b'\x00\x00\x00\x00\x00'
entries
[]
- prog_status_enum = {1: 'signature check and programming-dependencies check passed', 2: 'software entry invalid or programming-dependencies check failed', 3: 'software entry incompatible to hardware entry', 4: 'software entry incompatible with other software entry'}
- class scapy.contrib.automotive.bmw.definitions.SVK_DateField(name: str, default: int | None)[source]
Bases:
LEThreeBytesField
- class scapy.contrib.automotive.bmw.definitions.SVK_Entry(_pkt, /, *, processClass=0, svk_id=b'', mainVersion=0, subVersion=0, patchVersion=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROCESSCLASS | SVK ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MAINVERSION | SUBVERSION | PATCHVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SVK_Entry
SVK_Entry fields processClass
0
svk_id
b''
mainVersion
0
subVersion
0
patchVersion
0
- process_classes = {1: 'HWEL', 2: 'HWAP', 3: 'HWFR', 4: 'GWTB', 5: 'CAFD', 6: 'BTLD', 7: 'FLSL', 8: 'SWFL', 9: 'SWFF', 10: 'SWPF', 11: 'ONPS', 12: 'IBAD', 13: 'SWFK', 15: 'FAFP', 16: 'FCFA', 26: 'TLRT', 27: 'TPRG', 28: 'BLUP', 29: 'FLUP', 160: 'ENTD', 161: 'NAVD', 162: 'FCFN', 192: 'SWUP', 193: 'SWIP'}
HWEL - Hardware (Elektronik) - Hardware (Electronics) HWAP - Hardwareauspraegung - Hardware Configuration HWFR - Hardwarefarbe - Hardware Color CAFD - Codierdaten - Coding Data BTLD - Bootloader - Bootloader SWFL - Software ECU Speicherimage - Software ECU Storage Image SWFF - Flash File Software - Flash File Software SWPF - Pruefsoftware - Testing Software ONPS - Onboard Programmiersystem - Onboard Programming System FAFP - FA2FP - FA2FP TLRT - Temporaere Loeschroutine - Temporary Deletion Routine TPRG - Temporaere Programmierroutine - Temporary Programming Routine FLSL - Flashloader Slave - Flashloader Slave IBAD - Interaktive Betriebsanleitung Daten - Interactive Operating Manual Data FCFA - Freischaltcode Fahrzeug-Auftrag - Vehicle Order Unlock Code BLUP - Bootloader-Update Applikation - Bootloader Update Application FLUP - Flashloader-Update Applikation - Flashloader Update Application SWUP - Software-Update Package - Software Update Package SWIP - Index Software-Update Package - Software Update Package Index ENTD - Entertainment Daten - Entertainment Data NAVD - Navigation Daten - Navigation Data FCFN - Freischaltcode Funktion - Function Unlock Code GWTB - Gateway-Tabelle - Gateway Table SWFK - BEGU: Detaillierung auf SWE-Ebene - BEGU: Detailing at SWE Level
- class scapy.contrib.automotive.bmw.definitions.UDS2S_REQ(_pkt, /, *, DS2ECUAddress=0, DS2requestLength=0, DS2ControlByte=0, DS2requestParameters=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DS2ECUADDRESS |DS2REQUESTLENGT| DS2CONTROLBYTE|DS2REQUESTPARAM| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. UDS2S_REQ
UDS2S_REQ fields DS2ECUAddress
0
DS2requestLength
0
DS2ControlByte
0
DS2requestParameters
0
- class scapy.contrib.automotive.bmw.definitions.WDBLI_REQ(_pkt, /, *, recordLocalIdentifier=0, recordValue=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RECORDLOCALIDEN| RECORDVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. WDBLI_REQ
WDBLI_REQ fields recordLocalIdentifier
0
recordValue
b''
- class scapy.contrib.automotive.bmw.definitions.WEBSERVER(_pkt, /, *, enable=1, password=66051)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENABLE | PASSWORD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. WEBSERVER
WEBSERVER fields enable
1
password
66051