scapy.contrib.automotive.kwp

class scapy.contrib.automotive.kwp.KWP(_pkt, /, *, service=0)[source]

Bases: ISOTP

aliastypes
answers(other: Packet) bool[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    SERVICE    |
+-+-+-+-+-+-+-+-+

                             Fig. KWP                             
KWP fields

service

XByteEnumField

0

hashret() bytes[source]
payload_guess

Possible sublayers: KWP_CDIPR, KWP_CDI, KWP_CDTCSPR, KWP_CDTCS, KWP_DDLIPR, KWP_DDLI, KWP_DNMTPR, KWP_DNMT, KWP_ENMTPR, KWP_ENMT, KWP_ERPR, KWP_ER, KWP_IOCBLIPR, KWP_IOCBLI, KWP_NR, KWP_RDBIPR, KWP_RDBI, KWP_RDBLIPR, KWP_RDBLI, KWP_RDPR, KWP_RD, KWP_RECUIPR, KWP_RECUI, KWP_RMBAPR, KWP_RMBA, KWP_ROEPR, KWP_ROE, KWP_RRRBLIPR, KWP_RRRBLI, KWP_RSODTCPR, KWP_RSODTC, KWP_RTEPR, KWP_RTE, KWP_RUPR, KWP_RU, KWP_SAPR, KWP_SA, KWP_SDSPR, KWP_SDS, KWP_SRBLIPR, KWP_SRBLI, KWP_STRBLIPR, KWP_STRBLI, KWP_TDPR, KWP_TD, KWP_TPPR, KWP_TP, KWP_WDBIPR, KWP_WDBI, KWP_WDBLIPR, KWP_WDBLI, KWP_WMBAPR, KWP_WMBA

services: Dict[int, str] = {16: 'StartDiagnosticSession', 17: 'ECUReset', 20: 'ClearDiagnosticInformation', 23: 'ReadStatusOfDiagnosticTroubleCodes', 24: 'ReadDiagnosticTroubleCodesByStatus', 26: 'ReadECUIdentification', 33: 'ReadDataByLocalIdentifier', 34: 'ReadDataByIdentifier', 35: 'ReadMemoryByAddress', 39: 'SecurityAccess', 40: 'DisableNormalMessageTransmission', 41: 'EnableNormalMessageTransmission', 44: 'DynamicallyDefineLocalIdentifier', 46: 'WriteDataByIdentifier', 48: 'InputOutputControlByLocalIdentifier', 49: 'StartRoutineByLocalIdentifier', 50: 'StopRoutineByLocalIdentifier', 51: 'RequestRoutineResultsByLocalIdentifier', 52: 'RequestDownload', 53: 'RequestUpload', 54: 'TransferData', 55: 'RequestTransferExit', 59: 'WriteDataByLocalIdentifier', 61: 'WriteMemoryByAddress', 62: 'TesterPresent', 80: 'StartDiagnosticSessionPositiveResponse', 81: 'ECUResetPositiveResponse', 84: 'ClearDiagnosticInformationPositiveResponse', 87: 'ReadStatusOfDiagnosticTroubleCodesPositiveResponse', 88: 'ReadDiagnosticTroubleCodesByStatusPositiveResponse', 90: 'ReadECUIdentificationPositiveResponse', 97: 'ReadDataByLocalIdentifierPositiveResponse', 98: 'ReadDataByIdentifierPositiveResponse', 99: 'ReadMemoryByAddressPositiveResponse', 103: 'SecurityAccessPositiveResponse', 104: 'DisableNormalMessageTransmissionPositiveResponse', 105: 'EnableNormalMessageTransmissionPositiveResponse', 108: 'DynamicallyDefineLocalIdentifierPositiveResponse', 110: 'WriteDataByIdentifierPositiveResponse', 112: 'InputOutputControlByLocalIdentifierPositiveResponse', 113: 'StartRoutineByLocalIdentifierPositiveResponse', 114: 'StopRoutineByLocalIdentifierPositiveResponse', 115: 'RequestRoutineResultsByLocalIdentifierPositiveResponse', 116: 'RequestDownloadPositiveResponse', 117: 'RequestUploadPositiveResponse', 118: 'TransferDataPositiveResponse', 119: 'RequestTransferExitPositiveResponse', 123: 'WriteDataByLocalIdentifierPositiveResponse', 125: 'WriteMemoryByAddressPositiveResponse', 126: 'TesterPresentPositiveResponse', 127: 'NegativeResponse', 133: 'ControlDTCSetting', 134: 'ResponseOnEvent', 197: 'ControlDTCSettingPositiveResponse', 198: 'ResponseOnEventPositiveResponse'}
class scapy.contrib.automotive.kwp.KWP_CDI(_pkt, /, *, groupOfDTC=0)[source]

Bases: Packet

DTCGroups = {0: 'allPowertrainDTCs', 16384: 'allChassisDTCs', 32768: 'allBodyDTCs', 49152: 'allNetworkDTCs', 65280: 'allDTCs'}
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. KWP_CDI                           
KWP_CDI fields

groupOfDTC

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_CDIPR(_pkt, /, *, groupOfDTC=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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. KWP_CDIPR                          
KWP_CDIPR fields

groupOfDTC

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_CDTCS(_pkt, /, *, responseRequired=1, groupOfDTC=0, DTCSettingMode=0)[source]

Bases: Packet

DTCGroups = {0: 'allPowertrainDTCs', 16384: 'allChassisDTCs', 32768: 'allBodyDTCs', 49152: 'allNetworkDTCs', 65280: 'allDTCs'}
DTCSettingModes = {0: 'Reserved', 1: 'on', 2: 'off'}
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|           GROUPOFDTC          | DTCSETTINGMODE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_CDTCS                          
KWP_CDTCS fields

responseRequired

ByteEnumField

1

groupOfDTC

XShortEnumField

0

DTCSettingMode

ByteEnumField

0

responseTypes = {1: 'responseRequired', 2: 'noResponse'}
class scapy.contrib.automotive.kwp.KWP_CDTCSPR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
class scapy.contrib.automotive.kwp.KWP_DDLI(_pkt, /, *, dynamicallyDefineLocalIdentifier=0, definitionMode=0, dataRecord=b'')[source]

Bases: Packet

aliastypes
definitionModes = {1: 'defineByLocalIdentifier', 2: 'defineByMemoryAddress', 3: 'defineByIdentifier', 4: 'clearDynamicallyDefinedLocalIdentifier'}
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DYNAMICALLYDEFI| DEFINITIONMODE|   DATARECORD  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_DDLI                           
KWP_DDLI fields

dynamicallyDefineLocalIdentifier

XByteField

0

definitionMode

ByteEnumField

0

dataRecord

StrField

b''

class scapy.contrib.automotive.kwp.KWP_DDLIPR(_pkt, /, *, dynamicallyDefineLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DYNAMICALLYDEFI|
+-+-+-+-+-+-+-+-+

                         Fig. KWP_DDLIPR                          
KWP_DDLIPR fields

dynamicallyDefineLocalIdentifier

XByteField

0

class scapy.contrib.automotive.kwp.KWP_DNMT(_pkt, /, *, responseRequired=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSEREQUIRE|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_DNMT                           
KWP_DNMT fields

responseRequired

ByteEnumField

0

responseTypes = {1: 'responseRequired', 2: 'noResponse'}
class scapy.contrib.automotive.kwp.KWP_DNMTPR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
class scapy.contrib.automotive.kwp.KWP_ENMT(_pkt, /, *, responseRequired=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSEREQUIRE|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_ENMT                           
KWP_ENMT fields

responseRequired

ByteEnumField

1

responseTypes = {1: 'responseRequired', 2: 'noResponse'}
class scapy.contrib.automotive.kwp.KWP_ENMTPR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
class scapy.contrib.automotive.kwp.KWP_ER(_pkt, /, *, resetMode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RESETMODE   |
+-+-+-+-+-+-+-+-+

                           Fig. KWP_ER                            
KWP_ER fields

resetMode

ByteEnumField

0

resetModes = {0: 'reserved', 1: 'powerOnReset', 130: 'nonvolatileMemoryReset'}
class scapy.contrib.automotive.kwp.KWP_ERPR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
class scapy.contrib.automotive.kwp.KWP_IOCBLI(_pkt, /, *, localIdentifier=0, inputOutputControlParameter=0, controlState=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|INPUTOUTPUTCONT|  CONTROLSTATE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. KWP_IOCBLI                          
KWP_IOCBLI fields

localIdentifier

XByteField

0

inputOutputControlParameter

XByteEnumField

0

controlState

StrField

b''

inputOutputControlParameters = {0: 'Return Control to ECU', 1: 'Report Current State', 4: 'Reset to Default', 5: 'Freeze Current State', 7: 'Short Term Adjustment', 8: 'Long Term Adjustment'}
class scapy.contrib.automotive.kwp.KWP_IOCBLIPR(_pkt, /, *, localIdentifier=0, inputOutputControlParameter=0, controlState=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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|INPUTOUTPUTCONT|  CONTROLSTATE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. KWP_IOCBLIPR                         
KWP_IOCBLIPR fields

localIdentifier

XByteField

0

inputOutputControlParameter

XByteEnumField

0

controlState

StrField

b''

class scapy.contrib.automotive.kwp.KWP_NR(_pkt, /, *, requestServiceId=0, negativeResponseCode=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|REQUESTSERVICEI|NEGATIVERESPONS|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. KWP_NR                            
KWP_NR fields

requestServiceId

MayEnd

0

negativeResponseCode

ByteEnumField

0

negativeResponseCodes = {0: 'positiveResponse', 16: 'generalReject', 17: 'serviceNotSupported', 18: 'subFunctionNotSupported-InvalidFormat', 33: 'busyRepeatRequest', 34: 'conditionsNotCorrect-RequestSequenceError', 35: 'routineNotComplete', 49: 'requestOutOfRange', 51: 'securityAccessDenied-SecurityAccessRequested', 53: 'invalidKey', 54: 'exceedNumberOfAttempts', 55: 'requiredTimeDelayNotExpired', 64: 'downloadNotAccepted', 80: 'uploadNotAccepted', 113: 'transferSuspended', 120: 'requestCorrectlyReceived-ResponsePending', 128: 'subFunctionNotSupportedInActiveDiagnosticSession', 154: 'dataDecompressionFailed', 155: 'dataDecryptionFailed', 160: 'EcuNotResponding', 161: 'EcuAddressUnknown'}
class scapy.contrib.automotive.kwp.KWP_RD(_pkt, /, *, memoryAddress=0, compression=0, encryption=0, uncompressedMemorySize=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MEMORYADDRESS                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|COMPRES|ENCRYPT|             UNCOMPRESSEDMEMORYSIZE            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                           Fig. KWP_RD                            
KWP_RD fields

memoryAddress

X3BytesField

0

compression

BitField (4 bits)

0

encryption

BitField (4 bits)

0

uncompressedMemorySize

X3BytesField

0

class scapy.contrib.automotive.kwp.KWP_RDBI(_pkt, /, *, identifier=0)[source]

Bases: Packet

aliastypes
dataIdentifiers = {}
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. KWP_RDBI                           
KWP_RDBI fields

identifier

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_RDBIPR(_pkt, /, *, identifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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. KWP_RDBIPR                          
KWP_RDBIPR fields

identifier

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_RDBLI(_pkt, /, *, recordLocalIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RECORDLOCALIDEN|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RDBLI                          
KWP_RDBLI fields

recordLocalIdentifier

XByteEnumField

0

localIdentifiers = {224: 'Development Data', 225: 'ECU Serial Number', 226: 'DBCom Data', 227: 'Operating System Version', 228: 'Ecu Reprogramming Identification', 229: 'Vehicle Information', 230: 'Flash Info 1', 231: 'Flash Info 2', 232: 'System Diagnostic general parameter data', 233: 'System Diagnostic global parameter data', 234: 'Ecu Configuration', 235: 'Diagnostic Protocol Information'}
class scapy.contrib.automotive.kwp.KWP_RDBLIPR(_pkt, /, *, recordLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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. KWP_RDBLIPR                         
KWP_RDBLIPR fields

recordLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_RDPR(_pkt, /, *, maxNumberOfBlockLength=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MAXNUMBEROFBLOC|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RDPR                           
KWP_RDPR fields

maxNumberOfBlockLength

StrField

b''

class scapy.contrib.automotive.kwp.KWP_RECUI(_pkt, /, *, localIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LOCALIDENTIFIER|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RECUI                          
KWP_RECUI fields

localIdentifier

XByteEnumField

0

localIdentifiers = {134: 'DCS ECU Identification', 135: 'DCX / MMC ECU Identification', 136: 'VIN (Original)', 137: 'Diagnostic Variant Code', 144: 'VIN (Current)', 150: 'Calibration Identification', 151: 'Calibration Verification Number', 152: 'ECU Data Fingerprint', 154: 'ECU Code Fingerprint', 156: 'ECU Code Software Identification', 157: 'ECU Data Software Identification', 158: 'ECU Boot Software Identification', 159: 'ECU Boot Fingerprint'}
class scapy.contrib.automotive.kwp.KWP_RECUIPR(_pkt, /, *, localIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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|
+-+-+-+-+-+-+-+-+

                         Fig. KWP_RECUIPR                         
KWP_RECUIPR fields

localIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_RMBA(_pkt, /, *, memoryAddress=0, memorySize=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MEMORYADDRESS                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   MEMORYSIZE  |
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RMBA                           
KWP_RMBA fields

memoryAddress

X3BytesField

0

memorySize

ByteField

0

class scapy.contrib.automotive.kwp.KWP_RMBAPR(_pkt, /, *, dataRecord=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   DATARECORD  |
+-+-+-+-+-+-+-+-+

                         Fig. KWP_RMBAPR                          
KWP_RMBAPR fields

dataRecord

StrField

b''

class scapy.contrib.automotive.kwp.KWP_ROE(_pkt, /, *, responseRequired=1, eventWindowTime=0, eventType=0, eventParameter=0, serviceToRespond=0, serviceParameter=0)[source]

Bases: Packet

aliastypes
eventTypes = {128: 'reportActivatedEvents', 129: 'stopResponseOnEvent', 130: 'onNewDTC', 131: 'onTimerInterrupt', 132: 'onChangeOfRecordValue', 160: 'onComparisonOfValues'}
eventWindowTimes = {0: 'reserved', 1: 'testerPresentRequired', 2: 'infiniteTimeToResponse', 128: 'noEventWindow'}
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|EVENTWINDOWTIME|   EVENTTYPE   | EVENTPARAMETER|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|SERVICETORESPON|SERVICEPARAMETE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. KWP_ROE                           
KWP_ROE fields

responseRequired

ByteEnumField

1

eventWindowTime

ByteEnumField

0

eventType

MayEnd

0

eventParameter

ByteField

0

serviceToRespond

ByteEnumField

0

serviceParameter

ByteField

0

responseTypes = {1: 'responseRequired', 2: 'noResponse'}
class scapy.contrib.automotive.kwp.KWP_ROEPR(_pkt, /, *, numberOfActivatedEvents=0, eventWindowTime=0, eventType=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NUMBEROFACTIVAT|EVENTWINDOWTIME|   EVENTTYPE   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_ROEPR                          
KWP_ROEPR fields

numberOfActivatedEvents

ByteField

0

eventWindowTime

MayEnd

0

eventType

ByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_RRRBLI(_pkt, /, *, routineLocalIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                         Fig. KWP_RRRBLI                          
KWP_RRRBLI fields

routineLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_RRRBLIPR(_pkt, /, *, routineLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                        Fig. KWP_RRRBLIPR                         
KWP_RRRBLIPR fields

routineLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_RSODTC(_pkt, /, *, 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           GROUPOFDTC          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. KWP_RSODTC                          
KWP_RSODTC fields

groupOfDTC

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_RSODTCPR(_pkt, /, *, numberOfDTC=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NUMBEROFDTC  |
+-+-+-+-+-+-+-+-+

                        Fig. KWP_RSODTCPR                         
KWP_RSODTCPR fields

numberOfDTC

ByteField

0

class scapy.contrib.automotive.kwp.KWP_RTE(_pkt, /, *, transferDataRequestParameter=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TRANSFERDATAREQ|
+-+-+-+-+-+-+-+-+

                           Fig. KWP_RTE                           
KWP_RTE fields

transferDataRequestParameter

StrField

b''

class scapy.contrib.automotive.kwp.KWP_RTEPR(_pkt, /, *, transferDataRequestParameter=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TRANSFERDATAREQ|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RTEPR                          
KWP_RTEPR fields

transferDataRequestParameter

StrField

b''

class scapy.contrib.automotive.kwp.KWP_RU(_pkt, /, *, memoryAddress=0, compression=0, encryption=0, uncompressedMemorySize=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MEMORYADDRESS                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|COMPRES|ENCRYPT|             UNCOMPRESSEDMEMORYSIZE            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                           Fig. KWP_RU                            
KWP_RU fields

memoryAddress

X3BytesField

0

compression

BitField (4 bits)

0

encryption

BitField (4 bits)

0

uncompressedMemorySize

X3BytesField

0

class scapy.contrib.automotive.kwp.KWP_RUPR(_pkt, /, *, maxNumberOfBlockLength=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MAXNUMBEROFBLOC|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_RUPR                           
KWP_RUPR fields

maxNumberOfBlockLength

StrField

b''

class scapy.contrib.automotive.kwp.KWP_SA(_pkt, /, *, accessMode=0, key=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ACCESSMODE  |              KEY              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. KWP_SA                            
KWP_SA fields

accessMode

ByteField

0

key

StrField (Cond)

b''

class scapy.contrib.automotive.kwp.KWP_SAPR(_pkt, /, *, accessMode=0, seed=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ACCESSMODE  |              SEED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_SAPR                           
KWP_SAPR fields

accessMode

ByteField

0

seed

StrField (Cond)

b''

class scapy.contrib.automotive.kwp.KWP_SDS(_pkt, /, *, diagnosticSession=0)[source]

Bases: Packet

aliastypes
diagnosticSessionTypes = {129: 'defaultSession', 133: 'programmingSession', 137: 'standBySession', 144: 'EcuPassiveSession', 146: 'extendedDiagnosticSession'}
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DIAGNOSTICSESSI|
+-+-+-+-+-+-+-+-+

                           Fig. KWP_SDS                           
KWP_SDS fields

diagnosticSession

ByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_SDSPR(_pkt, /, *, diagnosticSession=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DIAGNOSTICSESSI|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_SDSPR                          
KWP_SDSPR fields

diagnosticSession

ByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_SRBLI(_pkt, /, *, routineLocalIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_SRBLI                          
KWP_SRBLI fields

routineLocalIdentifier

XByteEnumField

0

routineLocalIdentifiers = {224: 'FlashEraseRoutine', 225: 'FlashCheckRoutine', 226: 'Tell-TaleRetentionStack', 227: 'RequestDTCsFromShadowErrorMemory', 228: 'RequestEnvironmentDataFromShadowErrorMemory', 229: 'RequestEventInformation', 230: 'RequestEventEnvironmentData', 231: 'RequestSoftwareModuleInformation', 232: 'ClearTell-TaleRetentionStack', 233: 'ClearEventInformation'}
class scapy.contrib.automotive.kwp.KWP_SRBLIPR(_pkt, /, *, routineLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                         Fig. KWP_SRBLIPR                         
KWP_SRBLIPR fields

routineLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_STRBLI(_pkt, /, *, routineLocalIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                         Fig. KWP_STRBLI                          
KWP_STRBLI fields

routineLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_STRBLIPR(_pkt, /, *, routineLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ROUTINELOCALIDE|
+-+-+-+-+-+-+-+-+

                        Fig. KWP_STRBLIPR                         
KWP_STRBLIPR fields

routineLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_TD(_pkt, /, *, blockSequenceCounter=0, transferDataRequestParameter=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|BLOCKSEQUENCECO|TRANSFERDATAREQ|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. KWP_TD                            
KWP_TD fields

blockSequenceCounter

ByteField

0

transferDataRequestParameter

StrField

b''

class scapy.contrib.automotive.kwp.KWP_TDPR(_pkt, /, *, blockSequenceCounter=0, transferDataRequestParameter=b'')[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|BLOCKSEQUENCECO|TRANSFERDATAREQ|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_TDPR                           
KWP_TDPR fields

blockSequenceCounter

ByteField

0

transferDataRequestParameter

StrField

b''

class scapy.contrib.automotive.kwp.KWP_TP(_pkt, /, *, responseRequired=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSEREQUIRE|
+-+-+-+-+-+-+-+-+

                           Fig. KWP_TP                            
KWP_TP fields

responseRequired

ByteEnumField

1

responseTypes = {1: 'responseRequired', 2: 'noResponse'}
class scapy.contrib.automotive.kwp.KWP_TPPR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
class scapy.contrib.automotive.kwp.KWP_TesterPresentSender(sock: ~typing.Any, pkt: ~typing.List[~scapy.packet.Packet] | ~scapy.packet.Packet | ~scapy.base_classes.SetGen[~scapy.packet.Packet] | ~scapy.plist._PacketList[~scapy.packet.Packet] = <KWP  service=TesterPresent |<KWP_TP  responseRequired=noResponse |>>, interval: float = 2)[source]

Bases: PeriodicSenderThread

run() None[source]
class scapy.contrib.automotive.kwp.KWP_WDBI(_pkt, /, *, identifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           IDENTIFIER          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_WDBI                           
KWP_WDBI fields

identifier

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_WDBIPR(_pkt, /, *, identifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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. KWP_WDBIPR                          
KWP_WDBIPR fields

identifier

XShortEnumField

0

class scapy.contrib.automotive.kwp.KWP_WDBLI(_pkt, /, *, recordLocalIdentifier=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RECORDLOCALIDEN|
+-+-+-+-+-+-+-+-+

                          Fig. KWP_WDBLI                          
KWP_WDBLI fields

recordLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_WDBLIPR(_pkt, /, *, recordLocalIdentifier=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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. KWP_WDBLIPR                         
KWP_WDBLIPR fields

recordLocalIdentifier

XByteEnumField

0

class scapy.contrib.automotive.kwp.KWP_WMBA(_pkt, /, *, memoryAddress=0, memorySize=0, dataRecord=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MEMORYADDRESS                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   MEMORYSIZE  |   DATARECORD  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. KWP_WMBA                           
KWP_WMBA fields

memoryAddress

X3BytesField

0

memorySize

ByteField

0

dataRecord

StrField

b''

class scapy.contrib.automotive.kwp.KWP_WMBAPR(_pkt, /, *, memoryAddress=0)[source]

Bases: Packet

aliastypes
answers(other: Packet) int[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MEMORYADDRESS                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. KWP_WMBAPR                          
KWP_WMBAPR fields

memoryAddress

X3BytesField

0