我想利用Unbound Python模块在将响应发送到客户端之前检查响应.首先,我;; ANSWER SECTION:对查询得到解决的IP地址感兴趣.
看起来像是对logDnsMsg函数的一个微不足道的修改,结果是浏览的重要任务reply_info,rrset_ref以及ub_packed_rrset_key追求所需;; ANSWER SECTION:字节的结构.
原因是logDnsMsg函数不能按预期的方式运行A查询;; ANSWER SECTION:,而令人惊讶的是它;; AUTHORITY SECTION:在AAAA查询时按预期运行.
Lemme演示了Python实现的logDnsMsg函数和本机log_dns_msg函数之间的比较; 前者显示胡言乱语,后者表现完全符合预期.这两个函数都在Python模块上下文中调用,如下所示:
+++
def operate(id, event, qstate, qdata):
log_info("pythonmod: operate called, id: %d, event:%s" % (id, strmodulevent(event)))
if (qstate.return_msg):
logDnsMsg(qstate)
log_dns_msg("blackpie KARMMMMMM XXXXXXX", qstate.return_msg.qinfo, qstate.return_msg.rep)
+++
Run Code Online (Sandbox Code Playgroud)
请注意,我更改了原始的logDnsMsg,因为它使用了日志框架print.输出是相同的,print但是在缓冲区的判断下分散在日志文件中.
dig 输出:
karm@localhost:~$ …Run Code Online (Sandbox Code Playgroud)