scapy.contrib.modbus¶
-
class
scapy.contrib.modbus.ModbusADURequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSID | PROTOID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | UNITID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusADURequestModbusADURequest fields¶ transId
0protoId
0len
NoneunitId
255
-
guess_payload_class(payload)¶
-
post_build(p, pay)¶
-
-
class
scapy.contrib.modbus.ModbusADUResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TRANSID | PROTOID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | UNITID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusADUResponseModbusADUResponse fields¶ transId
0protoId
0len
NoneunitId
255
-
guess_payload_class(payload)¶
-
post_build(p, pay)¶
-
-
class
scapy.contrib.modbus.ModbusByteEnumField(name, default, enum, defEnum)¶ Bases:
scapy.fields.EnumField-
defEnum¶
-
i2repr_one(pkt, x)¶
-
-
class
scapy.contrib.modbus.ModbusObjectId(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | LENGTH | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusObjectIdModbusObjectId fields¶ id
0length
BitFieldLenField(8 bits)Nonevalue
b''
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusPDU01ReadCoilsError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU01ReadCoilsErrorModbusPDU01ReadCoilsError fields¶ funcCode
129exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU01ReadCoilsRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU01ReadCoilsRequestModbusPDU01ReadCoilsRequest fields¶ funcCode
1startAddr
0quantity
1
-
-
class
scapy.contrib.modbus.ModbusPDU01ReadCoilsResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | COILSTATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU01ReadCoilsResponseModbusPDU01ReadCoilsResponse fields¶ funcCode
1byteCount
BitFieldLenField(8 bits)NonecoilStatus
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU02ReadDiscreteInputsErrorModbusPDU02ReadDiscreteInputsError fields¶ funcCode
130exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU02ReadDiscreteInputsRequestModbusPDU02ReadDiscreteInputsRequest fields¶ funcCode
2startAddr
0quantity
1
-
-
class
scapy.contrib.modbus.ModbusPDU02ReadDiscreteInputsResponse(*args, **kargs)¶ Bases:
scapy.packet.PacketinputStatus: 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. ModbusPDU02ReadDiscreteInputsResponseModbusPDU02ReadDiscreteInputsResponse fields¶ funcCode
2byteCount
BitFieldLenField(8 bits)NoneinputStatus
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU03ReadHoldingRegistersErrorModbusPDU03ReadHoldingRegistersError fields¶ funcCode
131exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU03ReadHoldingRegistersRequestModbusPDU03ReadHoldingRegistersRequest fields¶ funcCode
3startAddr
0quantity
1
-
-
class
scapy.contrib.modbus.ModbusPDU03ReadHoldingRegistersResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | REGISTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU03ReadHoldingRegistersResponseModbusPDU03ReadHoldingRegistersResponse fields¶ funcCode
3byteCount
BitFieldLenField(8 bits)NoneregisterVal
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU04ReadInputRegistersError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU04ReadInputRegistersErrorModbusPDU04ReadInputRegistersError fields¶ funcCode
132exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU04ReadInputRegistersRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU04ReadInputRegistersRequestModbusPDU04ReadInputRegistersRequest fields¶ funcCode
4startAddr
0quantity
1
-
-
class
scapy.contrib.modbus.ModbusPDU04ReadInputRegistersResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | REGISTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU04ReadInputRegistersResponseModbusPDU04ReadInputRegistersResponse fields¶ funcCode
4byteCount
BitFieldLenField(8 bits)NoneregisterVal
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU05WriteSingleCoilError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU05WriteSingleCoilErrorModbusPDU05WriteSingleCoilError fields¶ funcCode
133exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU05WriteSingleCoilRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | OUTPUTADDR | OUTPUTVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU05WriteSingleCoilRequestModbusPDU05WriteSingleCoilRequest fields¶ funcCode
5outputAddr
0outputValue
0
-
-
class
scapy.contrib.modbus.ModbusPDU05WriteSingleCoilResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | OUTPUTADDR | OUTPUTVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU05WriteSingleCoilResponseModbusPDU05WriteSingleCoilResponse fields¶ funcCode
5outputAddr
0outputValue
0
-
-
class
scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU06WriteSingleRegisterErrorModbusPDU06WriteSingleRegisterError fields¶ funcCode
134exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | REGISTERADDR | REGISTERVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU06WriteSingleRegisterRequestModbusPDU06WriteSingleRegisterRequest fields¶ funcCode
6registerAddr
0registerValue
0
-
-
class
scapy.contrib.modbus.ModbusPDU06WriteSingleRegisterResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | REGISTERADDR | REGISTERVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU06WriteSingleRegisterResponseModbusPDU06WriteSingleRegisterResponse fields¶ funcCode
6registerAddr
0registerValue
0
-
-
class
scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU07ReadExceptionStatusErrorModbusPDU07ReadExceptionStatusError fields¶ funcCode
135exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU07ReadExceptionStatusRequestModbusPDU07ReadExceptionStatusRequest fields¶ funcCode
7
-
-
class
scapy.contrib.modbus.ModbusPDU07ReadExceptionStatusResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU07ReadExceptionStatusResponseModbusPDU07ReadExceptionStatusResponse fields¶ funcCode
7startAddr
0
-
-
class
scapy.contrib.modbus.ModbusPDU08DiagnosticsError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTIONCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU08DiagnosticsErrorModbusPDU08DiagnosticsError fields¶ funcCode
136exceptionCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU08DiagnosticsRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | SUBFUNC | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU08DiagnosticsRequestModbusPDU08DiagnosticsRequest fields¶ funcCode
8subFunc
0data
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU08DiagnosticsResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | SUBFUNC | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU08DiagnosticsResponseModbusPDU08DiagnosticsResponse fields¶ funcCode
8subFunc
0data
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTIONCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU0BGetCommEventCounterErrorModbusPDU0BGetCommEventCounterError fields¶ funcCode
139exceptionCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU0BGetCommEventCounterRequestModbusPDU0BGetCommEventCounterRequest fields¶ funcCode
11
-
-
class
scapy.contrib.modbus.ModbusPDU0BGetCommEventCounterResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STATUS | EVENTCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU0BGetCommEventCounterResponseModbusPDU0BGetCommEventCounterResponse fields¶ funcCode
11status
0eventCount
65535
-
-
class
scapy.contrib.modbus.ModbusPDU0CGetCommEventLogError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTIONCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU0CGetCommEventLogErrorModbusPDU0CGetCommEventLogError fields¶ funcCode
140exceptionCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU0CGetCommEventLogRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
-
class
scapy.contrib.modbus.ModbusPDU0CGetCommEventLogResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EVENTCOUNT | MESSAGECOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EVENT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU0CGetCommEventLogResponseModbusPDU0CGetCommEventLogResponse fields¶ funcCode
12byteCount
8status
0eventCount
264messageCount
289event
[32, 0]
-
-
class
scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU0FWriteMultipleCoilsErrorModbusPDU0FWriteMultipleCoilsError fields¶ funcCode
143exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITYOUTPUT| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | BYTECOUNT | OUTPUTSVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU0FWriteMultipleCoilsRequestModbusPDU0FWriteMultipleCoilsRequest fields¶ funcCode
15startAddr
0quantityOutput
1byteCount
BitFieldLenField(8 bits)NoneoutputsValue
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU0FWriteMultipleCoilsResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR | QUANTITYOUTPUT| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU0FWriteMultipleCoilsResponseModbusPDU0FWriteMultipleCoilsResponse fields¶ funcCode
15startAddr
0quantityOutput
1
-
-
class
scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU10WriteMultipleRegistersErrorModbusPDU10WriteMultipleRegistersError fields¶ funcCode
144exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR |QUANTITYREGISTE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | BYTECOUNT | OUTPUTSVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU10WriteMultipleRegistersRequestModbusPDU10WriteMultipleRegistersRequest fields¶ funcCode
16startAddr
0quantityRegisters
BitFieldLenField(16 bits)NonebyteCount
BitFieldLenField(8 bits)NoneoutputsValue
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU10WriteMultipleRegistersResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | STARTADDR |QUANTITYREGISTE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusPDU10WriteMultipleRegistersResponseModbusPDU10WriteMultipleRegistersResponse fields¶ funcCode
16startAddr
0quantityRegisters
1
-
-
class
scapy.contrib.modbus.ModbusPDU11ReportSlaveIdError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU11ReportSlaveIdErrorModbusPDU11ReportSlaveIdError fields¶ funcCode
145exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU11ReportSlaveIdRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
-
class
scapy.contrib.modbus.ModbusPDU11ReportSlaveIdResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | SLAVEID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RUNIDICATORSTAT| +-+-+-+-+-+-+-+-+ Fig. ModbusPDU11ReportSlaveIdResponseModbusPDU11ReportSlaveIdResponse fields¶ funcCode
17byteCount
BitFieldLenField(8 bits)NoneslaveId
StrLenField(Cond)b''runIdicatorStatus
XByteField(Cond)0
-
-
class
scapy.contrib.modbus.ModbusPDU14ReadFileRecordError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU14ReadFileRecordErrorModbusPDU14ReadFileRecordError fields¶ funcCode
148exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU14ReadFileRecordRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU14ReadFileRecordRequestModbusPDU14ReadFileRecordRequest fields¶ funcCode
20byteCount
None
-
guess_payload_class(payload)¶
-
post_build(p, pay)¶
-
-
class
scapy.contrib.modbus.ModbusPDU14ReadFileRecordResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | DATALENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU14ReadFileRecordResponseModbusPDU14ReadFileRecordResponse fields¶ funcCode
20dataLength
None
-
guess_payload_class(payload)¶
-
post_build(p, pay)¶
-
-
class
scapy.contrib.modbus.ModbusPDU15WriteFileRecordError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU15WriteFileRecordErrorModbusPDU15WriteFileRecordError fields¶ funcCode
149exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU15WriteFileRecordRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | DATALENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU15WriteFileRecordRequestModbusPDU15WriteFileRecordRequest fields¶ funcCode
21dataLength
None
-
guess_payload_class(payload)¶
-
post_build(p, pay)¶
-
-
class
scapy.contrib.modbus.ModbusPDU15WriteFileRecordResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus.ModbusPDU15WriteFileRecordRequest-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | DATALENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU15WriteFileRecordResponseModbusPDU15WriteFileRecordResponse fields¶ funcCode
21dataLength
None
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU16MaskWriteRegisterErrorModbusPDU16MaskWriteRegisterError fields¶ funcCode
150exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | REFADDR | ANDMASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ORMASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU16MaskWriteRegisterRequestModbusPDU16MaskWriteRegisterRequest fields¶ funcCode
22refAddr
0andMask
65535orMask
0
-
-
class
scapy.contrib.modbus.ModbusPDU16MaskWriteRegisterResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | REFADDR | ANDMASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ORMASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU16MaskWriteRegisterResponseModbusPDU16MaskWriteRegisterResponse fields¶ funcCode
22refAddr
0andMask
65535orMask
0
-
-
class
scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU17ReadWriteMultipleRegistersErrorModbusPDU17ReadWriteMultipleRegistersError fields¶ funcCode
151exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | READSTARTINGADDR |READQUANTITYREG| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | WRITESTARTINGADDR |WRITEQUANTITYRE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | BYTECOUNT | WRITEREGISTERSVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU17ReadWriteMultipleRegistersRequestModbusPDU17ReadWriteMultipleRegistersRequest fields¶ funcCode
23readStartingAddr
0readQuantityRegisters
1writeStartingAddr
0writeQuantityRegisters
BitFieldLenField(16 bits)NonebyteCount
BitFieldLenField(8 bits)NonewriteRegistersValue
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU17ReadWriteMultipleRegistersResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | REGISTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU17ReadWriteMultipleRegistersResponseModbusPDU17ReadWriteMultipleRegistersResponse fields¶ funcCode
23byteCount
BitFieldLenField(8 bits)NoneregisterVal
[0]
-
-
class
scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU18ReadFIFOQueueErrorModbusPDU18ReadFIFOQueueError fields¶ funcCode
152exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | FIFOPOINTERADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU18ReadFIFOQueueRequestModbusPDU18ReadFIFOQueueRequest fields¶ funcCode
24FIFOPointerAddr
0
-
-
class
scapy.contrib.modbus.ModbusPDU18ReadFIFOQueueResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | BYTECOUNT | FIFOCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | FIFOVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU18ReadFIFOQueueResponseModbusPDU18ReadFIFOQueueResponse fields¶ funcCode
24byteCount
BitFieldLenField(16 bits)NoneFIFOCount
BitFieldLenField(16 bits)NoneFIFOVal
[]
-
-
class
scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationError(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | EXCEPTCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU2B0EReadDeviceIdentificationErrorModbusPDU2B0EReadDeviceIdentificationError fields¶ funcCode
171exceptCode
1
-
-
class
scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | MEITYPE | READCODE | OBJECTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU2B0EReadDeviceIdentificationRequestModbusPDU2B0EReadDeviceIdentificationRequest fields¶ funcCode
43MEIType
14readCode
1objectId
0
-
-
class
scapy.contrib.modbus.ModbusPDU2B0EReadDeviceIdentificationResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | MEITYPE | READCODE |CONFORMITYLEVEL| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MORE | NEXTOBJID | OBJCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDU2B0EReadDeviceIdentificationResponseModbusPDU2B0EReadDeviceIdentificationResponse fields¶ funcCode
43MEIType
14readCode
4conformityLevel
1more
0nextObjId
0objCount
0
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusPDUReservedFunctionCodeError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUReservedFunctionCodeErrorModbusPDUReservedFunctionCodeError fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusPDUReservedFunctionCodeRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUReservedFunctionCodeRequestModbusPDUReservedFunctionCodeRequest fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusPDUReservedFunctionCodeResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUReservedFunctionCodeResponseModbusPDUReservedFunctionCodeResponse fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeError(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUUserDefinedFunctionCodeErrorModbusPDUUserDefinedFunctionCodeError fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeRequest(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUUserDefinedFunctionCodeRequestModbusPDUUserDefinedFunctionCodeRequest fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusPDUUserDefinedFunctionCodeResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus._ModbusPDUNoPayload-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FUNCCODE | PAYLOAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusPDUUserDefinedFunctionCodeResponseModbusPDUUserDefinedFunctionCodeResponse fields¶ funcCode
0payload
b''
-
mysummary()¶
-
-
class
scapy.contrib.modbus.ModbusReadFileSubRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFTYPE | FILENUMBER | RECORDNUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RECORDLENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusReadFileSubRequestModbusReadFileSubRequest fields¶ refType
6fileNumber
1recordNumber
0recordLength
1
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusReadFileSubResponse(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPLENGTH | REFTYPE | RECDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ModbusReadFileSubResponseModbusReadFileSubResponse fields¶ respLength
BitFieldLenField(8 bits)NonerefType
6recData
[0]
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusWriteFileSubRequest(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFTYPE | FILENUMBER | RECORDNUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RECORDLENGTH | RECORDDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusWriteFileSubRequestModbusWriteFileSubRequest fields¶ refType
6fileNumber
1recordNumber
0recordLength
BitFieldLenField(16 bits)NonerecordData
[0]
-
guess_payload_class(payload)¶
-
-
class
scapy.contrib.modbus.ModbusWriteFileSubResponse(*args, **kargs)¶ Bases:
scapy.contrib.modbus.ModbusWriteFileSubRequest-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFTYPE | FILENUMBER | RECORDNUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RECORDLENGTH | RECORDDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ModbusWriteFileSubResponseModbusWriteFileSubResponse fields¶ refType
6fileNumber
1recordNumber
0recordLength
BitFieldLenField(16 bits)NonerecordData
[0]
-
guess_payload_class(payload)¶
-