transformers

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DnstapMessage = map[string]string{
		"AUTH_QUERY":         "AQ",
		"AUTH_RESPONSE":      "AR",
		"RESOLVER_QUERY":     "RQ",
		"RESOLVER_RESPONSE":  "RR",
		"CLIENT_QUERY":       "CQ",
		"CLIENT_RESPONSE":    "CR",
		"FORWARDER_QUERY":    "FQ",
		"FORWARDER_RESPONSE": "FR",
		"STUB_QUERY":         "SQ",
		"STUB_RESPONSE":      "SR",
		"TOOL_QUERY":         "TQ",
		"TOOL_RESPONSE":      "TR",
		"UPDATE_QUERY":       "UQ",
		"UPDATE_RESPONSE":    "UR",
		"DNSQueryType":       "Q",
		"DNSResponseType":    "R",
	}
	DnsQr = map[string]string{
		"QUERY": "Q",
		"REPLY": "R",
	}

	IPversion = map[string]string{
		"INET6": "6",
		"INET":  "4",
	}

	Rcodes = map[string]string{
		"NOERROR":   "0",
		"FORMERR":   "1",
		"SERVFAIL":  "2",
		"NXDOMAIN":  "3",
		"NOIMP":     "4",
		"REFUSED":   "5",
		"YXDOMAIN":  "6",
		"YXRRSET":   "7",
		"NXRRSET":   "8",
		"NOTAUTH":   "9",
		"NOTZONE":   "10",
		"DSOTYPENI": "11",
		"BADSIG":    "16",
		"BADKEY":    "17",
		"BADTIME":   "18",
		"BADMODE":   "19",
		"BADNAME":   "20",
		"BADALG":    "21",
		"BADTRUNC":  "22",
		"BADCOOKIE": "23",
	}
)
View Source
var (
	RETURN_SUCCESS = 1
	RETURN_DROP    = 2
	RETURN_ERROR   = 3
)

Functions

This section is empty.

Types

type ExtractProcessor added in v0.31.0

type ExtractProcessor struct {
	// contains filtered or unexported fields
}

func NewExtractSubprocessor added in v0.31.0

func NewExtractSubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{})) ExtractProcessor

func (*ExtractProcessor) AddBase64Payload added in v0.31.0

func (s *ExtractProcessor) AddBase64Payload(dm *dnsutils.DnsMessage) []byte

func (*ExtractProcessor) InitDnsMessage added in v0.31.0

func (p *ExtractProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*ExtractProcessor) IsEnabled added in v0.31.0

func (s *ExtractProcessor) IsEnabled() bool

type FilteringProcessor

type FilteringProcessor struct {
	// contains filtered or unexported fields
}

func NewFilteringProcessor

func NewFilteringProcessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) FilteringProcessor

func (*FilteringProcessor) CheckIfDrop

func (p *FilteringProcessor) CheckIfDrop(dm *dnsutils.DnsMessage) bool

func (*FilteringProcessor) LoadActiveFilters added in v0.25.0

func (p *FilteringProcessor) LoadActiveFilters()

func (*FilteringProcessor) LoadDomainsList

func (p *FilteringProcessor) LoadDomainsList()

func (*FilteringProcessor) LoadQueryIpList

func (p *FilteringProcessor) LoadQueryIpList()

func (*FilteringProcessor) LoadRcodes

func (p *FilteringProcessor) LoadRcodes()

func (*FilteringProcessor) LoadrDataIpList added in v0.35.0

func (p *FilteringProcessor) LoadrDataIpList()

func (*FilteringProcessor) LogError

func (p *FilteringProcessor) LogError(msg string, v ...interface{})

func (*FilteringProcessor) LogInfo

func (p *FilteringProcessor) LogInfo(msg string, v ...interface{})

func (*FilteringProcessor) Run

func (p *FilteringProcessor) Run()

type GeoIpProcessor

type GeoIpProcessor struct {
	// contains filtered or unexported fields
}

func NewDnsGeoIpProcessor

func NewDnsGeoIpProcessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) GeoIpProcessor

func (*GeoIpProcessor) Close

func (p *GeoIpProcessor) Close()

func (*GeoIpProcessor) InitDnsMessage added in v0.29.0

func (p *GeoIpProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*GeoIpProcessor) IsEnabled

func (p *GeoIpProcessor) IsEnabled() bool

func (*GeoIpProcessor) LogError

func (p *GeoIpProcessor) LogError(msg string, v ...interface{})

func (*GeoIpProcessor) LogInfo

func (p *GeoIpProcessor) LogInfo(msg string, v ...interface{})

func (*GeoIpProcessor) Lookup

func (p *GeoIpProcessor) Lookup(ip string) (GeoRecord, error)

func (*GeoIpProcessor) Open

func (p *GeoIpProcessor) Open() (err error)

type GeoRecord

