udwDnsPacket

package
v0.0.0-...-f254aa5 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2020 License: MIT Imports: 13 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanProcessByType

func CanProcessByType(Type DnsRRType) bool

func GetAllDnsRRTypeStringList

func GetAllDnsRRTypeStringList() []string

func IsInDomainSuffixSet

func IsInDomainSuffixSet(domain string, m map[string]struct{}) bool

func IsInMatchOut

func IsInMatchOut(in DnsPacket, out DnsPacket) bool

func IsLookLikeFakePacket

func IsLookLikeFakePacket(out DnsPacket) bool

func NormalizeDomain

func NormalizeDomain(domain string) string

func PacketWriteToByteSlice

func PacketWriteToByteSlice(packet DnsPacket, buf []byte) (outBuf []byte, errMsg string)

Types

type DnsPacket

type DnsPacket struct {
	Id                    uint16
	Bits                  uint16
	QuestionName          string
	QuestionType          DnsRRType
	AnswerList            []DnsRR
	HasEdns4096           bool
	IsWriteAnsToAuthority bool

	Ancount           uint16
	Nscount           uint16
	Arcount           uint16
	HasCompressDomain bool
}

func NewDnsPacketForRequest

func NewDnsPacketForRequest(domain string, typ DnsRRType) DnsPacket

func PacketReadFromByteSlice

func PacketReadFromByteSlice(buf []byte) (packet DnsPacket, errMsg string)

func (DnsPacket) GetBinaryLen

func (packet DnsPacket) GetBinaryLen() int

func (DnsPacket) GetNormalizeQuestionName

func (packet DnsPacket) GetNormalizeQuestionName() string

func (DnsPacket) GetOpcode

func (packet DnsPacket) GetOpcode() int

func (DnsPacket) GetRcode

func (packet DnsPacket) GetRcode() Rcode

func (*DnsPacket) HasPlainResult

func (packet *DnsPacket) HasPlainResult(result string) bool

func (DnsPacket) IsAuthenticatedData

func (packet DnsPacket) IsAuthenticatedData() bool

func (DnsPacket) IsAuthoritative

func (packet DnsPacket) IsAuthoritative() bool

func (DnsPacket) IsBitReserverd9

func (packet DnsPacket) IsBitReserverd9() bool

func (DnsPacket) IsCheckingDisabled

func (packet DnsPacket) IsCheckingDisabled() bool

func (DnsPacket) IsRecursionAvailable

func (packet DnsPacket) IsRecursionAvailable() bool

func (DnsPacket) IsRecursionDesired

func (packet DnsPacket) IsRecursionDesired() bool

func (DnsPacket) IsResponse

func (packet DnsPacket) IsResponse() bool

func (DnsPacket) IsTruncated

func (packet DnsPacket) IsTruncated() bool

func (*DnsPacket) SetIsAuthenticatedData

func (packet *DnsPacket) SetIsAuthenticatedData(is bool)

func (*DnsPacket) SetIsRecursionAvailable

func (packet *DnsPacket) SetIsRecursionAvailable(is bool)

func (*DnsPacket) SetIsRecursionDesired

func (packet *DnsPacket) SetIsRecursionDesired(is bool)

func (*DnsPacket) SetIsResponse

func (packet *DnsPacket) SetIsResponse(is bool)

func (*DnsPacket) SetRcode

func (packet *DnsPacket) SetRcode(code Rcode)

func (*DnsPacket) ShuffleAnswer

func (packet *DnsPacket) ShuffleAnswer()

func (DnsPacket) String

func (packet DnsPacket) String() (out string)

type DnsRR

type DnsRR struct {
	Name   string
	Type   DnsRRType
	Ttl    uint32
	Result string
}

func (DnsRR) GetMx

func (rr DnsRR) GetMx() (out DnsRRMX)

func (DnsRR) GetNormalizeName

func (rr DnsRR) GetNormalizeName() string

func (DnsRR) GetSoa

func (rr DnsRR) GetSoa() (out DnsRRSoa)

func (DnsRR) GetSrv

func (rr DnsRR) GetSrv() (out DnsRRSrv)

func (DnsRR) GetTxt

func (rr DnsRR) GetTxt() (out []string)

func (*DnsRR) SetMx

func (rr *DnsRR) SetMx(in DnsRRMX)

func (*DnsRR) SetSoa

func (rr *DnsRR) SetSoa(in DnsRRSoa)

func (*DnsRR) SetSrv

func (rr *DnsRR) SetSrv(in DnsRRSrv)

func (*DnsRR) SetTxt

func (rr *DnsRR) SetTxt(in []string)

type DnsRRMX

type DnsRRMX struct {
	Preference uint16
	Mx         string
}

type DnsRRSoa

type DnsRRSoa struct {
	Ns      string
	Mbox    string
	Serial  uint32
	Refresh uint32
	Retry   uint32
	Expire  uint32
	Minttl  uint32
}

type DnsRRSrv

type DnsRRSrv struct {
	Priority uint16
	Weight   uint16
	Port     uint16
	Target   string
}

