scapy.contrib.automotive.uds

class scapy.contrib.automotive.uds.UDS(*args, **kwargs)

Bases: scapy.contrib.isotp.ISOTP

aliastypes
answers(other)
fields_desc
UDS fields

service

XByteEnumField

0

hashret()
payload_guess

Possible sublayers: UDS_ATPPR, UDS_ATP, UDS_CCPR, UDS_CC, UDS_CDTCIPR, UDS_CDTCI, UDS_CDTCSPR, UDS_CDTCS, UDS_DDDIPR, UDS_DDDI, UDS_DSCPR, UDS_DSC, UDS_ERPR, UDS_ER, UDS_IOCBIPR, UDS_IOCBI, UDS_LCPR, UDS_LC, UDS_NR, UDS_RCPR, UDS_RC, UDS_RDBIPR, UDS_RDBI, UDS_RDBPIPR, UDS_RDBPI, UDS_RDPR, UDS_RDTCIPR, UDS_RDTCI, UDS_RD, UDS_RMBAPR, UDS_RMBA, UDS_ROEPR, UDS_ROE, UDS_RSDBIPR, UDS_RSDBI, UDS_RTEPR, UDS_RTE, UDS_RUPR, UDS_RU, UDS_SAPR, UDS_SA, UDS_SDTPR, UDS_SDT, UDS_TDPR, UDS_TD, UDS_TPPR, UDS_TP, UDS_WDBIPR, UDS_WDBI, UDS_WMBAPR, UDS_WMBA

services = {16: 'DiagnosticSessionControl', 17: 'ECUReset', 20: 'ClearDiagnosticInformation', 25: 'ReadDTCInformation', 34: 'ReadDataByIdentifier', 35: 'ReadMemoryByAddress', 36: 'ReadScalingDataByIdentifier', 39: 'SecurityAccess', 40: 'CommunicationControl', 42: 'ReadDataPeriodicIdentifier', 44: 'DynamicallyDefineDataIdentifier', 46: 'WriteDataByIdentifier', 47: 'InputOutputControlByIdentifier', 49: 'RoutineControl', 52: 'RequestDownload', 53: 'RequestUpload', 54: 'TransferData', 55: 'RequestTransferExit', 61: 'WriteMemoryByAddress', 62: 'TesterPresent', 80: 'DiagnosticSessionControlPositiveResponse', 81: 'ECUResetPositiveResponse', 84: 'ClearDiagnosticInformationPositiveResponse', 89: 'ReadDTCInformationPositiveResponse', 98: 'ReadDataByIdentifierPositiveResponse', 99: 'ReadMemoryByAddressPositiveResponse', 100: 'ReadScalingDataByIdentifierPositiveResponse', 103: 'SecurityAccessPositiveResponse', 104: 'CommunicationControlPositiveResponse', 106: 'ReadDataPeriodicIdentifierPositiveResponse', 108: 'DynamicallyDefineDataIdentifierPositiveResponse', 110: 'WriteDataByIdentifierPositiveResponse', 111: 'InputOutputControlByIdentifierPositiveResponse', 113: 'RoutineControlPositiveResponse', 116: 'RequestDownloadPositiveResponse', 117: 'RequestUploadPositiveResponse', 118: 'TransferDataPositiveResponse', 119: 'RequestTransferExitPositiveResponse', 125: 'WriteMemoryByAddressPositiveResponse', 126: 'TesterPresentPositiveResponse', 127: 'NegativeResponse', 131: 'AccessTimingParameter', 132: 'SecuredDataTransmission', 133: 'ControlDTCSetting', 134: 'ResponseOnEvent', 135: 'LinkControl', 195: 'AccessTimingParameterPositiveResponse', 196: 'SecuredDataTransmissionPositiveResponse', 197: 'ControlDTCSettingPositiveResponse', 198: 'ResponseOnEventPositiveResponse', 199: 'LinkControlPositiveResponse'}
class scapy.contrib.automotive.uds.UDS_ATP

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_ATP fields

timingParameterAccessType

ByteEnumField

0

timingParameterRequestRecord

StrField (Cond)

b''

timingParameterAccessTypes = {0: 'ISOSAEReserved', 1: 'readExtendedTimingParameterSet', 2: 'setTimingParametersToDefaultValues', 3: 'readCurrentlyActiveTimingParameters', 4: 'setTimingParametersToGivenValues'}
class scapy.contrib.automotive.uds.UDS_ATPPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_ATPPR fields

