
21:54:35.391126 IP resolver.7538 > server.domain: 57385% [1au] A? www.domain.de. (42)
什么是百分号57385%是什么意思?据我所知,57385是客户序列号,加号意味着RD位设置.
第二个问题:ARCOUNT在查询中做了什么?据我了解tcpdump手册页,[1au]意味着tcpdump将此视为协议异常 – 就像我一样.我在很多查询中都看到了这一点.
解决方法 阅读源卢克:)来自tcpdump / print-domain.c:
printf("%d%s%s%s",EXTRACT_16BITS(&np->ID),ns_ops[DNS_OPCODE(np)],DNS_RD(np) ? "+" : "",DNS_CD(np) ? "%" : ""); 所以%表示“禁用检查”,据我所知,RFC4035表示解析器未强制对服务器上的RR进行身份验证.
来自bind / lib / bind / resolv / res_mkquery.c:
intres_nopt(res_state statp,int n0,/*%< current offset in buffer */ u_char *buf,/*%< buffer to put query */ int buflen,/*%< size of buffer */ int anslen) /*%< UDP answer buffer size */{[...]hp->arcount = htons(ntohs(hp->arcount) + 1); 根据RFC2671,解析器包含附加数据是完全合法的,并且这会使UDP数据包大小超过512字节限制.所以Ladadadada在这方面的假设是正确的.
感谢您的时间和抱歉我之前没有阅读过来源…
总结以上是内存溢出为你收集整理的domain-name-system – tcpdump dns输出代码全部内容,希望文章能够帮你解决domain-name-system – tcpdump dns输出代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)