DNP3 关键词 ============= DNP3关键词可用于匹配解码后的DNP3报文中的字段。这些关键词基于Snort的DNP3关键词设计,旨在实现100%兼容。 dnp3_func --------- 该关键词用于匹配DNP3请求和响应中的应用功能码。可指定为整数值或功能码的符号名称。 语法 ~~~~~~ :: 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 dnp3_ind -------- 该关键词匹配响应应用头中的DNP3内部指示标志。 语法 ~~~~~~ :: 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。 示例 ~~~~~~~~ :: dnp3_ind:all_stations; :: dnp3_ind:class_1_events,class_2_events; dnp3_obj -------- 该关键词匹配DNP3应用数据对象。 语法 ~~~~~~ :: dnp3_obj:<组>,<变体> 其中<组>和<变体>为0到255之间的整数值(含边界值)。 dnp3_data --------- 该关键词将使后续内容选项在重组后的应用缓冲区上进行匹配。重组后的应用缓冲区是移除CRC(每16字节出现一次)的DNP3片段,可能是由多个DNP3链路层帧重组而成的完整片段。 语法 ~~~~~~ :: dnp3_data; 示例 ~~~~~~~ :: dnp3_data; content:"|c3 06|";