diff --git a/internal/dns/constants.go b/internal/dns/constants.go index 1ffe03d..61e72a2 100644 --- a/internal/dns/constants.go +++ b/internal/dns/constants.go @@ -1 +1,11 @@ package dns + +const ( + QTypeA uint16 = 1 + QTypeAAAA uint16 = 28 + QTypeCNAME uint16 = 30 +) + +const ( + QClassIN uint16 = 1 +) diff --git a/internal/dns/message.go b/internal/dns/message.go index 1ffe03d..954fdf7 100644 --- a/internal/dns/message.go +++ b/internal/dns/message.go @@ -1 +1,13 @@ package dns + +type DNSMessage struct { + Header DNSHeader + Question DNSQuestion +} + +// convert dns message into a byte slice +func (m *DNSMessage) Serialize() []byte { + header := m.Header.Serialize() + question := m.Question.Serialize() + return append(header, question...) +}