Skip to content

v0.2.1 Beta-0.2.1

Choose a tag to compare

@TochusC TochusC released this 30 Oct 06:26
· 62 commits to main since this release

Beta测试版本0.2.1 ✨

基本框架完工,已可运行使用 ⚡

更新内容:

  1. 修正默认实现DullResponser的回复
  2. 更新对NS记录、TXT记录的支持

GoDNSServer设计完成

DNS服务器实现

  • server.go 顶层封装
    • sniffer.go 监听数据包
    • handler.go 处理数据包
      • parser.go 解析数据包
      • responser.go 生成DNS回复
      • sender.go 发送DNS回复

dns包设计完成

DNS消息编解码实现

// DNSMessage 表示 DNS协议 的消息结构。
type DNSMessage struct {
	// DNS消息 头部
	Header DNSHeader // DNS 头部(Header)
	// DNS消息的各个部分(Section)
	Question   DNSQuestionSection // DNS 查询部分(Questions Section)
	Answer     DNSResponseSection // DNS 回答部分(Answers Section)
	Authority  DNSResponseSection // DNS 权威部分(Authority Section)
	Additional DNSResponseSection // DNS 附加部分(Additional Section)
}

子包 xlayers

提供实现gopacket接口的DNS封装结构

现已支持未知类型(RRType)的资源记录编解码

目前支持的资源记录类型有:

  1. A 记录
  2. CNAME 记录
  3. NS 记录
  4. TXT 记录
  5. 仍待更新...

进一步完善及测试进行中...

Full Changelog: v0.1.0...v0.2.1