scapy.contrib.modbus

class scapy.contrib.modbus.ModbusADURequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            TRANSID            |            PROTOID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LEN              |     UNITID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ModbusADURequest                       
ModbusADURequest fields

transId

XShortField

0

protoId

XShortField

0

len

ShortField

None

unitId

XByteField

255

guess_payload_class(payload)
post_build(p, pay)
class scapy.contrib.modbus.ModbusADUResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            TRANSID            |            PROTOID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LEN              |     UNITID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ModbusADUResponse                      
ModbusADUResponse fields

transId

XShortField

0

protoId

XShortField

0

len

ShortField

None

unitId

XByteField

255

guess_payload_class(payload)
post_build(p, pay)
class scapy.contrib.modbus.ModbusByteEnumField(name, default, enum, defEnum)

Bases: scapy.fields.EnumField

E
d
defEnum
e
f
i2repr_one(pkt, x)
m
n
u
class scapy.contrib.modbus.ModbusObjectId(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       ID      |     LENGTH    |             VALUE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ModbusObjectId                        
ModbusObjectId fields

id

ByteEnumField

0

length

BitFieldLenField (8 bits)

None

value

StrLenField

b''

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusPDU01ReadCoilsError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ModbusPDU01ReadCoilsError                  
ModbusPDU01ReadCoilsError fields

funcCode

XByteField

129

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU01ReadCoilsRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |    QUANTITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                 Fig. ModbusPDU01ReadCoilsRequest                 
ModbusPDU01ReadCoilsRequest fields

funcCode

XByteField

1

startAddr

XShortField

0

quantity

XShortField

1

class scapy.contrib.modbus.ModbusPDU01ReadCoilsResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |           COILSTATUS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU01ReadCoilsResponse                 
ModbusPDU01ReadCoilsResponse fields

funcCode

XByteField

1

byteCount

BitFieldLenField (8 bits)

None

coilStatus

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU02ReadDiscreteInputsError              
ModbusPDU02ReadDiscreteInputsError fields

funcCode

XByteField

130

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |    QUANTITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU02ReadDiscreteInputsRequest             
ModbusPDU02ReadDiscreteInputsRequest fields

funcCode

XByteField

2

startAddr

XShortField

0

quantity

XShortField

1

class scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsResponse(*args, **kargs)

Bases: scapy.packet.Packet

inputStatus: result is represented as bytes, padded with 0 to have a integer number of bytes. The field does not parse this result and present the bytes directly

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          INPUTSTATUS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU02ReadDiscreteInputsResponse            
ModbusPDU02ReadDiscreteInputsResponse fields

funcCode

XByteField

2

byteCount

BitFieldLenField (8 bits)

None

inputStatus

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU03ReadHoldingRegistersError             
ModbusPDU03ReadHoldingRegistersError fields

funcCode

XByteField

131

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |    QUANTITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU03ReadHoldingRegistersRequest            
ModbusPDU03ReadHoldingRegistersRequest fields

funcCode

XByteField

3

startAddr

XShortField

0

quantity

XShortField

1

class scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU03ReadHoldingRegistersResponse           
ModbusPDU03ReadHoldingRegistersResponse fields

funcCode

XByteField

3

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU04ReadInputRegistersError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU04ReadInputRegistersError              
ModbusPDU04ReadInputRegistersError fields

funcCode

XByteField

132

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU04ReadInputRegistersRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |    QUANTITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU04ReadInputRegistersRequest             
ModbusPDU04ReadInputRegistersRequest fields

funcCode

XByteField

4

startAddr

XShortField

0

quantity

XShortField

1

class scapy.contrib.modbus.ModbusPDU04ReadInputRegistersResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU04ReadInputRegistersResponse            
ModbusPDU04ReadInputRegistersResponse fields

funcCode

XByteField

4

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU05WriteSingleCoilError               
ModbusPDU05WriteSingleCoilError fields

funcCode

XByteField

133

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           OUTPUTADDR          |  OUTPUTVALUE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU05WriteSingleCoilRequest              
ModbusPDU05WriteSingleCoilRequest fields

funcCode

XByteField

5

outputAddr

XShortField

0

outputValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           OUTPUTADDR          |  OUTPUTVALUE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU05WriteSingleCoilResponse              
ModbusPDU05WriteSingleCoilResponse fields

funcCode

XByteField

5

outputAddr

XShortField

0

outputValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU06WriteSingleRegisterError             
ModbusPDU06WriteSingleRegisterError fields

funcCode

XByteField

134

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |          REGISTERADDR         | REGISTERVALUE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU06WriteSingleRegisterRequest            
ModbusPDU06WriteSingleRegisterRequest fields

funcCode

XByteField

6

registerAddr

XShortField

0

registerValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |          REGISTERADDR         | REGISTERVALUE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU06WriteSingleRegisterResponse            
ModbusPDU06WriteSingleRegisterResponse fields

funcCode

XByteField

6

registerAddr

XShortField

0

registerValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU07ReadExceptionStatusError             
ModbusPDU07ReadExceptionStatusError fields

funcCode

XByteField

135

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU07ReadExceptionStatusRequest            
ModbusPDU07ReadExceptionStatusRequest fields

funcCode

XByteField

7

class scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   STARTADDR   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU07ReadExceptionStatusResponse            
ModbusPDU07ReadExceptionStatusResponse fields

funcCode

XByteField

7

startAddr

XByteField

0

class scapy.contrib.modbus.ModbusPDU08DiagnosticsError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   | EXCEPTIONCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ModbusPDU08DiagnosticsError                 
ModbusPDU08DiagnosticsError fields

funcCode

XByteField

136

exceptionCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU08DiagnosticsRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            SUBFUNC            |      DATA     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU08DiagnosticsRequest                
ModbusPDU08DiagnosticsRequest fields

funcCode

XByteField

8

subFunc

XShortEnumField

0

data

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU08DiagnosticsResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            SUBFUNC            |      DATA     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU08DiagnosticsResponse                
ModbusPDU08DiagnosticsResponse fields

funcCode

XByteField

8

subFunc

XShortEnumField

0

data

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   | EXCEPTIONCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU0BGetCommEventCounterError             
ModbusPDU0BGetCommEventCounterError fields

funcCode

XByteField

139

exceptionCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU0BGetCommEventCounterRequest            
ModbusPDU0BGetCommEventCounterRequest fields

funcCode

XByteField

11

class scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |             STATUS            |   EVENTCOUNT  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU0BGetCommEventCounterResponse            
ModbusPDU0BGetCommEventCounterResponse fields

funcCode

XByteField

11

status

XShortField

0

eventCount

XShortField

65535

class scapy.contrib.modbus.ModbusPDU0CGetCommEventLogError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   | EXCEPTIONCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU0CGetCommEventLogError               
ModbusPDU0CGetCommEventLogError fields

funcCode

XByteField

140

exceptionCode

XByteField

1

class scapy.contrib.modbus.ModbusPDU0CGetCommEventLogRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |
+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU0CGetCommEventLogRequest              
ModbusPDU0CGetCommEventLogRequest fields

funcCode

XByteField

12

class scapy.contrib.modbus.ModbusPDU0CGetCommEventLogResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |             STATUS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           EVENTCOUNT          |          MESSAGECOUNT         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             EVENT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU0CGetCommEventLogResponse              
ModbusPDU0CGetCommEventLogResponse fields

funcCode

XByteField

12

byteCount

ByteField

8

status

XShortField

0

eventCount

XShortField

264

messageCount

XShortField

289

event

FieldListField

[32, 0]

class scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU0FWriteMultipleCoilsError              
ModbusPDU0FWriteMultipleCoilsError fields

funcCode

XByteField

143

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           | QUANTITYOUTPUT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |   BYTECOUNT   |          OUTPUTSVALUE         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU0FWriteMultipleCoilsRequest             
ModbusPDU0FWriteMultipleCoilsRequest fields

funcCode

XByteField

15

startAddr

XShortField

0

quantityOutput

XShortField

1

byteCount

BitFieldLenField (8 bits)

None

outputsValue

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           | QUANTITYOUTPUT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU0FWriteMultipleCoilsResponse            
ModbusPDU0FWriteMultipleCoilsResponse fields

funcCode

XByteField

15

startAddr

XShortField

0

quantityOutput

XShortField

1

class scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU10WriteMultipleRegistersError            
ModbusPDU10WriteMultipleRegistersError fields

funcCode

XByteField

144

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |QUANTITYREGISTE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |   BYTECOUNT   |          OUTPUTSVALUE         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Fig. ModbusPDU10WriteMultipleRegistersRequest           
ModbusPDU10WriteMultipleRegistersRequest fields

funcCode

XByteField

16

startAddr

XShortField

0

quantityRegisters

BitFieldLenField (16 bits)

None

byteCount

BitFieldLenField (8 bits)

None

outputsValue

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |QUANTITYREGISTE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

          Fig. ModbusPDU10WriteMultipleRegistersResponse          
ModbusPDU10WriteMultipleRegistersResponse fields

funcCode

XByteField

16

startAddr

XShortField

0

quantityRegisters

XShortField

1

class scapy.contrib.modbus.ModbusPDU11ReportSlaveIdError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU11ReportSlaveIdError                
ModbusPDU11ReportSlaveIdError fields

funcCode

XByteField

145

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU11ReportSlaveIdRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |
+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU11ReportSlaveIdRequest               
ModbusPDU11ReportSlaveIdRequest fields

funcCode

XByteField

17

class scapy.contrib.modbus.ModbusPDU11ReportSlaveIdResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |            SLAVEID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RUNIDICATORSTAT|
+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU11ReportSlaveIdResponse               
ModbusPDU11ReportSlaveIdResponse fields

funcCode

XByteField

17

byteCount

BitFieldLenField (8 bits)

None

slaveId

StrLenField (Cond)

b''

runIdicatorStatus

XByteField (Cond)

0

class scapy.contrib.modbus.ModbusPDU14ReadFileRecordError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU14ReadFileRecordError                
ModbusPDU14ReadFileRecordError fields

funcCode

XByteField

148

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU14ReadFileRecordRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU14ReadFileRecordRequest               
ModbusPDU14ReadFileRecordRequest fields

funcCode

XByteField

20

byteCount

ByteField

None

guess_payload_class(payload)
post_build(p, pay)
class scapy.contrib.modbus.ModbusPDU14ReadFileRecordResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   DATALENGTH  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU14ReadFileRecordResponse              
ModbusPDU14ReadFileRecordResponse fields

funcCode

XByteField

20

dataLength

ByteField

None

guess_payload_class(payload)
post_build(p, pay)
class scapy.contrib.modbus.ModbusPDU15WriteFileRecordError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU15WriteFileRecordError               
ModbusPDU15WriteFileRecordError fields

funcCode

XByteField

149

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU15WriteFileRecordRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   DATALENGTH  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU15WriteFileRecordRequest              
ModbusPDU15WriteFileRecordRequest fields

funcCode

XByteField

21

dataLength

ByteField

None

guess_payload_class(payload)
post_build(p, pay)
class scapy.contrib.modbus.ModbusPDU15WriteFileRecordResponse(*args, **kargs)

Bases: scapy.contrib.modbus.ModbusPDU15WriteFileRecordRequest

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   DATALENGTH  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU15WriteFileRecordResponse              
ModbusPDU15WriteFileRecordResponse fields

funcCode

XByteField

21

dataLength

ByteField

None

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU16MaskWriteRegisterError              
ModbusPDU16MaskWriteRegisterError fields

funcCode

XByteField

150

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            REFADDR            |    ANDMASK    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             ORMASK            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU16MaskWriteRegisterRequest             
ModbusPDU16MaskWriteRegisterRequest fields

funcCode

XByteField

22

refAddr

XShortField

0

andMask

XShortField

65535

orMask

XShortField

0

class scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            REFADDR            |    ANDMASK    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             ORMASK            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU16MaskWriteRegisterResponse             
ModbusPDU16MaskWriteRegisterResponse fields

funcCode

XByteField

22

refAddr

XShortField

0

andMask

XShortField

65535

orMask

XShortField

0

class scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Fig. ModbusPDU17ReadWriteMultipleRegistersError          
ModbusPDU17ReadWriteMultipleRegistersError fields

funcCode

XByteField

151

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |        READSTARTINGADDR       |READQUANTITYREG|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |       WRITESTARTINGADDR       |WRITEQUANTITYRE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |   BYTECOUNT   |      WRITEREGISTERSVALUE      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Fig. ModbusPDU17ReadWriteMultipleRegistersRequest         
ModbusPDU17ReadWriteMultipleRegistersRequest fields

funcCode

XByteField

23

readStartingAddr

XShortField

0

readQuantityRegisters

XShortField

1

writeStartingAddr

XShortField

0

writeQuantityRegisters

BitFieldLenField (16 bits)

None

byteCount

BitFieldLenField (8 bits)

None

writeRegistersValue

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Fig. ModbusPDU17ReadWriteMultipleRegistersResponse        
ModbusPDU17ReadWriteMultipleRegistersResponse fields

funcCode

XByteField

23

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU18ReadFIFOQueueError                
ModbusPDU18ReadFIFOQueueError fields

funcCode

XByteField

152

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |        FIFOPOINTERADDR        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU18ReadFIFOQueueRequest               
ModbusPDU18ReadFIFOQueueRequest fields

funcCode

XByteField

24

FIFOPointerAddr

XShortField

0

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           BYTECOUNT           |   FIFOCOUNT   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            FIFOVAL            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU18ReadFIFOQueueResponse               
ModbusPDU18ReadFIFOQueueResponse fields

funcCode

XByteField

24

byteCount

BitFieldLenField (16 bits)

None

FIFOCount

BitFieldLenField (16 bits)

None

FIFOVal

FieldListField

[]

class scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationError(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Fig. ModbusPDU2B0EReadDeviceIdentificationError          
ModbusPDU2B0EReadDeviceIdentificationError fields

funcCode

XByteField

171

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |    MEITYPE    |    READCODE   |    OBJECTID   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Fig. ModbusPDU2B0EReadDeviceIdentificationRequest         
ModbusPDU2B0EReadDeviceIdentificationRequest fields

funcCode

XByteField

43

MEIType

XByteField

14

readCode

ByteEnumField

1

objectId

ByteEnumField

0

class scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |    MEITYPE    |    READCODE   |CONFORMITYLEVEL|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MORE     |   NEXTOBJID   |    OBJCOUNT   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Fig. ModbusPDU2B0EReadDeviceIdentificationResponse        
ModbusPDU2B0EReadDeviceIdentificationResponse fields

funcCode

XByteField

43

MEIType

XByteField

14

readCode

ByteEnumField

4

conformityLevel

ByteEnumField

1

more

ByteEnumField

0

nextObjId

ByteEnumField

0

objCount

ByteField

0

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDUReservedFunctionCodeError              
ModbusPDUReservedFunctionCodeError fields

funcCode

ByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUReservedFunctionCodeRequest             
ModbusPDUReservedFunctionCodeRequest fields

funcCode

ByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUReservedFunctionCodeResponse            
ModbusPDUReservedFunctionCodeResponse fields

funcCode

ByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeError(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUUserDefinedFunctionCodeError            
ModbusPDUUserDefinedFunctionCodeError fields

funcCode

ModbusByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeRequest(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDUUserDefinedFunctionCodeRequest           
ModbusPDUUserDefinedFunctionCodeRequest fields

funcCode

ModbusByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeResponse(*args, **kargs)

Bases: scapy.contrib.modbus._ModbusPDUNoPayload

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |            PAYLOAD            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Fig. ModbusPDUUserDefinedFunctionCodeResponse           
ModbusPDUUserDefinedFunctionCodeResponse fields

funcCode

ModbusByteEnumField

0

payload

StrFixedLenField

b''

mysummary()
class scapy.contrib.modbus.ModbusReadFileSubRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    REFTYPE    |           FILENUMBER          |  RECORDNUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RECORDLENGTH         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ModbusReadFileSubRequest                   
ModbusReadFileSubRequest fields

refType

ByteField

6

fileNumber

ShortField

1

recordNumber

ShortField

0

recordLength

ShortField

1

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusReadFileSubResponse(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RESPLENGTH  |    REFTYPE    |            RECDATA            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ModbusReadFileSubResponse                  
ModbusReadFileSubResponse fields

respLength

BitFieldLenField (8 bits)

None

refType

ByteField

6

recData

FieldListField

[0]

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusWriteFileSubRequest(*args, **kargs)

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    REFTYPE    |           FILENUMBER          |  RECORDNUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RECORDLENGTH         |   RECORDDATA  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                  Fig. ModbusWriteFileSubRequest                  
ModbusWriteFileSubRequest fields

refType

ByteField

6

fileNumber

ShortField

1

recordNumber

ShortField

0

recordLength

BitFieldLenField (16 bits)

None

recordData

FieldListField

[0]

guess_payload_class(payload)
class scapy.contrib.modbus.ModbusWriteFileSubResponse(*args, **kargs)

Bases: scapy.contrib.modbus.ModbusWriteFileSubRequest

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    REFTYPE    |           FILENUMBER          |  RECORDNUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RECORDLENGTH         |   RECORDDATA  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                 Fig. ModbusWriteFileSubResponse                  
ModbusWriteFileSubResponse fields

refType

ByteField

6

fileNumber

ShortField

1

recordNumber

ShortField

0

recordLength

BitFieldLenField (16 bits)

None

recordData

FieldListField

[0]

guess_payload_class(payload)