6.21. dnp3关键词

dnp3关键字可用于匹配解码后的dnp3消息中的字段。关键字基于snort的dnp3关键字,目标是100%兼容。

6.21.1. dnp3_func

此关键字将与dnp3请求和响应中找到的应用程序功能代码匹配。它可以指定为整数值或函数代码的符号名。

6.21.1.1. 句法

dnp3_func:<value>;

其中,值是:

  • 介于0和255之间(含0和255)的整数值。

  • 功能代码名称:

    • 确认

    • 阅读

    • 选择

    • 操作

    • 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

    • 响应

    • unsolicited_response

    • authenticate_resp

6.21.2. dnp3_ind

此关键字与响应应用程序头中的dnp3内部指示器标志匹配。

6.21.2.1. 句法

dnp3_ind:<flag>{,<flag>...}

其中flag是内部指示器的名称:

  • 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

此关键字将匹配所列的任何标志。要在多个标志上匹配(和类型匹配),请对必须设置的每个标志使用dnp3_ind。

6.21.2.2. 实例

dnp3_ind:all_stations;
dnp3_ind:class_1_events,class_2_events;

6.21.3. dnp3_obj

此关键字与dnp3应用程序数据对象匹配。

6.21.3.1. 句法

dnp3_obj:<group>,<variation>

其中,<group>和<variation>是介于0和255之间的整数值。

6.21.4. dnp3_data

此关键字将导致以下内容选项在重新组装的应用程序缓冲区上匹配。重新组装的应用程序缓冲区是一个删除了CRC的dnp3片段(每16字节发生一次),并且是完整的片段,可能从多个dnp3链路层帧重新组装。

6.21.4.1. 句法

dnp3_data;

6.21.4.2. 例子

dnp3_data; content:"|c3 06|";