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