

> poll holding_register 1-10,15-19 1 # poll registers every second > write holding_register 1400 DEADBEEF # or raw hex Planned ui commands once complete: > write holding_register 1000 "My name is Mud" # and strings > write holding_register 1000 14302 188 305 # registers support int

> write coils 76 01101001 # or multiple values > write coils 128 0 # write single values > read holding_register 50 9 # or start address and count > read coils 1,3,5,7 # with comma separated values > read discrete_inputs 1 # read coils and registers > connect rtu:/dev/serial # works with serial too Proxy feature between two modbus endpointsĪs long as you have git and Python 3.6 or later installed, all you should need to do is: pip3 install ctmodbusĮxamples of current user interface commands once you start ctmodbus: > connect tcp:10.10.10.1 # start a client session.Clone feature to quickly create base data for simulator.Reading addresses specified in lists and ranges (DONE).All standard Modbus functions (reads DONE, writes IN PROGRESS).

Client and server options (DONE in lib, server IN PROGRESS).TCP and UDP versions of TCP/IP Modbus (DONE).RTU and ASCII versions of serial Modbus (DONE).The goal of ctmodbus is to become the security professional's Swiss army knifeįor interacting with Modbus devices.
