Understanding SCADAs Modbus Protocol
Understanding SCADAs Modbus Protocol
SCADA's
Modbus
Protocol
Jus9n
Searle
Managing
Partner
-‐
U9liSec
Genera9on
SCADA
Source - http://osgug.ucaiug.org/utilisec/Shared%20Documents/Substation%20Automation
%20Security%20Profile/SA%20Security%20Profile%20-%20v0_15%20-%2020120930.docx !
Copyright 2015 Justin Searle 6 www.utilisec.com
PLC
Inputs
and
Outputs
http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
Copyright 2015 Justin Searle 11 www.utilisec.com
Modbus
Data
Func9on
Codes
Func5on
Category
Func5on
Name
Code
(Hex)
Physical
Discrete
Inputs
Read
Discrete
Inputs
2
0x02
Bit
Read
Coils
1
0x01
access
Internal
Bits
or
Physical
Write
Single
Coil
5
0x05
Coils
Write
Mul9ple
Coils
15
0x0F
Physical
Input
Registers
Read
Input
Register
4
0x04
Read
Holding
Registers
3
0x03
Data
Write
Single
Register
6
0x06
Access
16-‐bit
Write
Mul9ple
Registers
16
0x10
access
Internal
Registers
or
Physical
Output
Registers
Read/Write
Mul9ple
Registers
23
0x17
Mask
Write
Register
22
0x16
Read
FIFO
Queue
24
0x18
Read
File
Record
20
0x14
File
Record
Access
Write
File
Record
21
0x15
command line : (full
list
of
commands
is
redacted
to
fit
in
slide)
-r1 : read bit(s) (function 1)
-r2 : read bit(s) (function 2)
-r3 : read word(s) (function 3)
-r4 : read word(s) (function 4)
-w5 bit_value : write a bit (function 5)
-w6 word_value : write a word (function 6)
-p port_number : set TCP port (default 502)
-a modbus_address : set modbus address (default 0)
-n value_number : number of values to read
www.u9lisec.com
[email protected]
Jus9n
Searle
personal:
[email protected]
work:
[email protected]
cell:
801-‐784-‐2052
twiJer:
@meeas
Copyright 2015 Justin Searle
32 www.utilisec.com