timingParameterAccessType

ByteEnumField

0

timingParameterResponseRecord

StrField (Cond)

b''

class scapy.contrib.automotive.uds.UDS_CC

Bases: scapy.packet.Packet

aliastypes
controlTypes = {0: 'enableRxAndTx', 1: 'enableRxAndDisableTx', 2: 'disableRxAndEnableTx', 3: 'disableRxAndTx'}
fields_desc
UDS_CC fields

controlType

ByteEnumField

0

communicationType0

BitEnumField (2 bits)

0

communicationType1

BitField (2 bits)

0

communicationType2

BitEnumField (4 bits)

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_CCPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_CCPR fields

controlType

ByteEnumField

0

static get_log(pkt)
static modifies_ecu_state(pkt, ecu)
class scapy.contrib.automotive.uds.UDS_CDTCI

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_CDTCI fields

groupOfDTCHighByte

ByteField

0

groupOfDTCMiddleByte

ByteField

0

groupOfDTCLowByte

ByteField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_CDTCIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_CDTCS

Bases: scapy.packet.Packet

DTCSettingTypes = {0: 'ISOSAEReserved', 1: 'on', 2: 'off'}
aliastypes
fields_desc
UDS_CDTCS fields

DTCSettingType

ByteEnumField

0

DTCSettingControlOptionRecord

StrField

b''

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_CDTCSPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_CDTCSPR fields

DTCSettingType

ByteEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_DDDI

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_DDDI fields

subFunction

ByteEnumField

0

dataRecord

StrField

0

subFunctions = {1: 'defineByIdentifier', 2: 'defineByMemoryAddress', 3: 'clearDynamicallyDefinedDataIdentifier'}
class scapy.contrib.automotive.uds.UDS_DDDIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_DDDIPR fields

subFunction

ByteEnumField

0

dynamicallyDefinedDataIdentifier

XShortField

0

class scapy.contrib.automotive.uds.UDS_DSC

Bases: scapy.packet.Packet

aliastypes
diagnosticSessionTypes = {0: 'ISOSAEReserved', 1: 'defaultSession', 2: 'programmingSession', 3: 'extendedDiagnosticSession', 4: 'safetySystemDiagnosticSession', 127: 'ISOSAEReserved'}
fields_desc
UDS_DSC fields

diagnosticSessionType

ByteEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_DSCPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_DSCPR fields

diagnosticSessionType

ByteEnumField

0

sessionParameterRecord

StrField

b''

static get_log(pkt)
static modifies_ecu_state(pkt, ecu)
class scapy.contrib.automotive.uds.UDS_ER

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_ER fields

resetType

ByteEnumField

0

static get_log(pkt)
resetTypes = {0: 'ISOSAEReserved', 1: 'hardReset', 2: 'keyOffOnReset', 3: 'softReset', 4: 'enableRapidPowerShutDown', 5: 'disableRapidPowerShutDown', 127: 'ISOSAEReserved'}
class scapy.contrib.automotive.uds.UDS_ERPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_ERPR fields

resetType

ByteEnumField

0

powerDownTime

ByteField (Cond)

0

static get_log(pkt)
static modifies_ecu_state(_, ecu)
class scapy.contrib.automotive.uds.UDS_IOCBI

Bases: scapy.packet.Packet

aliastypes
dataIdentifiers = {}
fields_desc
UDS_IOCBI fields

dataIdentifier

XShortEnumField

0

controlOptionRecord

ByteField

0

controlEnableMaskRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_IOCBIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_IOCBIPR fields

dataIdentifier

XShortField

0

controlStatusRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_LC

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_LC fields

linkControlType

ByteEnumField

0

baudrateIdentifier

ByteField (Cond)

0

baudrateHighByte

ByteField (Cond)

0

baudrateMiddleByte

ByteField (Cond)

0

baudrateLowByte

ByteField (Cond)

0

static get_log(pkt)
linkControlTypes = {0: 'ISOSAEReserved', 1: 'verifyBaudrateTransitionWithFixedBaudrate', 2: 'verifyBaudrateTransitionWithSpecificBaudrate', 3: 'transitionBaudrate'}
class scapy.contrib.automotive.uds.UDS_LCPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_LCPR fields