type DnsRRType

type DnsRRType uint16
const (
	DnsPort = 53

	DnsTypeNone DnsRRType = 0
	DnsTypeA    DnsRRType = 1
	DnsTypeNS   DnsRRType = 2

	DnsTypeCNAME DnsRRType = 5
	DnsTypeSOA   DnsRRType = 6
	DnsTypePTR   DnsRRType = 12
	DnsTypeMX    DnsRRType = 15
	DnsTypeTXT   DnsRRType = 16

	DnsTypeAAAA DnsRRType = 28
	DnsTypeSRV  DnsRRType = 33

	DnsTypeMD         DnsRRType = 3
	DnsTypeMF         DnsRRType = 4
	DnsTypeMB         DnsRRType = 7
	DnsTypeMG         DnsRRType = 8
	DnsTypeMR         DnsRRType = 9
	DnsTypeNULL       DnsRRType = 10
	DnsTypeWKS        DnsRRType = 11
	DnsTypeHINFO      DnsRRType = 13
	DnsTypeMINFO      DnsRRType = 14
	DnsTypeRP         DnsRRType = 17
	DnsTypeAFSDB      DnsRRType = 18
	DnsTypeX25        DnsRRType = 19
	DnsTypeISDN       DnsRRType = 20
	DnsTypeRT         DnsRRType = 21
	DnsTypeNSAPPTR    DnsRRType = 23
	DnsTypeSIG        DnsRRType = 24
	DnsTypeKEY        DnsRRType = 25
	DnsTypePX         DnsRRType = 26
	DnsTypeGPOS       DnsRRType = 27
	DnsTypeLOC        DnsRRType = 29
	DnsTypeNXT        DnsRRType = 30
	DnsTypeEID        DnsRRType = 31
	DnsTypeNIMLOC     DnsRRType = 32
	DnsTypeATMA       DnsRRType = 34
	DnsTypeNAPTR      DnsRRType = 35
	DnsTypeKX         DnsRRType = 36
	DnsTypeCERT       DnsRRType = 37
	DnsTypeDNAME      DnsRRType = 39
	DnsTypeOPT        DnsRRType = 41
	DnsTypeDS         DnsRRType = 43
	DnsTypeSSHFP      DnsRRType = 44
	DnsTypeIPSECKEY   DnsRRType = 45
	DnsTypeRRSIG      DnsRRType = 46
	DnsTypeNSEC       DnsRRType = 47
	DnsTypeDNSKEY     DnsRRType = 48
	DnsTypeDHCID      DnsRRType = 49
	DnsTypeNSEC3      DnsRRType = 50
	DnsTypeNSEC3PARAM DnsRRType = 51
	DnsTypeTLSA       DnsRRType = 52
	DnsTypeHIP        DnsRRType = 55
	DnsTypeNINFO      DnsRRType = 56
	DnsTypeRKEY       DnsRRType = 57
	DnsTypeTALINK     DnsRRType = 58
	DnsTypeCDS        DnsRRType = 59
	DnsTypeCDNSKEY    DnsRRType = 60
	DnsTypeOPENPGPKEY DnsRRType = 61
	DnsTypeSPF        DnsRRType = 99
	DnsTypeUINFO      DnsRRType = 100
	DnsTypeUID        DnsRRType = 101
	DnsTypeGID        DnsRRType = 102
	DnsTypeUNSPEC     DnsRRType = 103
	DnsTypeNID        DnsRRType = 104
	DnsTypeL32        DnsRRType = 105
	DnsTypeL64        DnsRRType = 106
	DnsTypeLP         DnsRRType = 107
	DnsTypeEUI48      DnsRRType = 108
	DnsTypeEUI64      DnsRRType = 109
	DnsTypeTKEY       DnsRRType = 249
	DnsTypeTSIG       DnsRRType = 250
	DnsTypeIXFR       DnsRRType = 251
	DnsTypeAXFR       DnsRRType = 252
	DnsTypeMAILB      DnsRRType = 253
	DnsTypeMAILA      DnsRRType = 254
	DnsTypeANY        DnsRRType = 255
	DnsTypeURI        DnsRRType = 256
	DnsTypeCAA        DnsRRType = 257
	DnsTypeTA         DnsRRType = 32768
	DnsTypeDLV        DnsRRType = 32769
)

func GetDnsRRTypeFromString

func GetDnsRRTypeFromString(s string) DnsRRType

func (DnsRRType) String

func (typ DnsRRType) String() string

type Rcode

type Rcode uint8
const (
	RcodeNOERROR  Rcode = 0
	RcodeFORMERR  Rcode = 1
	RcodeSERVFAIL Rcode = 2
	RcodeNXDOMAIN Rcode = 3
	RcodeNOTIMPL  Rcode = 4
	RcodeREFUSED  Rcode = 5
)

func (Rcode) IsOkStatus

func (rcode Rcode) IsOkStatus() bool

func (Rcode) String

func (rcode Rcode) String() string

Jump to

Keyboard shortcuts

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