1. dns_query
使用dns_query检查DNS请求查询。dns_query关键字与普通内容修饰符略有不同。在规则中使用时,其后面的所有内容都会受其影响。
示例:
alert dns any any -> any any (msg:”Test dns_query option”; dns_query; content:”google”; nocase; sid:1;)
图1dns_query关键字影响所有后续内容,直到使用pkt_data或它到达规则的末尾.
2. 规范化缓冲区
缓冲区包含文字域名
a.<length>值(在原始DNS请求中看到)是文字 '.' 字符
b.没有前导<length>值
c.没有终止NULL(0x00)字节(使用否定相对isdataat 匹配结束)
示例:“mail.google.com”的DNS请求(为了便于阅读,十六进制值在管道之间编码):
线上的DNS查询(片段):
|04|mail|06|google|03|com|00|
dns_query 缓冲:
mail.google.com
网友评论