10.24. DNP3 关键词¶
DNP3关键词可用于匹配解码后的DNP3报文中的字段。这些关键词基于Snort的DNP3关键词设计,旨在实现100%兼容。
10.24.1. dnp3_func¶
该关键词用于匹配DNP3请求和响应中的应用功能码。可指定为整数值或功能码的符号名称。
10.24.1.1. 语法¶
dnp3_func:<值>;
其中值为以下之一:
0到255之间的整数值(含边界值)
功能码名称:
confirm
read
write
select
operate
direct_operate
direct_operate_nr
immed_freeze
immed_freeze_nr
freeze_clear
freeze_clear_nr
freeze_at_time
freeze_at_time_nr
cold_restart
warm_restart
initialize_data
initialize_appl
start_appl
stop_appl
save_config
enable_unsolicited
disable_unsolicited
assign_class
delay_measure
record_current_time
open_file
close_file
delete_file
get_file_info
authenticate_file
abort_file
activate_config
authenticate_req
authenticate_err
response
unsolicited_response
authenticate_resp
10.24.2. dnp3_ind¶
该关键词匹配响应应用头中的DNP3内部指示标志。
10.24.2.1. 语法¶
dnp3_ind:<标志>{,<标志>...}
其中标志为以下内部指示名称:
all_stations
class_1_events
class_2_events
class_3_events
need_time
local_control
device_trouble
device_restart
no_func_code_support
object_unknown
parameter_error
event_buffer_overflow
already_executing
config_corrupt
reserved_2
reserved_1
只要列出的任一标志被设置,该关键词就会匹配。如需匹配多个标志(AND型匹配),需对每个必须设置的标志使用dnp3_ind。
10.24.2.2. 示例¶
dnp3_ind:all_stations;
dnp3_ind:class_1_events,class_2_events;
10.24.3. dnp3_obj¶
该关键词匹配DNP3应用数据对象。
10.24.3.1. 语法¶
dnp3_obj:<组>,<变体>
其中<组>和<变体>为0到255之间的整数值(含边界值)。
10.24.4. dnp3_data¶
该关键词将使后续内容选项在重组后的应用缓冲区上进行匹配。重组后的应用缓冲区是移除CRC(每16字节出现一次)的DNP3片段,可能是由多个DNP3链路层帧重组而成的完整片段。
10.24.4.1. 语法¶
dnp3_data;
10.24.4.2. 示例¶
dnp3_data; content:"|c3 06|";