linkControlType

ByteEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_NR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_NR fields

requestServiceId

XByteEnumField

0

negativeResponseCode

ByteEnumField

0

static get_log(pkt)
negativeResponseCodes = {0: 'positiveResponse', 16: 'generalReject', 17: 'serviceNotSupported', 18: 'subFunctionNotSupported', 19: 'incorrectMessageLengthOrInvalidFormat', 20: 'responseTooLong', 32: 'ISOSAEReserved', 33: 'busyRepeatRequest', 34: 'conditionsNotCorrect', 35: 'ISOSAEReserved', 36: 'requestSequenceError', 37: 'noResponseFromSubnetComponent', 38: 'failurePreventsExecutionOfRequestedAction', 49: 'requestOutOfRange', 51: 'securityAccessDenied', 53: 'invalidKey', 54: 'exceedNumberOfAttempts', 55: 'requiredTimeDelayNotExpired', 112: 'uploadDownloadNotAccepted', 113: 'transferDataSuspended', 114: 'generalProgrammingFailure', 115: 'wrongBlockSequenceCounter', 120: 'requestCorrectlyReceived-ResponsePending', 126: 'subFunctionNotSupportedInActiveSession', 127: 'serviceNotSupportedInActiveSession', 128: 'ISOSAEReserved', 129: 'rpmTooHigh', 130: 'rpmTooLow', 131: 'engineIsRunning', 132: 'engineIsNotRunning', 133: 'engineRunTimeTooLow', 134: 'temperatureTooHigh', 135: 'temperatureTooLow', 136: 'vehicleSpeedTooHigh', 137: 'vehicleSpeedTooLow', 138: 'throttle/PedalTooHigh', 139: 'throttle/PedalTooLow', 140: 'transmissionRangeNotInNeutral', 141: 'transmissionRangeNotInGear', 142: 'ISOSAEReserved', 143: 'brakeSwitch(es)NotClosed', 144: 'shifterLeverNotInPark', 145: 'torqueConverterClutchLocked', 146: 'voltageTooHigh', 147: 'voltageTooLow'}
class scapy.contrib.automotive.uds.UDS_RC

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RC fields

routineControlType

ByteEnumField

0

routineIdentifier

XShortEnumField

0

routineControlOptionRecord

StrField

0

static get_log(pkt)
routineControlIdentifiers = {}
routineControlTypes = {0: 'ISOSAEReserved', 1: 'startRoutine', 2: 'stopRoutine', 3: 'requestRoutineResults'}
class scapy.contrib.automotive.uds.UDS_RCPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RCPR fields

routineControlType

ByteEnumField

0

routineIdentifier

XShortEnumField

0

routineStatusRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RD

Bases: scapy.packet.Packet

aliastypes
dataFormatIdentifiers = {0: 'noCompressionNoEncryption'}
fields_desc
UDS_RD fields

dataFormatIdentifier

ByteEnumField

0

memorySizeLen

BitField (4 bits)

0

memoryAddressLen

BitField (4 bits)

0

memoryAddress1

XByteField (Cond)

0

memoryAddress2

XShortField (Cond)

0

memoryAddress3

X3BytesField (Cond)

0

memoryAddress4

XIntField (Cond)

0

memorySize1

XByteField (Cond)

0

memorySize2

XShortField (Cond)

0

memorySize3

X3BytesField (Cond)

0

memorySize4

XIntField (Cond)

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RDBI

Bases: scapy.packet.Packet

aliastypes
dataIdentifiers = {}
fields_desc
UDS_RDBI fields

identifiers

FieldListField

[0]

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RDBIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RDBIPR fields

dataIdentifier

XShortEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RDBPI

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RDBPI fields

transmissionMode

ByteEnumField

0

periodicDataIdentifier

ByteField

0

furtherPeriodicDataIdentifier

StrField

0

transmissionModes = {0: 'ISOSAEReserved', 1: 'sendAtSlowRate', 2: 'sendAtMediumRate', 3: 'sendAtFastRate', 4: 'stopSending'}
class scapy.contrib.automotive.uds.UDS_RDBPIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RDBPIPR fields

periodicDataIdentifier

ByteField

0

dataRecord

StrField

None

class scapy.contrib.automotive.uds.UDS_RDPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RDPR fields

memorySizeLen

