opensnitch/daemon/dns/parse.go
2020-03-07 10:23:53 +01:00

21 lines
521 B
Go

package dns
import (
"github.com/google/gopacket/layers"
"github.com/gustavo-iniguez-goya/opensnitch/daemon/netfilter"
)
// GetQuestions retrieves the domain names a process is trying to resolve.
func GetQuestions(nfp *netfilter.Packet) (questions []string) {
dnsLayer := nfp.Packet.Layer(layers.LayerTypeDNS)
if dnsLayer == nil {
return questions
}
dns, _ := dnsLayer.(*layers.DNS)
for _, dnsQuestion := range dns.Questions {
questions = append(questions, string(dnsQuestion.Name))
}
return questions
}