ENIP/CIP 关键词 ================= enip_command ------------ 针对ENIP命令,我们匹配ENIP封装中的命令字段。 示例:: enip_command:99; enip_command:list_identity; enip_command使用:ref:`16位无符号整数 `。 也可以通过枚举文本指定。 cip_service ----------- 对于CIP服务,我们最多使用3个逗号分隔值,分别表示服务、类和属性。 这些值在CIP规范中有描述。CIP类与其服务相关联,CIP属性与其服务相关联。 如果只需匹配到服务级别,则只需提供服务值。若需匹配到CIP属性,则必须提供全部3个值。 示例:: cip_service:75 cip_service:16,246,6 (参考 http://read.pudn.com/downloads166/ebook/763211/EIP-CIP-V1-1.0.pdf) 协议信息可在此处查阅: ``_ enip.status ----------- 针对ENIP状态,我们匹配ENIP封装中的状态字段。 使用32位无符号整数值。 enip.status使用:ref:`32位无符号整数 `。 也可以通过枚举文本指定。 示例:: enip.status:100; enip.status:>106; enip.status:invalid_cmd; enip.protocol_version --------------------- 匹配不同消息中的协议版本。 使用16位无符号整数值。 enip.protocol_version使用:ref:`16位无符号整数 `。 示例:: enip.protocol_version:1; enip.protocol_version:>1; enip.cip_attribute ------------------ 匹配不同消息中的cip属性。 使用32位无符号整数值。 允许在不匹配cip.service的情况下进行匹配。 enip.cip_attribute使用:ref:`32位无符号整数 `。 示例:: enip.cip_attribute:1; enip.cip_attribute:>1; enip.cip_instance ----------------- 匹配CIP请求路径中的cip实例。 使用32位无符号整数值。 enip.cip_instance使用:ref:`32位无符号整数 `。 示例:: enip.cip_instance:1; enip.cip_instance:>1; enip.cip_class -------------- 匹配CIP请求路径中的cip类。 使用32位无符号整数值。 enip.cip_class使用:ref:`32位无符号整数 `。 允许在不匹配cip.service的情况下进行匹配。 示例:: enip.cip_class:1; enip.cip_class:>1; enip.cip_extendedstatus ----------------------- 匹配存在的cip扩展状态(如果有)。 对于多服务数据包,将匹配任何出现的状态。 使用16位无符号整数值。 enip.cip_extendedstatus使用:ref:`16位无符号整数 `。 示例:: enip.cip_extendedstatus:1; enip.cip_extendedstatus:>1; enip.revision ------------- 匹配身份消息中的修订版本。 使用16位无符号整数值。 enip.revision使用:ref:`16位无符号整数 `。 示例:: enip.revision:1; enip.revision:>1; enip.identity_status -------------------- 匹配身份消息中的状态(非ENIP头部)。 使用16位无符号整数值。 enip.identity_status使用:ref:`16位无符号整数 `。 示例:: enip.identity_status:1; enip.identity_status:>1; enip.state ---------- 匹配身份消息中的状态。 使用8位无符号整数值。 enip.state使用:ref:`8位无符号整数 `。 示例:: enip.state:1; enip.state:>1; enip.serial ----------- 匹配身份消息中的序列号。 使用32位无符号整数值。 enip.serial使用:ref:`32位无符号整数 `。 示例:: enip.serial:1; enip.serial:>1; enip.product_code ----------------- 匹配身份消息中的产品代码。 使用16位无符号整数值。 enip.product_code使用:ref:`16位无符号整数 `。 示例:: enip.product_code:1; enip.product_code:>1; enip.device_type ---------------- 匹配身份消息中的设备类型。 使用16位无符号整数值。 enip.device_type使用:ref:`16位无符号整数 `。 示例:: enip.device_type:1; enip.device_type:>1; enip.vendor_id -------------- 匹配身份消息中的厂商ID。 使用16位无符号整数值。 enip.vendor_id使用:ref:`16位无符号整数 `。 示例:: enip.vendor_id:1; enip.vendor_id:>1; enip.product_name ----------------- 匹配身份消息中的产品名称。 示例:: enip.product_name; pcre:"/^123[0-9]*/"; enip.product_name; content:"swordfish"; ``enip.product_name`` 是'粘性缓冲区',可用作 ``fast_pattern``。 enip.service_name ----------------- 匹配服务列表消息中的服务名称。 示例:: enip.service_name; pcre:"/^123[0-9]*/"; enip.service_name; content:"swordfish"; ``enip.service_name`` 是'粘性缓冲区',可用作 ``fast_pattern``。 enip.capabilities ----------------- 匹配服务列表消息中的功能。 使用16位无符号整数值。 enip.capabilities使用:ref:`16位无符号整数 `。 示例:: enip.capabilities:1; enip.capabilities:>1; enip.cip_status --------------- 匹配cip状态(多服务数据包中的任意一个状态)。 使用8位无符号整数值。 enip.cip_status使用:ref:`8位无符号整数 `。 示例:: enip.cip_status:1; enip.cip_status:>1;