scapy.contrib.modbus module

class scapy.contrib.modbus.ModbusADURequest(_pkt, /, *, transId=0, protoId=0, len=None, unitId=255)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            TRANSID            |            PROTOID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LEN              |     UNITID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ModbusADURequest                       
ModbusADURequest fields

transId

XShortField

0

protoId

XShortField

0

len

ShortField

None

unitId

XByteField

255

guess_payload_class(payload)[source]
post_build(p, pay)[source]
class scapy.contrib.modbus.ModbusADUResponse(_pkt, /, *, transId=0, protoId=0, len=None, unitId=255)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            TRANSID            |            PROTOID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LEN              |     UNITID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ModbusADUResponse                      
ModbusADUResponse fields

transId

XShortField

0

protoId

XShortField

0

len

ShortField

None

unitId

XByteField

255

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

Bases: EnumField

defEnum
i2repr_one(pkt, x)[source]
class scapy.contrib.modbus.ModbusObjectId(_pkt, /, *, id=0, length=None, value=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       ID      |     LENGTH    |             VALUE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ModbusObjectId                        
ModbusObjectId fields

id

ByteEnumField

0

length

BitFieldLenField (8 bits)

None

value

StrLenField

b''

guess_payload_class(payload)[source]
class scapy.contrib.modbus.ModbusPDU01ReadCoilsError(_pkt, /, *, funcCode=129, exceptCode=1)[source]

Bases: _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(_pkt, /, *, funcCode=1, startAddr=0, quantity=1)[source]

Bases: _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(_pkt, /, *, funcCode=1, byteCount=None, coilStatus=[0])[source]

Bases: _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(_pkt, /, *, funcCode=130, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU02ReadDiscreteInputsError              
ModbusPDU02ReadDiscreteInputsError fields

funcCode

XByteField

130

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsRequest(_pkt, /, *, funcCode=2, startAddr=0, quantity=1)[source]

Bases: _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(_pkt, /, *, funcCode=2, byteCount=None, inputStatus=[0])[source]

Bases: 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(_pkt, /, *, funcCode=131, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU03ReadHoldingRegistersError             
ModbusPDU03ReadHoldingRegistersError fields

funcCode

XByteField

131

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersRequest(_pkt, /, *, funcCode=3, startAddr=0, quantity=1)[source]

Bases: _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(_pkt, /, *, funcCode=3, byteCount=None, registerVal=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU03ReadHoldingRegistersResponse           
ModbusPDU03ReadHoldingRegistersResponse fields

funcCode

XByteField

3

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU04ReadInputRegistersError(_pkt, /, *, funcCode=132, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU04ReadInputRegistersError              
ModbusPDU04ReadInputRegistersError fields

funcCode

XByteField

132

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU04ReadInputRegistersRequest(_pkt, /, *, funcCode=4, startAddr=0, quantity=1)[source]

Bases: _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(_pkt, /, *, funcCode=4, byteCount=None, registerVal=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU04ReadInputRegistersResponse            
ModbusPDU04ReadInputRegistersResponse fields

funcCode

XByteField

4

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilError(_pkt, /, *, funcCode=133, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU05WriteSingleCoilError               
ModbusPDU05WriteSingleCoilError fields

funcCode

XByteField

133

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilRequest(_pkt, /, *, funcCode=5, outputAddr=0, outputValue=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           OUTPUTADDR          |  OUTPUTVALUE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU05WriteSingleCoilRequest              
ModbusPDU05WriteSingleCoilRequest fields

funcCode

XByteField

5

outputAddr

XShortField

0

outputValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU05WriteSingleCoilResponse(_pkt, /, *, funcCode=5, outputAddr=0, outputValue=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           OUTPUTADDR          |  OUTPUTVALUE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU05WriteSingleCoilResponse              
ModbusPDU05WriteSingleCoilResponse fields

funcCode

XByteField

5

outputAddr

XShortField

0

outputValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterError(_pkt, /, *, funcCode=134, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU06WriteSingleRegisterError             
ModbusPDU06WriteSingleRegisterError fields

funcCode

XByteField

134

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterRequest(_pkt, /, *, funcCode=6, registerAddr=0, registerValue=0)[source]

Bases: _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(_pkt, /, *, funcCode=6, registerAddr=0, registerValue=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |          REGISTERADDR         | REGISTERVALUE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU06WriteSingleRegisterResponse            
ModbusPDU06WriteSingleRegisterResponse fields

funcCode

XByteField

6

registerAddr

XShortField

0

registerValue

XShortField

0

class scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusError(_pkt, /, *, funcCode=135, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU07ReadExceptionStatusError             
ModbusPDU07ReadExceptionStatusError fields

funcCode

XByteField

135

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusRequest(_pkt, /, *, funcCode=7)[source]

Bases: _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(_pkt, /, *, funcCode=7, startAddr=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   STARTADDR   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU07ReadExceptionStatusResponse            
ModbusPDU07ReadExceptionStatusResponse fields

funcCode

XByteField

7

startAddr

XByteField

0

class scapy.contrib.modbus.ModbusPDU08DiagnosticsError(_pkt, /, *, funcCode=136, exceptionCode=1)[source]

Bases: _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(_pkt, /, *, funcCode=8, subFunc=0, data=[0])[source]

Bases: _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(_pkt, /, *, funcCode=8, subFunc=0, data=[0])[source]

Bases: _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(_pkt, /, *, funcCode=139, exceptionCode=1)[source]

Bases: _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(_pkt, /, *, funcCode=11)[source]

Bases: _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(_pkt, /, *, funcCode=11, status=0, eventCount=65535)[source]

Bases: _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(_pkt, /, *, funcCode=140, exceptionCode=1)[source]

Bases: _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(_pkt, /, *, funcCode=12)[source]

Bases: _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(_pkt, /, *, funcCode=12, byteCount=8, status=0, eventCount=264, messageCount=289, event=[32, 0])[source]

Bases: _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(_pkt, /, *, funcCode=143, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDU0FWriteMultipleCoilsError              
ModbusPDU0FWriteMultipleCoilsError fields

funcCode

XByteField

143

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsRequest(_pkt, /, *, funcCode=15, startAddr=0, quantityOutput=1, byteCount=None, outputsValue=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=15, startAddr=0, quantityOutput=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           | QUANTITYOUTPUT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

            Fig. ModbusPDU0FWriteMultipleCoilsResponse            
ModbusPDU0FWriteMultipleCoilsResponse fields

funcCode

XByteField

15

startAddr

XShortField

0

quantityOutput

XShortField

1

class scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersError(_pkt, /, *, funcCode=144, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDU10WriteMultipleRegistersError            
ModbusPDU10WriteMultipleRegistersError fields

funcCode

XByteField

144

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersRequest(_pkt, /, *, funcCode=16, startAddr=0, quantityRegisters=None, byteCount=None, outputsValue=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=16, startAddr=0, quantityRegisters=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |           STARTADDR           |QUANTITYREGISTE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

          Fig. ModbusPDU10WriteMultipleRegistersResponse          
ModbusPDU10WriteMultipleRegistersResponse fields

funcCode

XByteField

16

startAddr

XShortField

0

quantityRegisters

XShortField

1

class scapy.contrib.modbus.ModbusPDU11ReportSlaveIdError(_pkt, /, *, funcCode=145, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU11ReportSlaveIdError                
ModbusPDU11ReportSlaveIdError fields

funcCode

XByteField

145

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU11ReportSlaveIdRequest(_pkt, /, *, funcCode=17)[source]

Bases: _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(_pkt, /, *, funcCode=17, byteCount=None, slaveId=b'', runIdicatorStatus=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=148, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU14ReadFileRecordError                
ModbusPDU14ReadFileRecordError fields

funcCode

XByteField

148

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU14ReadFileRecordRequest(_pkt, /, *, funcCode=20, byteCount=None)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU14ReadFileRecordRequest               
ModbusPDU14ReadFileRecordRequest fields

funcCode

XByteField

20

byteCount

ByteField

None

guess_payload_class(payload)[source]
post_build(p, pay)[source]
class scapy.contrib.modbus.ModbusPDU14ReadFileRecordResponse(_pkt, /, *, funcCode=20, dataLength=None)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   DATALENGTH  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU14ReadFileRecordResponse              
ModbusPDU14ReadFileRecordResponse fields

funcCode

XByteField

20

dataLength

ByteField

None

guess_payload_class(payload)[source]
post_build(p, pay)[source]
class scapy.contrib.modbus.ModbusPDU15WriteFileRecordError(_pkt, /, *, funcCode=149, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU15WriteFileRecordError               
ModbusPDU15WriteFileRecordError fields

funcCode

XByteField

149

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU15WriteFileRecordRequest(_pkt, /, *, funcCode=21, dataLength=None)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   DATALENGTH  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU15WriteFileRecordRequest              
ModbusPDU15WriteFileRecordRequest fields

funcCode

XByteField

21

dataLength

ByteField

None

guess_payload_class(payload)[source]
post_build(p, pay)[source]
class scapy.contrib.modbus.ModbusPDU15WriteFileRecordResponse(_pkt, /, *, funcCode=21, dataLength=None)[source]

Bases: 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)[source]
class scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterError(_pkt, /, *, funcCode=150, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ModbusPDU16MaskWriteRegisterError              
ModbusPDU16MaskWriteRegisterError fields

funcCode

XByteField

150

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterRequest(_pkt, /, *, funcCode=22, refAddr=0, andMask=65535, orMask=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=22, refAddr=0, andMask=65535, orMask=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=151, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Fig. ModbusPDU17ReadWriteMultipleRegistersError          
ModbusPDU17ReadWriteMultipleRegistersError fields

funcCode

XByteField

151

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersRequest(_pkt, /, *, funcCode=23, readStartingAddr=0, readQuantityRegisters=1, writeStartingAddr=0, writeQuantityRegisters=None, byteCount=None, writeRegistersValue=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=23, byteCount=None, registerVal=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   BYTECOUNT   |          REGISTERVAL          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Fig. ModbusPDU17ReadWriteMultipleRegistersResponse        
ModbusPDU17ReadWriteMultipleRegistersResponse fields

funcCode

XByteField

23

byteCount

BitFieldLenField (8 bits)

None

registerVal

FieldListField

[0]

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueError(_pkt, /, *, funcCode=152, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ModbusPDU18ReadFIFOQueueError                
ModbusPDU18ReadFIFOQueueError fields

funcCode

XByteField

152

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueRequest(_pkt, /, *, funcCode=24, FIFOPointerAddr=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |        FIFOPOINTERADDR        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ModbusPDU18ReadFIFOQueueRequest               
ModbusPDU18ReadFIFOQueueRequest fields

funcCode

XByteField

24

FIFOPointerAddr

XShortField

0

class scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueResponse(_pkt, /, *, funcCode=24, byteCount=None, FIFOCount=None, FIFOVal=[])[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=171, exceptCode=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    FUNCCODE   |   EXCEPTCODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Fig. ModbusPDU2B0EReadDeviceIdentificationError          
ModbusPDU2B0EReadDeviceIdentificationError fields

funcCode

XByteField

171

exceptCode

ByteEnumField

1

class scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationRequest(_pkt, /, *, funcCode=43, MEIType=14, readCode=1, objectId=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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(_pkt, /, *, funcCode=43, MEIType=14, readCode=4, conformityLevel=1, more=0, nextObjId=0, objCount=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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)[source]
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeError(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ModbusPDUReservedFunctionCodeError              
ModbusPDUReservedFunctionCodeError fields

funcCode

ByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeRequest(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUReservedFunctionCodeRequest             
ModbusPDUReservedFunctionCodeRequest fields

funcCode

ByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusPDUReservedFunctionCodeResponse(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUReservedFunctionCodeResponse            
ModbusPDUReservedFunctionCodeResponse fields

funcCode

ByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeError(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ModbusPDUUserDefinedFunctionCodeError            
ModbusPDUUserDefinedFunctionCodeError fields

funcCode

ModbusByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeRequest(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ModbusPDUUserDefinedFunctionCodeRequest           
ModbusPDUUserDefinedFunctionCodeRequest fields

funcCode

ModbusByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeResponse(_pkt, /, *, funcCode=0, mb_payload=b'')[source]

Bases: _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   |                   MB PAYLOAD                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Fig. ModbusPDUUserDefinedFunctionCodeResponse           
ModbusPDUUserDefinedFunctionCodeResponse fields

funcCode

ModbusByteEnumField

0

mb_payload

StrFixedLenField

b''

mysummary()[source]
class scapy.contrib.modbus.ModbusReadFileSubRequest(_pkt, /, *, refType=6, fileNumber=1, recordNumber=0, recordLength=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    REFTYPE    |           FILENUMBER          |  RECORDNUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |          RECORDLENGTH         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ModbusReadFileSubRequest                   
ModbusReadFileSubRequest fields

refType

ByteField

6

fileNumber

ShortField

1

recordNumber

ShortField

0

recordLength

ShortField

1

guess_payload_class(payload)[source]
class scapy.contrib.modbus.ModbusReadFileSubResponse(_pkt, /, *, respLength=None, refType=6, recData=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RESPLENGTH  |    REFTYPE    |            RECDATA            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ModbusReadFileSubResponse                  
ModbusReadFileSubResponse fields

respLength

BitFieldLenField (8 bits)

None

refType

ByteField

6

recData

FieldListField

[0]

guess_payload_class(payload)[source]
class scapy.contrib.modbus.ModbusWriteFileSubRequest(_pkt, /, *, refType=6, fileNumber=1, recordNumber=0, recordLength=None, recordData=[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    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)[source]
class scapy.contrib.modbus.ModbusWriteFileSubResponse(_pkt, /, *, refType=6, fileNumber=1, recordNumber=0, recordLength=None, recordData=[0])[source]

Bases: 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)[source]