如何在golang的网络包中使用dnsMsg

时间:2013-12-30 18:26:49

标签: go

我正在编写一个简单的golang应用程序,需要对某些DNS数据包进行一些解码。我注意到在net库中,似乎有net/dnsmsg.go形式的完美实现,其中包含正确的结构,打包/解包函数等。

但是,该类型标记为私有(小写dnsMsg)。所以看来我无法在我的应用程序中使用它。

我对golang很新,所以不知道我唯一的选择是自己重新实现net/dnsmsg.go,还是有更好的解决方法。

2 个答案:

答案 0 :(得分:1)

我的问题通过使用第三方dns库解决,特别是miekg / dns(https://github.com/miekg/dns)。

答案 1 :(得分:0)

另一种选择是使用谷歌的gopacket包,它为Go提供数据包解码。特别是,layers子包提供了解码协议包的逻辑,其中包括解码DNS包所需的内容。