6.31. HTTP2关键字

HTTP2帧根据流标识符分组到事务中(如果不是0)。对于流标识符为0的帧,其对连接的影响是全局的,将为每个帧创建一个事务。

6.31.1. http2.frametype

匹配事务中存在的帧类型。

实例:

http2.frametype:GOAWAY;

6.31.2. http2.errorcode

匹配GOWAY或RST_流帧中的错误代码

实例:

http2.errorcode: NO_ERROR;
http2.errorcode: INADEQUATE_SECURITY;

6.31.3. http2.priority

匹配priority或HEADERS框架中存在的HTTP2 priority字段的值。

此关键字在冒号后接受数字参数,并支持其他限定符,例如:

  • > (大于)

  • < (小于)

  • x-y (值x和y之间的范围)

实例:

http2.priority:2;
http2.priority:>100;
http2.priority:32-64;

6.31.4. http2.window

匹配WINDOWUPDATE框架中存在的HTTP2值字段的值。

此关键字在冒号后接受数字参数,并支持其他限定符,例如:

  • > (大于)

  • < (小于)

  • x-y (值x和y之间的范围)

实例:

http2.window:1;
http2.window:<100000;

6.31.5. http2.size_update

匹配HTTP2动态头表的大小。有关协议的更多信息,请访问: https://tools.ietf.org/html/rfc7541#section-6.3

此关键字在冒号后接受数字参数,并支持其他限定符,例如:

  • > (大于)

  • < (小于)

  • x-y (值x和y之间的范围)

实例:

http2.size_update:1234;
http2.size_update:>4096;

6.31.6. http2.settings

匹配设置框中HTTP2设置的名称和值。

此关键字在冒号后接受数字参数,并支持其他限定符,例如:

  • > (大于)

  • < (小于)

  • x-y (值x和y之间的范围)

实例:

http2.settings:SETTINGS_ENABLE_PUSH=0;
http2.settings:SETTINGS_HEADER_TABLE_SIZE>4096;

6.31.7. http2.header_name

匹配来自头帧的HTTP2头的名称(或PUSH_PROMISE或CONTINUATION)。

实例:

http2.header_name; content:"agent";

http2.header_name 是“粘性缓冲区”。

http2.header_name 可用作 fast_pattern .

6.31.8. http2.header

匹配头帧中HTTP2头的名称和值(或PUSH-unmise或CONTINUATION)。名称和值由“:”、冒号和空格连接。名称或值中的每个冒号都应作为双冒号“:”进行转义以进行检测

实例:

http2.header; content:"agent: nghttp2";
http2.header; content:"custom-header: I love::colons";

http2.header 是“粘性缓冲区”。

http2.header 可用作 fast_pattern .

6.31.9. 附加信息

有关协议的更多信息,请访问: https://tools.ietf.org/html/rfc7540