HTTP2 关键词 ============== HTTP2帧会基于流标识符进行事务分组(当标识符不为0时)。对于流标识符为0的帧(其影响对连接是全局性的),每个帧都会创建一个独立的事务。 帧类型 ------ HTTP2解析器支持以下帧类型(按Suricata定义),这些帧会为每个HTTP2帧(按HTTP2 RFC定义)创建: * http2.hdr * http2.data * http2.pdu http2.frametype --------------- 匹配事务中出现的帧类型。 示例:: http2.frametype:GOAWAY; http2.errorcode --------------- 匹配GOAWAY或RST_STREAM帧中的错误码。 示例:: http2.errorcode: NO_ERROR; http2.errorcode: INADEQUATE_SECURITY; http2.priority -------------- 匹配PRIORITY或HEADERS帧中的HTTP2优先级字段值。 http2.priority使用 :ref:`8位无符号整数 `。 该关键词在冒号后接受数字参数,并支持以下修饰符: * ``>``(大于) * ``<``(小于) * ``x-y``(值范围介于x和y之间) 示例:: http2.priority:2; http2.priority:>100; http2.priority:32-64; http2.window ------------ 匹配WINDOWUPDATE帧中的HTTP2窗口值字段。 http2.window使用 :ref:`32位无符号整数 `。 该关键词在冒号后接受数字参数,并支持以下修饰符: * ``>``(大于) * ``<``(小于) * ``x-y``(值范围介于x和y之间) 示例:: http2.window:1; http2.window:<100000; http2.size_update ----------------- 匹配HTTP2动态头部表的大小。 协议详情参见: ``_ http2.size_update使用 :ref:`64位无符号整数 `。 该关键词在冒号后接受数字参数,并支持以下修饰符: * ``>``(大于) * ``<``(小于) * ``x-y``(值范围介于x和y之间) 示例:: http2.size_update:1234; http2.size_update:>4096; http2.settings -------------- 匹配SETTINGS帧中的HTTP2配置项名称和值。 该关键词在冒号后接受数字参数,并支持以下修饰符: * ``>``(大于) * ``<``(小于) * ``x-y``(值范围介于x和y之间) 示例:: http2.settings:SETTINGS_ENABLE_PUSH=0; http2.settings:SETTINGS_HEADER_TABLE_SIZE>4096; .. _http2.header_name: http2.header_name ----------------- 匹配HEADER帧(或PUSH_PROMISE、CONTINUATION帧)中的HTTP2头部名称。 示例:: http2.header_name; content:"agent"; ``http2.header_name`` 是'粘性缓冲区'。 ``http2.header_name`` 可作为 ``fast_pattern`` 使用。 ``http2.header_name`` 支持多缓冲区匹配,参见 :doc:`multi-buffer-matching`。 补充信息 ---------------------- 协议详情参见: ``_