scapy.contrib.automotive.bmw.definitions

class scapy.contrib.automotive.bmw.definitions.DEV_JOB(_pkt, /, *, identifier=65535)[源代码]

基类: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

ShortEnumField

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'}
payload_guess

Possible sublayers: READ_MEM, WEBSERVER

class scapy.contrib.automotive.bmw.definitions.DEV_JOB_PR(_pkt, /, *, identifier=65535)[源代码]

基类:Packet

aliastypes
answers(other)[源代码]
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

ShortEnumField

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'')[源代码]

基类: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

ByteField

0

DIAG_SESSION_TEXT

StrField

b''

class scapy.contrib.automotive.bmw.definitions.ENMT_REQ(_pkt, /, *, responseRequired=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSEREQUIRE|
+-+-+-+-+-+-+-+-+

                          Fig. ENMT_REQ                           
ENMT_REQ fields

responseRequired

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.IOCBLI_REQ(_pkt, /, *, inputOutputLocalIdentifier=1, inputOutputControlParameter=0)[源代码]

基类: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

ByteField

1

inputOutputControlParameter

ByteEnumField

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')[源代码]

基类: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

ByteField

0

IP

IPField

'192.168.0.10'

SUBNETMASK

IPField

'255.255.255.0'

DEFAULT_GATEWAY

IPField

'192.168.0.1'

class scapy.contrib.automotive.bmw.definitions.RDBLI_REQ(_pkt, /, *, recordLocalIdentifier=0)[源代码]

基类: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|
+-+-+-+-+-+-+-+-+

                          Fig. RDBLI_REQ                          
RDBLI_REQ fields

recordLocalIdentifier

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RDS2TCM_REQ(_pkt, /, *, DS2faultNumber=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DS2FAULTNUMBER|
+-+-+-+-+-+-+-+-+

                         Fig. RDS2TCM_REQ                         
RDS2TCM_REQ fields

DS2faultNumber

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RDTCBS_REQ(_pkt, /, *, statusOfDTC=0, groupOfDTC=0)[源代码]

基类: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

ByteEnumField

0

groupOfDTC

ShortField

0

class scapy.contrib.automotive.bmw.definitions.READ_MEM(_pkt, /, *, read_addr=0, read_length=0)[源代码]

基类: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

IntField

0

read_length

IntField

0

class scapy.contrib.automotive.bmw.definitions.READ_MEM_PR(_pkt, /, *, data=b'')[源代码]

基类: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             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. READ_MEM_PR                         
READ_MEM_PR fields

data

StrField

b''

class scapy.contrib.automotive.bmw.definitions.REI_IDENT_REQ(_pkt, /, *, identificationDataTable=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IDENTIFICATIOND|
+-+-+-+-+-+-+-+-+

                        Fig. REI_IDENT_REQ                        
REI_IDENT_REQ fields

identificationDataTable

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.RRRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0)[源代码]

基类: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

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

class scapy.contrib.automotive.bmw.definitions.RRRBLI_REQ(_pkt, /, *, routineLocalID=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ROUTINELOCALID|
+-+-+-+-+-+-+-+-+

                         Fig. RRRBLI_REQ                          
RRRBLI_REQ fields

routineLocalID

ByteField

0

class scapy.contrib.automotive.bmw.definitions.RSODTC_REQ(_pkt, /, *, groupOfDTC=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           GROUPOFDTC          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. RSODTC_REQ                          
RSODTC_REQ fields

groupOfDTC

ShortField

0

class scapy.contrib.automotive.bmw.definitions.SPRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0, routineExitOption=0)[源代码]

基类: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

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

routineExitOption

StrField

0

class scapy.contrib.automotive.bmw.definitions.SPRBLI_REQ(_pkt, /, *, localIdentifier=0, routineExitOption=b'')[源代码]

基类: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

ByteEnumField

0

routineExitOption

StrField

b''

class scapy.contrib.automotive.bmw.definitions.STRBA_REQ(_pkt, /, *, routineAddress=0, memoryTypeIdentifier=0, routineEntryOption=0)[源代码]

基类: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

X3BytesField

0

memoryTypeIdentifier

ByteEnumField

0

routineEntryOption

StrField

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=[])[源代码]

基类: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

ByteEnumField

0

prog_status2

ByteEnumField

0

entries_count

ShortField

0

prog_date

SVK_DateField

0

pad1

ByteField

0

prog_milage

LEIntField

0

pad2

StrFixedLenField

b'\x00\x00\x00\x00\x00'

entries

PacketListField

[]

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)[源代码]

基类:LEThreeBytesField

i2repr(pkt, x)[源代码]
class scapy.contrib.automotive.bmw.definitions.SVK_Entry(_pkt, /, *, processClass=0, svk_id=b'', mainVersion=0, subVersion=0, patchVersion=0)[源代码]

基类:Packet

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  PROCESSCLASS |                     SVK ID                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |  MAINVERSION  |   SUBVERSION  |  PATCHVERSION |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. SVK_Entry                          
SVK_Entry fields

processClass

ByteEnumField

0

svk_id

XStrFixedLenField

b''

mainVersion

ByteField

0

subVersion

ByteField

0

patchVersion

ByteField

0

class scapy.contrib.automotive.bmw.definitions.UDS2S_REQ(_pkt, /, *, DS2ECUAddress=0, DS2requestLength=0, DS2ControlByte=0, DS2requestParameters=0)[源代码]

基类: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

ByteField

0

DS2requestLength

ByteField

0

DS2ControlByte

ByteField

0

DS2requestParameters

StrField

0

class scapy.contrib.automotive.bmw.definitions.WDBLI_REQ(_pkt, /, *, recordLocalIdentifier=0, recordValue=b'')[源代码]

基类: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

ByteEnumField

0

recordValue

StrField

b''

class scapy.contrib.automotive.bmw.definitions.WEBSERVER(_pkt, /, *, enable=1, password=66051)[源代码]

基类: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

ByteField

1

password

ThreeBytesField

66051