processors

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

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

func DecodeAnswer(ancount int, start_offset int, payload []byte) ([]dnsutils.DnsAnswer, error)
    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 DecodeDns

func DecodeDns(payload []byte) (int, int, int, int, int, error)

func DecodeQuestion

func DecodeQuestion(payload []byte) (string, int, int, error)

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 GetFakeDns() ([]byte, error)

func GetFakeDnstap

func GetFakeDnstap(dnsquery []byte) *dnstap.Dnstap

func ParseA

func ParseA(r []byte) string
    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

func ParseAAAA(rdata []byte) string
    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 ParseLabels

func ParseLabels(offset int, payload []byte) (string, int, error)

func ParseRdata

func ParseRdata(rdatatype string, rdata []byte) string

func RcodeToString

func RcodeToString(rcode int) string

func RdatatypeToString

func RdatatypeToString(rrtype int) string

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()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL