我正在寻找一种方法来过滤 wireshark 中的数据包捕获,例如我们的服务器对递归 DNS 查询做出“拒绝”响应。
dns.resp.type==
似乎没有提供任何与我的要求相匹配的东西,我需要去其他地方看看吗dns.resp
?
答案1
基于https://www.wireshark.org/docs/dfref/d/dns.html您需要使用dns.flags.rcode
定义为:
dns.flags.rcode 回复代码 无符号整数,2 个字节 1.0.0 至 3.4.9
“回复代码”在 RFC 1035 的 §4.1.1 中定义为“响应代码”,其中“Refused”的值为 5:
5 拒绝 - 名称服务器由于策略原因拒绝执行指定操作。例如,名称服务器可能不希望向特定请求者提供信息,或者名称服务器可能不希望对特定数据执行特定操作(例如区域传输)。
由于Wireshark将其定义为2个字节,所以也许它是RFC中描述的整个结构:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
因此,为了RCODE
与值 5 进行比较,您可能必须屏蔽其他位。