BRO-IDS如何将字符串与NUL终止符进行比较

时间:2018-07-04 09:02:52

标签: bro

我正在测试与BRO进行的字符串比较,并遇到一些运行时错误。希望你们能看看并给我一些提示。 例如,我有两个字符串,比如说str_A和str_B,str_A是一种模式,例如:history

str_B是函数中的有效负载(内容)字符串:

str_A = "\x13\x02\xf0\x80";

我将两个字符串与event tcp_packet(c: connection, is_orig: bool, flags: string, seq: count, ack: count, len: count, contents: string) 进行了比较,这减少了运行时错误,例如:

if(str_A in str_B)

好像在模式字符串中间的'x00'被认为是终止符,对于后者,在str_B的末尾没有NUL。

所以(愚蠢的)问题是如何在BRO的str_B末尾附加一个NUL?比较时如何使BRO忽略字符串中间的嵌入NUL?非常感谢。

1 个答案:

答案 0 :(得分:1)

通过将十六进制字符串转换(调用字符串string_to_ascii_hex()函数)为ASCII十六进制字符串,可以很好地解决这一问题。