scan

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DSP = []struct {
		Qtype   uint16
		Entries []string
	}{
		{dns.TypeSOA, []string{""}},
		{dns.TypeNS, []string{""}},
		{dns.TypeDS, []string{""}},
		{dns.TypeDNSKEY, []string{""}},
		{dns.TypeMX, []string{""}},
		{dns.TypeCAA, []string{""}},
		{dns.TypeTXT, []string{"", "_amazonses.", "_dmarc.", "api.", "api._domainkey.", "cm._domainkey.", "default.", "default._domainkey.", "dk._domainkey.", "googleapps._domainkey.", "mail._domainkey.", "mailjet.", "mesmtp._domainkey."}},
		{dns.TypeA, []string{"", "_dmarc.", "admin.", "administration.", "ads.", "adserver.", "alerts.", "alpha.", "analytics.", "ap.", "apache.", "app.", "apps.", "appserver.", "auth.", "autodiscover.", "backup.", "beta.", "blog.", "calendar.", "cdn.", "cdn.", "chat.", "citrix.", "clients.", "cms.", "confluence.", "corp.", "corp.", "crs.", "cvs.", "database.", "db.", "demo.", "dev.", "devel.", "development.", "devsql.", "dhcp.", "direct.", "dmz.", "dns.", "dns0.", "dns00.", "dns01.", "dns010.", "dns02.", "dns03.", "dns04.", "dns05.", "dns06.", "dns07.", "dns08.", "dns09.", "dns1.", "dns10.", "dns2.", "dns3.", "dns4.", "dns5.", "dns6.", "dns7.", "dns8.", "dns9.", "download.", "emergency.", "en.", "enterpriseenrollment.", "enterpriseregistration.", "erp.", "eshop.", "exchange.", "f5.", "fileserver.", "firewall.", "forum.", "ftp.", "gateway.", "gc.", "git.", "gw.", "help.", "home.", "host.", "http.", "id.", "images.", "imap.", "imap4.", "info.", "internal.", "internet.", "intranet.", "ipv6.", "jenkins.", "jira.", "lab.", "lb0.", "lb00.", "lb01.", "lb010.", "lb02.", "lb03.", "lb04.", "lb05.", "lb06.", "lb07.", "lb08.", "lb09.", "lb1.", "lb10.", "lb2.", "lb3.", "lb4.", "lb5.", "lb6.", "lb7.", "lb8.", "lb9.", "ldap.", "linux.", "local.", "log.", "log.", "lyncdiscover.", "mail.", "mail0.", "mail00.", "mail01.", "mail010.", "mail02.", "mail03.", "mail04.", "mail05.", "mail06.", "mail07.", "mail08.", "mail09.", "mail1.", "mail10.", "mail2.", "mail3.", "mail4.", "mail5.", "mail6.", "mail7.", "mail8.", "mail9.", "mailgate.", "mailing.", "main.", "manage.", "mgmt.", "mirror.", "mobile.", "monitor.", "msoid.", "mssql.", "mta.", "mx.", "mx0.", "mx00.", "mx01.", "mx010.", "mx02.", "mx03.", "mx04.", "mx05.", "mx06.", "mx07.", "mx08.", "mx09.", "mx1.", "mx10.", "mx2.", "mx3.", "mx4.", "mx5.", "mx6.", "mx7.", "mx8.", "mx9.", "mysql-master.", "mysql-slave.", "mysql.", "new.", "news.", "noc.", "ns.", "ns0.", "ns00.", "ns01.", "ns010.", "ns02.", "ns03.", "ns04.", "ns05.", "ns06.", "ns07.", "ns08.", "ns09.", "ns1.", "ns10.", "ns2.", "ns3.", "ns4.", "ns5.", "ns6.", "ns7.", "ns8.", "ns9.", "ntp.", "office.", "ops.", "oracle.", "owa.", "pbx.", "piwik.", "pop.", "pop3.", "preprod.", "prod.", "production.", "projects.", "rdp.", "remote.", "robot.", "safe.", "secure.", "server.", "shop.", "sip.", "smtp.", "sql.", "sql0.", "sql00.", "sql01.", "sql010.", "sql02.", "sql03.", "sql04.", "sql05.", "sql06.", "sql07.", "sql08.", "sql09.", "sql1.", "sql10.", "sql2.", "sql3.", "sql4.", "sql5.", "sql6.", "sql7.", "sql8.", "sql9.", "squid.", "ssh.", "ssl.", "stage.", "staging.", "stats.", "support.", "svn.", "syslog.", "test.", "testing.", "upload.", "val.", "vm.", "vnc.", "voip.", "vpn.", "web0.", "web00.", "web01.", "web010", "web02.", "web03.", "web04.", "web05.", "web06.", "web07.", "web08.", "web09.", "web1.", "web10.", "web2.", "web3.", "web4.", "web5.", "web6.", "web7.", "web8.", "web9.", "webmail.", "webshop.", "whois.", "wiki.", "www.", "xml."}},
		{dns.TypeSRV, []string{"_afpovertcp._tcp.", "_autodiscover._tcp.", "_caldav._tcp.", "_client._smtp.", "_gc._tcp.", "_h323cs._tcp.", "_h323cs._udp.", "_h323ls._tcp.", "_h323ls._udp.", "_h323rs._tcp.", "_h323rs._tcp.", "_http._tcp.", "_iax.udp.", "_imap._tcp.", "_imaps._tcp.", "_jabber-client._tcp.", "_jabber._tcp.", "_kerberos-adm._tcp.", "_kerberos._tcp.", "_kerberos._tcp.dc._msdcs.", "_kerberos._udp.", "_kpasswd._tcp.", "_kpasswd._udp.", "_ldap._tcp.", "_ldap._tcp.dc._msdcs.", "_ldap._tcp.gc._msdcs.", "_ldap._tcp.pdc._msdcs.", "_msdcs.", "_mysqlsrv._tcp.", "_ntp._udp.", "_pop3._tcp.", "_pop3s._tcp.", "_sip._tcp.", "_sip._tls.", "_sip._udp.", "_sipfederationtls._tcp.", "_sipinternaltls._tcp.", "_sips._tcp.", "_smtp._tcp.", "_ssh._tcp.", "_stun._tcp.", "_stun._udp.", "_tcp.", "_tls.", "_udp.", "_vlmcs._tcp.", "_vlmcs._udp.", "_wpad._tcp.", "_xmpp-client._tcp.", "_xmpp-server._tcp.", "_zip._tls"}},
	}
)

