domain-name-system – tcpdump dns输出代码

domain-name-system – tcpdump dns输出代码,第1张

概述捕获名称服务器: 21:54:35.391126 IP resolver.7538 > server.domain: 57385% [1au] A? www.domain.de. (42) 什么是百分号57385%是什么意思?据我所知,57385是客户序列号,加号意味着RD位设置. 第二个问题:ARCOUNT在查询中做了什么?据我了解tcpdump手册页,[1au]意味着tcpdump将此视为协议 捕获名称服务器:
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输出代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1095802.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存