加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua – NodeMCU UDP DNS请求格式

发布时间:2020-12-15 00:17:08 所属栏目:大数据 来源:网络整理
导读:我正在寻找建立在NodeMCU平台上的 this example强制门户网站,我正在努力了解DNS请求的工作原理. (相关文件是dns-liar.lua)我或多或少地解码了响应的内容,但不知道它的每个部分是做什么的,而且我找不到任何显示类似数据包结构的在线资源. NodeMCU的IP: a.b.c
我正在寻找建立在NodeMCU平台上的 this example强制门户网站,我正在努力了解DNS请求的工作原理. (相关文件是dns-liar.lua)我或多或少地解码了响应的内容,但不知道它的每个部分是做什么的,而且我找不到任何显示类似数据包结构的在线资源.

NodeMCU的IP:

a.b.c.d

请求:

|A|B| ... |(13th byte)  terminated string (str)| ...

响应:(以“|”分隔的字节数)

|A|B|x80|x00|x00|x01|x00|x01|x00|x00|x00|x00|str|x00|x01|x00|x01|xC0|x0C|x00|x01|x00|x01|x00|x00|x03|x00|x00|x04|a|b|c|d|

我认为str可能是要搜索的域,而abcd只是NodeMCU用自己的IP地址响应每个请求,但我不确定其他任何字节是做什么的.

解决方法

呼!当人们决定提前格式化几乎整个数据包时,这总是很棘手,特别是当它跨越RFC的几个子部分时.

无论如何,我继续前进并分叉CaptiveIntraweb并评论了DNS代码.我还有submitted a PR我的更改所以它有望在未来的版本中被拉上游.您可以在那里阅读整个内容(它详细介绍了每个DNS字段),但以下是作者正在做的事情的重点:

>前两个字节是从请求中解析的ID字段的副本>接下来的10个字节是预制的标题,包括数据包的类型等等(…_ str1).>下一个X字节是请求中请求的NAME的副本>接下来的4个字节是问题数据的其余部分(类型/类),接下来的14个字节是压缩的NAME,以及响应的类型/ class / ttl / length(…_ str2).>最后,最后四个字节是节点的IP.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读