BitField (4 bits)

0

reserved

BitField (4 bits)

0

maxNumberOfBlockLength

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RDTCI

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RDTCI fields

reportType

ByteEnumField

0

DTCStatusMask

XByteField (Cond)

0

DTCHighByte

ByteField (Cond)

0

DTCMiddleByte

ByteField (Cond)

0

DTCLowByte

ByteField (Cond)

0

DTCSnapshotRecordNumber

ByteField (Cond)

0

DTCExtendedDataRecordNumber

ByteField (Cond)

0

DTCSeverityMask

ByteField (Cond)

0

DTCStatusMask

ByteField (Cond)

0

static get_log(pkt)
reportTypes = {0: 'ISOSAEReserved', 1: 'reportNumberOfDTCByStatusMask', 2: 'reportDTCByStatusMask', 3: 'reportDTCSnapshotIdentification', 4: 'reportDTCSnapshotRecordByDTCNumber', 5: 'reportDTCSnapshotRecordByRecordNumber', 6: 'reportDTCExtendedDataRecordByDTCNumber', 7: 'reportNumberOfDTCBySeverityMaskRecord', 8: 'reportDTCBySeverityMaskRecord', 9: 'reportSeverityInformationOfDTC', 10: 'reportSupportedDTC', 11: 'reportFirstTestFailedDTC', 12: 'reportFirstConfirmedDTC', 13: 'reportMostRecentTestFailedDTC', 14: 'reportMostRecentConfirmedDTC', 15: 'reportMirrorMemoryDTCByStatusMask', 16: 'reportMirrorMemoryDTCExtendedDataRecordByDTCNumber', 17: 'reportNumberOfMirrorMemoryDTCByStatusMask', 18: 'reportNumberOfEmissionsRelatedOBDDTCByStatusMask', 19: 'reportEmissionsRelatedOBDDTCByStatusMask', 20: 'reportDTCFaultDetectionCounter', 21: 'reportDTCWithPermanentStatus'}
class scapy.contrib.automotive.uds.UDS_RDTCIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RDTCIPR fields

reportType

ByteEnumField

0

DTCStatusAvailabilityMask

XByteField (Cond)

0

DTCFormatIdentifier

ByteEnumField (Cond)

0

DTCCount

ShortField (Cond)

0

DTCAndStatusRecord

StrField (Cond)

0

dataRecord

StrField (Cond)

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RMBA

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RMBA fields

memorySizeLen

BitField (4 bits)

0

memoryAddressLen

BitField (4 bits)

0

memoryAddress1

XByteField (Cond)

0

memoryAddress2

XShortField (Cond)

0

memoryAddress3

X3BytesField (Cond)

0

memoryAddress4

XIntField (Cond)

0

memorySize1

XByteField (Cond)

0

memorySize2

XShortField (Cond)

0

memorySize3

X3BytesField (Cond)

0

memorySize4

XIntField (Cond)

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RMBAPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RMBAPR fields

dataRecord

StrField

None

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_ROE

Bases: scapy.packet.Packet

aliastypes
eventTypes = {0: 'doNotStoreEvent', 1: 'storeEvent'}
fields_desc
UDS_ROE fields

eventType

ByteEnumField

0

eventWindowTime

ByteField

0

eventTypeRecord

StrField

b''

class scapy.contrib.automotive.uds.UDS_ROEPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_ROEPR fields

eventType

ByteEnumField

0

numberOfIdentifiedEvents

ByteField

0

eventWindowTime

ByteField

0

eventTypeRecord

StrField

b''

class scapy.contrib.automotive.uds.UDS_RSDBI

Bases: scapy.packet.Packet

aliastypes
dataIdentifiers = {}
fields_desc
UDS_RSDBI fields

dataIdentifier

XShortEnumField

0

class scapy.contrib.automotive.uds.UDS_RSDBIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RSDBIPR fields

dataIdentifier

XShortEnumField

0

scalingByte

ByteField

0

dataRecord

StrField

None

class scapy.contrib.automotive.uds.UDS_RTE

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RTE fields

transferRequestParameterRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RTEPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RTEPR fields

transferResponseParameterRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RU

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_RU fields

dataFormatIdentifier

ByteEnumField

0

memorySizeLen

BitField (4 bits)

0

memoryAddressLen

BitField (4 bits)

0

memoryAddress1

