How tacticalgator/modbuster works
Modbuster is a Python CLI for authorized Modbus TCP assessment. A user selects read, write, function-code enumeration, or diagnostics; the CLI parses arguments and dispatches to the corresponding verb. Read/write verbs classify addresses through shared helpers before issuing Modbus operations; diagnostics run standard checks or selected disruptive actions; enumeration probes function codes directly over TCP. Results are printed to the terminal. The main modules and their direct calls are shown; the Modbus target and pymodbus are external dependencies.
Main entry points: modbuster.py Command parser · read.py Read verb · write.py Write verb · diag.py Diagnostics
Components 10
CLI dispatch
- Command parser
modbuster/modbuster.py
Read and write
- Read verb
modbuster/verbs/read.py - Write verb
modbuster/verbs/write.py
Discovery and diagnostics
- Function scan
modbuster/verbs/getfunctions.py - Diagnostics
modbuster/verbs/diag.py
Shared Modbus support
- Address and connection helpers
modbuster/verbs/common.py
Other components
- Operator
- pymodbus client
- Modbus TCP device
- Operator terminal
Connections 17
- Operator → Command parser: selects command
README.md - Command parser → Read verb: dispatches
modbuster/modbuster.py - Command parser → Write verb: dispatches
modbuster/modbuster.py - Command parser → Function scan: dispatches
modbuster/modbuster.py - Command parser → Diagnostics: dispatches
modbuster/modbuster.py - Read verb → Address and connection helpers: parses address; connects
modbuster/verbs/read.py - Write verb → Address and connection helpers: parses address; connects
modbuster/verbs/write.py - Diagnostics → Address and connection helpers: connects
modbuster/verbs/diag.py - Address and connection helpers → pymodbus client: creates client
modbuster/verbs/common.py - Read verb → Modbus TCP device: reads data
modbuster/verbs/read.py - Write verb → Modbus TCP device: writes values
modbuster/verbs/write.py - Diagnostics → Modbus TCP device: runs diagnostics
modbuster/verbs/diag.py - Function scan → Modbus TCP device: probes codes
modbuster/verbs/getfunctions.py - Read verb → Operator terminal: prints values
modbuster/verbs/read.py - Write verb → Operator terminal: prints status
modbuster/verbs/write.py - Diagnostics → Operator terminal: prints results
modbuster/verbs/diag.py - Function scan → Operator terminal: prints findings
modbuster/verbs/getfunctions.py