type GeoRecord struct {
	Continent      string
	CountryISOCode string
	City           string
	ASN            string
	ASO            string
}

type HashQueries added in v0.30.0

type HashQueries struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

hash queries map

func NewHashQueries added in v0.30.0

func NewHashQueries(ttl time.Duration) HashQueries

func (*HashQueries) Delete added in v0.30.0

func (mp *HashQueries) Delete(key uint64)

func (*HashQueries) Get added in v0.30.0

func (mp *HashQueries) Get(key uint64) (value int64, ok bool)

func (*HashQueries) Set added in v0.30.0

func (mp *HashQueries) Set(key uint64, value int64)

type LatencyProcessor added in v0.30.0

type LatencyProcessor struct {
	// contains filtered or unexported fields
}

latency processor

func NewLatencySubprocessor added in v0.30.0

func NewLatencySubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) *LatencyProcessor

func (*LatencyProcessor) DetectEvictedTimeout added in v0.30.0

func (s *LatencyProcessor) DetectEvictedTimeout(dm *dnsutils.DnsMessage)

func (*LatencyProcessor) MeasureLatency added in v0.30.0

func (s *LatencyProcessor) MeasureLatency(dm *dnsutils.DnsMessage)

type MapQueries added in v0.30.0

type MapQueries struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

queries map

func NewMapQueries added in v0.30.0

func NewMapQueries(ttl time.Duration, channels []chan dnsutils.DnsMessage) MapQueries

func (*MapQueries) Delete added in v0.30.0

func (mp *MapQueries) Delete(key uint64)

func (*MapQueries) Exists added in v0.30.0

func (mp *MapQueries) Exists(key uint64) (ok bool)

func (*MapQueries) Set added in v0.30.0

func (mp *MapQueries) Set(key uint64, dm dnsutils.DnsMessage)

type MapTraffic added in v0.31.0

type MapTraffic struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewMapTraffic added in v0.31.0

func NewMapTraffic(ttl time.Duration, channels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{})) MapTraffic

func (*MapTraffic) ProcessExpiredKeys added in v0.31.0

func (mp *MapTraffic) ProcessExpiredKeys()

func (*MapTraffic) Run added in v0.31.0

func (mp *MapTraffic) Run()

func (*MapTraffic) Set added in v0.31.0

func (mp *MapTraffic) Set(key string, dm *dnsutils.DnsMessage)

type MaxminddbRecord

type MaxminddbRecord struct {
	Continent struct {
		Code string `maxminddb:"code"`
	} `maxminddb:"continent"`
	Country struct {
		ISOCode string `maxminddb:"iso_code"`
	} `maxminddb:"country"`
	City struct {
		Names map[string]string `maxminddb:"names"`
	} `maxminddb:"city"`
	AutonomousSystemNumber       int    `maxminddb:"autonomous_system_number"`
	AutonomousSystemOrganization string `maxminddb:"autonomous_system_organization"`
}

type MlProcessor added in v0.35.0

type MlProcessor struct {
	// contains filtered or unexported fields
}

func NewMachineLearningSubprocessor added in v0.35.0

func NewMachineLearningSubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) MlProcessor

func (*MlProcessor) AddFeatures added in v0.35.0

func (p *MlProcessor) AddFeatures(dm *dnsutils.DnsMessage)

func (*MlProcessor) InitDnsMessage added in v0.35.0

func (p *MlProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*MlProcessor) LogError added in v0.35.0

func (p *MlProcessor) LogError(msg string, v ...interface{})

func (*MlProcessor) LogInfo added in v0.35.0

func (p *MlProcessor) LogInfo(msg string, v ...interface{})

type NormalizeProcessor added in v0.25.0

type NormalizeProcessor struct {
	// contains filtered or unexported fields
}

func NewNormalizeSubprocessor added in v0.25.0

func NewNormalizeSubprocessor(
	config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) NormalizeProcessor

func (*NormalizeProcessor) GetEffectiveTld added in v0.26.0

func (p *NormalizeProcessor) GetEffectiveTld(dm *dnsutils.DnsMessage) int

func (*NormalizeProcessor) GetEffectiveTldPlusOne added in v0.26.0

func (p *NormalizeProcessor) GetEffectiveTldPlusOne(dm *dnsutils.DnsMessage) int

func (*NormalizeProcessor) InitDnsMessage added in v0.29.0

func (p *NormalizeProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*NormalizeProcessor) IsEnabled added in v0.25.0

func (s *NormalizeProcessor) IsEnabled() bool

func (*NormalizeProcessor) LoadActiveProcessors added in v0.31.0

func (p *NormalizeProcessor) LoadActiveProcessors()

func (*NormalizeProcessor) LogError added in v0.31.0

func (p *NormalizeProcessor) LogError(msg string, v ...interface{})

func (*NormalizeProcessor) LogInfo added in v0.31.0

