标签: go
我正在编写一个简单的golang应用程序,需要对某些DNS数据包进行一些解码。我注意到在net库中,似乎有net/dnsmsg.go形式的完美实现,其中包含正确的结构,打包/解包函数等。
net
net/dnsmsg.go
但是,该类型标记为私有(小写dnsMsg)。所以看来我无法在我的应用程序中使用它。
dnsMsg
我对golang很新,所以不知道我唯一的选择是自己重新实现net/dnsmsg.go,还是有更好的解决方法。
答案 0 :(得分:1)
我的问题通过使用第三方dns库解决,特别是miekg / dns(https://github.com/miekg/dns)。
答案 1 :(得分:0)
另一种选择是使用谷歌的gopacket包,它为Go提供数据包解码。特别是,layers子包提供了解码协议包的逻辑,其中包括解码DNS包所需的内容。