Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeAnswer(ancount int, start_offset int, payload []byte) ([]dnsutils.DnsAnswer, error)
- func DecodeDns(payload []byte) (int, int, int, int, int, error)
- func DecodeQuestion(payload []byte) (string, int, int, error)
- func GetFakeDns() ([]byte, error)
- func GetFakeDnstap(dnsquery []byte) *dnstap.Dnstap
- func ParseA(r []byte) string
- func ParseAAAA(rdata []byte) string
- func ParseLabels(offset int, payload []byte) (string, int, error)
- func ParseRdata(rdatatype string, rdata []byte) string
- func RcodeToString(rcode int) string
- func RdatatypeToString(rrtype int) string
- type DnsProcessor
- type DnstapProcessor
Constants ¶
View Source
const DnsLen = 12
Variables ¶
View Source
var ( Rdatatypes = map[int]string{ 0: "NONE", 1: "A", 2: "NS", 3: "MD", 4: "MF", 5: "CNAME", 6: "SOA", 7: "MB", 8: "MG", 9: "MR", 10: "NULL", 11: "WKS", 12: "PTR", 13: "HINFO", 14: "MINFO", 15: "MX", 16: "TXT", 17: "RP", 18: "AFSDB", 19: "X25", 20: "ISDN", 21: "RT", 22: "NSAP", 23: "NSAP_PTR", 24: "SIG", 25: "KEY", 26: "PX", 27: "GPOS", 28: "AAAA", 29: "LOC", 30: "NXT", 33: "SRV", 35: "NAPTR", 36: "KX", 37: "CERT", 38: "A6", 39: "DNAME", 41: "OPT", 42: "APL", 43: "DS", 44: "SSHFP", 45: "IPSECKEY", 46: "RRSIG", 47: "NSEC", 48: "DNSKEY", 49: "DHCID", 50: "NSEC3", 51: "NSEC3PARAM", 52: "TSLA", 53: "SMIMEA", 55: "HIP", 56: "NINFO", 59: "CDS", 60: "CDNSKEY", 61: "OPENPGPKEY", 62: "CSYNC", 64: "SVCB", 65: "HTTPS", 99: "SPF", 103: "UNSPEC", 108: "EUI48", 109: "EUI64", 249: "TKEY", 250: "TSIG", 251: "IXFR", 252: "AXFR", 253: "MAILB", 254: "MAILA", 255: "ANY", 256: "URI", 257: "CAA", 258: "AVC", 259: "AMTRELAY", 32768: "TA", 32769: "DLV", } Rcodes = map[int]string{ 0: "NOERROR", 1: "FORMERR", 2: "SERVFAIL", 3: "NXDOMAIN", 4: "NOIMP", 5: "REFUSED", 6: "YXDOMAIN", 7: "YXRRSET", 8: "NXRRSET", 9: "NOTAUTH", 10: "NOTZONE", 11: "DSOTYPENI", 16: "BADSIG", 17: "BADKEY", 18: "BADTIME", 19: "BADMODE", 20: "BADNAME", 21: "BADALG", 22: "BADTRUNC", 23: "BADCOOKIE", } )
Functions ¶
func DecodeAnswer ¶
DNS ANSWER 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / / / NAME / | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | TYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | CLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | TTL | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | RDLENGTH | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--| / RDATA / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ PTR can be used on NAME for compression 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | 1 1| OFFSET | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
func DecodeQuestion ¶
DNS QUESTION
1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / QNAME / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QTYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QCLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
func GetFakeDns ¶
func GetFakeDnstap ¶
func GetFakeDnstap(dnsquery []byte) *dnstap.Dnstap
func ParseA ¶
IPv4 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ADDRESS | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
func ParseAAAA ¶
IPv6 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | | | | | ADDRESS | | | | | | | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
func ParseRdata ¶
func RcodeToString ¶
func RdatatypeToString ¶
Types ¶
type DnsProcessor ¶
type DnsProcessor struct {
// contains filtered or unexported fields
}
func NewDnsProcessor ¶
func NewDnsProcessor(logger *logger.Logger) DnsProcessor
func (*DnsProcessor) GetChannel ¶
func (d *DnsProcessor) GetChannel() chan dnsutils.DnsMessage
func (*DnsProcessor) GetChannelList ¶
func (d *DnsProcessor) GetChannelList() []chan dnsutils.DnsMessage
func (*DnsProcessor) Run ¶
func (d *DnsProcessor) Run(send_to []chan dnsutils.DnsMessage)
func (*DnsProcessor) Stop ¶
func (d *DnsProcessor) Stop()
type DnstapProcessor ¶
type DnstapProcessor struct {
// contains filtered or unexported fields
}
func NewDnstapProcessor ¶
func NewDnstapProcessor(logger *logger.Logger) DnstapProcessor
func (*DnstapProcessor) GetChannel ¶
func (d *DnstapProcessor) GetChannel() chan []byte
func (*DnstapProcessor) Run ¶
func (d *DnstapProcessor) Run(send_to []chan dnsutils.DnsMessage)
func (*DnstapProcessor) Stop ¶
func (d *DnstapProcessor) Stop()
Click to show internal directories.
Click to hide internal directories.