scapy.contrib.automotive.obd.services

class scapy.contrib.automotive.obd.services.OBD_DTC(_pkt, /, *, location=0, code1=0, code2=0, code3=0, code4=0)[source]

Bases: OBD_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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LOC|COD| CODE2 | CODE3 | CODE4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_DTC                           
OBD_DTC fields

location

BitEnumField

0

code1

XBitField (2 bits)

0

code2

XBitField (4 bits)

0

code3

XBitField (4 bits)

0

code4

XBitField (4 bits)

0

locations = {0: 'Powertrain', 1: 'Chassis', 2: 'Body', 3: 'Network'}
class scapy.contrib.automotive.obd.services.OBD_NR(_pkt, /, *, request_service_id=0, response_code=0)[source]

Bases: Packet

aliastypes
answers(other)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|REQUEST SERVICE| RESPONSE CODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_NR                            
OBD_NR fields

request_service_id

XByteField

0

response_code

XByteEnumField

0

responses = {16: 'generalReject', 17: 'serviceNotSupported', 18: 'subFunctionNotSupported-InvalidFormat', 33: 'busy-RepeatRequest', 34: 'conditionsNotCorrectOrRequestSequenceError', 120: 'requestCorrectlyReceived-ResponsePending'}
class scapy.contrib.automotive.obd.services.OBD_S01(_pkt, /, *, pid=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              PID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_S01                           
OBD_S01 fields

pid

FieldListField

[]

class scapy.contrib.automotive.obd.services.OBD_S02(_pkt, /, *, requests=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            REQUESTS           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_S02                           
OBD_S02 fields

requests

PacketListField

[]

class scapy.contrib.automotive.obd.services.OBD_S02_Record(_pkt, /, *, pid=0, frame_no=0)[source]

Bases: OBD_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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      PID      |    FRAME NO   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. OBD_S02_Record                        
OBD_S02_Record fields

pid

XByteField

0

frame_no

ByteField

0

class scapy.contrib.automotive.obd.services.OBD_S03(_pkt, /)[source]

Bases: Packet

aliastypes
class scapy.contrib.automotive.obd.services.OBD_S03_PR(_pkt, /, *, count=None, dtcs=[])[source]

Bases: Packet

aliastypes
answers(other)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     COUNT     |              DTCS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OBD_S03_PR                          
OBD_S03_PR fields

count

FieldLenField

None

dtcs

PacketListField

[]

class scapy.contrib.automotive.obd.services.OBD_S04(_pkt, /)[source]

Bases: Packet

aliastypes
class scapy.contrib.automotive.obd.services.OBD_S04_PR(_pkt, /)[source]

Bases: Packet

aliastypes
answers(other)[source]
class scapy.contrib.automotive.obd.services.OBD_S06(_pkt, /, *, mid=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              MID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_S06                           
OBD_S06 fields

mid

FieldListField

[]

class scapy.contrib.automotive.obd.services.OBD_S07(_pkt, /)[source]

Bases: Packet

aliastypes
class scapy.contrib.automotive.obd.services.OBD_S07_PR(_pkt, /, *, count=None, dtcs=[])[source]

Bases: Packet

aliastypes
answers(other)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     COUNT     |              DTCS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OBD_S07_PR                          
OBD_S07_PR fields

count

FieldLenField

None

dtcs

PacketListField

[]

class scapy.contrib.automotive.obd.services.OBD_S08(_pkt, /, *, tid=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_S08                           
OBD_S08 fields

tid

FieldListField

[]

class scapy.contrib.automotive.obd.services.OBD_S09(_pkt, /, *, iid=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              IID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. OBD_S09                           
OBD_S09 fields

iid

FieldListField

[]

class scapy.contrib.automotive.obd.services.OBD_S0A(_pkt, /)[source]

Bases: Packet

aliastypes
class scapy.contrib.automotive.obd.services.OBD_S0A_PR(_pkt, /, *, count=None, dtcs=[])[source]

Bases: Packet

aliastypes
answers(other)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     COUNT     |              DTCS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. OBD_S0A_PR                          
OBD_S0A_PR fields

count

FieldLenField

None

dtcs

PacketListField

[]