XByteField (Cond)

0

memoryAddress2

XShortField (Cond)

0

memoryAddress3

X3BytesField (Cond)

0

memoryAddress4

XIntField (Cond)

0

memorySize1

XByteField (Cond)

0

memorySize2

XShortField (Cond)

0

memorySize3

X3BytesField (Cond)

0

memorySize4

XIntField (Cond)

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_RUPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_RUPR fields

memorySizeLen

BitField (4 bits)

0

reserved

BitField (4 bits)

0

maxNumberOfBlockLength

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_SA

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_SA fields

securityAccessType

ByteField

0

securityAccessDataRecord

StrField (Cond)

b''

securityKey

StrField (Cond)

b''

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_SAPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_SAPR fields

securityAccessType

ByteField

0

securitySeed

StrField (Cond)

b''

static get_log(pkt)
static modifies_ecu_state(pkt, ecu)
class scapy.contrib.automotive.uds.UDS_SDT

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_SDT fields

securityDataRequestRecord

StrField

b''

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_SDTPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_SDTPR fields

securityDataResponseRecord

StrField

b''

static get_log(pkt)
scapy.contrib.automotive.uds.UDS_ServiceEnumerator(sock, session='DefaultSession', filter_responses=True)
Enumerates every service ID

and returns list of tuples. Each tuple contains the session and the respective positive response

Parameters
  • sock – socket where packet is sent periodically

  • session – session in which the services are enumerated

scapy.contrib.automotive.uds.UDS_SessionEnumerator(sock, session_range=range(0, 256), reset_wait=1.5)
Enumerates session ID’s in given range

and returns list of UDS()/UDS_DSC() packets with valid session types

Parameters
  • sock – socket where packets are sent

  • session_range – range for session ID’s

  • reset_wait – wait time in sec after every packet

class scapy.contrib.automotive.uds.UDS_TD

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_TD fields

blockSequenceCounter

ByteField

0

transferRequestParameterRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_TDPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_TDPR fields

blockSequenceCounter

ByteField

0

transferResponseParameterRecord

StrField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_TP

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_TP fields

subFunction

ByteField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_TPPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_TPPR fields

zeroSubFunction

ByteField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_TesterPresentSender(sock, pkt=<UDS service=TesterPresent |<UDS_TP |>>, interval=2)

Bases: scapy.utils.PeriodicSenderThread

class scapy.contrib.automotive.uds.UDS_WDBI

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_WDBI fields

dataIdentifier

XShortEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_WDBIPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_WDBIPR fields

dataIdentifier

XShortEnumField

0

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_WMBA

Bases: scapy.packet.Packet

aliastypes
fields_desc
UDS_WMBA fields

memorySizeLen

BitField (4 bits)

0

memoryAddressLen

BitField (4 bits)

0

memoryAddress1

XByteField (Cond)

0

memoryAddress2

XShortField (Cond)

0

memoryAddress3

X3BytesField (Cond)

0

memoryAddress4

XIntField (Cond)

0

memorySize1

XByteField (Cond)

0

memorySize2

XShortField (Cond)

0

memorySize3

X3BytesField (Cond)

0

memorySize4

XIntField (Cond)

0

dataRecord

StrField

b'\x00'

static get_log(pkt)
class scapy.contrib.automotive.uds.UDS_WMBAPR

Bases: scapy.packet.Packet

aliastypes
answers(other)
fields_desc
UDS_WMBAPR fields

memorySizeLen

BitField (4 bits)

0

memoryAddressLen

BitField (4 bits)

0

memoryAddress1

XByteField (Cond)

0

memoryAddress2

XShortField (Cond)

0

memoryAddress3

X3BytesField (Cond)

0

memoryAddress4

XIntField (Cond)

0

memorySize1

XByteField (Cond)

0

memorySize2

XShortField (Cond)

0

memorySize3

X3BytesField (Cond)

0

memorySize4

XIntField (Cond)

0

static get_log(pkt)
scapy.contrib.automotive.uds.getTableEntry(tup)
Helping function for make_lined_table.

Returns the session and response code of tup.

Parameters

tup – tuple with session and UDS response package

Example

make_lined_table([(‘DefaultSession’, UDS()/UDS_SAPR(),

‘ExtendedDiagnosticSession’, UDS()/UDS_IOCBI())], getTableEntry)