英文:
What does a DNS query look like?
问题
我想用Go语言创建一个简单的DNS服务器。我知道DNS的工作原理,但对于DNS查询的实际样子并不完全确定。
例如,一个HTTP GET请求的样子是这样的:
GET /index.html HTTP/1.1
所以我的问题是,一个DNS查询是不是看起来像这样:
QUERY google.com A
或者DNS服务器是解释被查询的域名的二进制表示形式呢?
英文:
I'd like to make a simple DNS server using Go. I know how DNS works but I'm not 100% sure as to how a DNS query actually looks.
For example, a HTTP GET request looks like this:
GET /index.html HTTP/1.1
So my question is, does a DNS query look something like this:
QUERY google.com A
Or do DNS servers interpret the binary representation the domain name being queried?
答案1
得分: 2
你可以查看miekg/dns
项目。它构建了一个由MsgHdr
组成的Msg,其中包括QUERY code(以及其他OpCodes)。
在“第15章 DNS消息”中,你可以看到这个消息头。
英文:
You could check out the miekg/dns
project.
It builds Msg compose of a MsgHdr
which includes the QUERY code (amongst other OpCodes).
That follows the Message Header you can see in "Chapter 15 DNS Messages".
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论