我想使用Go创建一个简单的DNS服务器。我知道DNS是如何工作的,但我不能100%确定DNS查询的实际外观。
例如,HTTP GET请求如下所示:
GET /index.html HTTP/1.1
所以我的问题是,DNS查询看起来像这样:
QUERY google.com A
或者DNS服务器是否解释了正在查询的域名的二进制表示?
答案 0 :(得分:2)
您可以查看miekg/dns
项目
它构建Msg由MsgHdr
组成,其中包含QUERY code(other OpCodes之间)。
您可以在" Chapter 15 DNS Messages"中找到消息标题。