func (p *NormalizeProcessor) LogInfo(msg string, v ...interface{})

func (*NormalizeProcessor) LowercaseQname added in v0.31.0

func (p *NormalizeProcessor) LowercaseQname(dm *dnsutils.DnsMessage) int

func (*NormalizeProcessor) ProcessDnsMessage added in v0.31.0

func (p *NormalizeProcessor) ProcessDnsMessage(dm *dnsutils.DnsMessage) int

func (*NormalizeProcessor) QuietText added in v0.26.0

func (p *NormalizeProcessor) QuietText(dm *dnsutils.DnsMessage) int

type ReducerProcessor added in v0.31.0

type ReducerProcessor struct {
	// contains filtered or unexported fields
}

func NewReducerSubprocessor added in v0.31.0

func NewReducerSubprocessor(
	config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) *ReducerProcessor

func (*ReducerProcessor) InitDnsMessage added in v0.32.0

func (p *ReducerProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*ReducerProcessor) LoadActiveReducers added in v0.31.0

func (p *ReducerProcessor) LoadActiveReducers()

func (*ReducerProcessor) ProcessDnsMessage added in v0.31.0

func (s *ReducerProcessor) ProcessDnsMessage(dm *dnsutils.DnsMessage) int

func (*ReducerProcessor) RepetitiveTrafficDetector added in v0.31.0

func (p *ReducerProcessor) RepetitiveTrafficDetector(dm *dnsutils.DnsMessage) int

type SuspiciousTransform added in v0.25.0

type SuspiciousTransform struct {
	CommonQtypes map[string]bool
	// contains filtered or unexported fields
}

func NewSuspiciousSubprocessor added in v0.25.0

func NewSuspiciousSubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) SuspiciousTransform

func (*SuspiciousTransform) CheckIfSuspicious added in v0.25.0

func (p *SuspiciousTransform) CheckIfSuspicious(dm *dnsutils.DnsMessage)

func (*SuspiciousTransform) InitDnsMessage added in v0.29.0

func (p *SuspiciousTransform) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*SuspiciousTransform) IsEnabled added in v0.25.0

func (p *SuspiciousTransform) IsEnabled() bool

func (*SuspiciousTransform) LogError added in v0.25.0

func (p *SuspiciousTransform) LogError(msg string, v ...interface{})

func (*SuspiciousTransform) LogInfo added in v0.25.0

func (p *SuspiciousTransform) LogInfo(msg string, v ...interface{})

func (*SuspiciousTransform) ReadConfig added in v0.25.0

func (p *SuspiciousTransform) ReadConfig()

type Transforms added in v0.25.0

type Transforms struct {
	SuspiciousTransform      SuspiciousTransform
	GeoipTransform           GeoIpProcessor
	FilteringTransform       FilteringProcessor
	UserPrivacyTransform     UserPrivacyProcessor
	NormalizeTransform       NormalizeProcessor
	LatencyTransform         *LatencyProcessor
	ReducerTransform         *ReducerProcessor
	ExtractProcessor         ExtractProcessor
	MachineLearningTransform MlProcessor
	// contains filtered or unexported fields
}

func NewTransforms added in v0.25.0

func NewTransforms(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string, outChannels []chan dnsutils.DnsMessage, instance int) Transforms

func (*Transforms) InitDnsMessageFormat added in v0.29.0

func (p *Transforms) InitDnsMessageFormat(dm *dnsutils.DnsMessage)

func (*Transforms) LogError added in v0.25.0

func (p *Transforms) LogError(msg string, v ...interface{})

func (*Transforms) LogInfo added in v0.25.0

func (p *Transforms) LogInfo(msg string, v ...interface{})

func (*Transforms) Prepare added in v0.25.0

func (p *Transforms) Prepare() error

func (*Transforms) ProcessMessage added in v0.25.0

func (p *Transforms) ProcessMessage(dm *dnsutils.DnsMessage) int

func (*Transforms) Reset added in v0.25.0

func (p *Transforms) Reset()

type UserPrivacyProcessor added in v0.25.0

type UserPrivacyProcessor struct {
	// contains filtered or unexported fields
}

func NewUserPrivacySubprocessor added in v0.25.0

func NewUserPrivacySubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string,
	instance int, outChannels []chan dnsutils.DnsMessage,
	logInfo func(msg string, v ...interface{}), logError func(msg string, v ...interface{}),
) UserPrivacyProcessor

func (*UserPrivacyProcessor) AnonymizeIP added in v0.25.0

func (s *UserPrivacyProcessor) AnonymizeIP(ip string) string

func (*UserPrivacyProcessor) HashIP added in v0.27.0

func (s *UserPrivacyProcessor) HashIP(ip string) string

func (*UserPrivacyProcessor) MinimazeQname added in v0.25.0

func (s *UserPrivacyProcessor) MinimazeQname(qname string) string

Jump to

Keyboard shortcuts

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