Functions

func Query

func Query(q string, qtype uint16, server string, sec bool) (structs.Response, error)

func QueryClass

func QueryClass(q string, qtype uint16, server string, sec bool, class uint16) (structs.Response, error)

func QueryRRset

func QueryRRset(q string, qtype uint16, server string, sec bool) ([]dns.RR, time.Duration, error)

Types

type Config

type Config struct {
	JSON  *bool
	Debug *bool
	QPS   *int
	// contains filtered or unexported fields
}

type Request

type Request struct {
	Qtype  uint16
	Query  string
	Domain string
}

type Response

type Response struct {
	RR  []dns.RR
	NS  string
	Rtt time.Duration
}

type Scan

type Scan struct {
	*Config
	// contains filtered or unexported fields
}

func New

func New(cfg *Config, resolver string) *Scan

func (*Scan) DomainScan

func (s *Scan) DomainScan(domain string) []Response

func (*Scan) FindNS

func (s *Scan) FindNS(domain string) ([]structs.NSData, error)

func (*Scan) FindNSIP

func (s *Scan) FindNSIP(domain string) []net.IP

func (*Scan) GetNSInfo

func (s *Scan) GetNSInfo(domain, name string, IP net.IP) (structs.NSInfo, error)

func (*Scan) LookupDNSKEY

func (s *Scan) LookupDNSKEY(domain string, nsip string, keyMap map[uint16]*dns.DNSKEY) (structs.Response, error)

func (*Scan) NSData

func (s *Scan) NSData() map[string][]structs.NSData

func (*Scan) Resolver

func (s *Scan) Resolver() string

func (*Scan) ValidateChain

func (s *Scan) ValidateChain(domain string) (bool, error)

func (*Scan) ValidateDomain

func (s *Scan) ValidateDomain(domain string) (bool, error)

func (*Scan) ValidateRRSIG

func (s *Scan) ValidateRRSIG(keys []dns.RR, rrset []dns.RR) (bool, structs.KeyInfo, error)

Jump to

Keyboard shortcuts

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