v0.3.0 Alpha-0.3.0
Pre-release
Pre-release
Alpha测试版本0.3.0 ✨
基本框架完工,已可运行使用 ⚡
更新内容:
- 添加对DNSSEC相关记录的支持
- DNSKEY
- RRSIG
- NSEC
- DS
- 添加DNSSEC相关工具函数
- GenerateDNSKEY
- GenerateRRSIG
- CalculateKeyTag
- .....还有更多!
- 完善单元测试
- 修正代码错误❌
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)的资源记录编解码
目前支持的资源记录类型有:
- A 记录
- CNAME 记录
- NS 记录
- TXT 记录
- DNSKEY 记录
- RRSIG 记录
- NSEC记录
- DS记录
- 仍待更新...
进一步完善及测试进行中...
Full Changelog: v0.2.1...v0.3.0