gpt4 book ai didi

regex - Snort/PCRE 正则表达式 : odd character class syntax

转载 作者:行者123 更新时间:2023-12-03 23:54:24 32 4
gpt4 key购买 nike

当我解析 Snort 正则表达式集时,我发现了一个非常奇怪的字符类语法,比如 [\x80-t][\x01-t\x0B\x0C\x0E-t\x80-t] ,我不知道(真的不知道)是什么 -t 意味着。我什至不知道它是标准 PCRE 还是某种 Snort 扩展。

以下是一些包含这些字符类的正则表达式:

/\x3d\x00\x12\x00..........(.[\x80-t]|...[\x80-t])/smiR
/^To\x3A[^\r\n]+[\x01-t\x0B\x0C\x0E-t\x80-t]/smi

PS:请注意 \x80-t甚至不是标准方式的有效范围,因为字符 电话 \x74 .

最佳答案

这可以引用不同的字符编码,其中 t大于 x80x80无法正常处理。

以 EBCDIC 扫描码为例(见 here for a reference)。

(但我也不知道为什么有人想这样写)

对于 ASCII 我有一个疯狂的猜测:如果 -t表示“直到下一个标记 -1”,或者如果放在最后一行“直到允许的字符结束”,第二个查询将说明这一点:

To:(not a newline, more than one character)(not a newline)

所以基本上表达式 [\x01-t\x0B\x0C\x0E-t\x80-t]将意味着 [^\r\n] .

如果将其应用于 (.Ç-t]|...[Ç-t])这将处理任何大于 7 位 ASCII 的字符,这些字符也可以处理所有 unicode(除了前 127 个字符)。

(话虽这么说,我仍然不知道为什么有人应该这样写,但至少除了“这是一个错误”之外,这是一个连贯的解释)

也许有帮助:如果写出\xYY,你发布的 rexex 是什么意思?
ASCII:
/=\NULL\DEVICE_CONTROL_2\NULL\.{10}\(.Ç-t]|...[Ç-t])/smiR
/^To\:[^\r\n]+[\START_OF_HEADING-t\VERTICALTAB\FORMFEED\SHIFTOUT\Ç-t]/smi

照看 \0x12又名 Device control 2可能会有所帮助,因为这不会显示在文本中,但可能会显示在净流量中。

关于regex - Snort/PCRE 正则表达式 : odd character class syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20546667/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com