Documentation ¶
Index ¶
Constants ¶
const ( NewNameTopic = "amass:newname" NewAddrTopic = "amass:newaddr" SubDiscoveredTopic = "amass:newsub" ASNRequestTopic = "amass:asnreq" NewASNTopic = "amass:newasn" WhoisRequestTopic = "amass:whoisreq" NewWhoisTopic = "amass:whoisinfo" LogTopic = "amass:log" OutputTopic = "amass:output" )
Request Pub/Sub topics used across Amass.
Variables ¶
This section is empty.
Functions ¶
func SanitizeDNSRequest ¶
func SanitizeDNSRequest(req *DNSRequest)
SanitizeDNSRequest cleans the Name and Domain elements of the receiver.
Types ¶
type ASNCache ¶
ASNCache builds a cache of ASN and netblock information.
func NewASNCache ¶
func NewASNCache() *ASNCache
NewASNCache returns an empty ASNCache for saving and searching ASN and netblock information.
func (*ASNCache) ASNSearch ¶
func (c *ASNCache) ASNSearch(asn int) *ASNRequest
ASNSearch returns the cached ASN / netblock info associated with the provided asn parameter, or nil when not found in the cache.
func (*ASNCache) AddrSearch ¶
func (c *ASNCache) AddrSearch(addr string) *ASNRequest
AddrSearch returns the cached ASN / netblock info that the addr parameter belongs in, or nil when not found in the cache.
func (*ASNCache) DescriptionSearch ¶
func (c *ASNCache) DescriptionSearch(s string) []*ASNRequest
DescriptionSearch matches the provided string against description fields in the cache and returns the ASN / netblock info for matching entries.
func (*ASNCache) Update ¶
func (c *ASNCache) Update(req *ASNRequest)
Update saves the information in ASNRequest into the ASNCache.
type ASNRequest ¶
type ASNRequest struct { Address string ASN int Prefix string CC string Registry string AllocationDate time.Time Description string Netblocks []string }
ASNRequest handles all autonomous system information needed by Amass.
func (*ASNRequest) Clone ¶
func (a *ASNRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*ASNRequest) MarkAsProcessed ¶
func (a *ASNRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
func (*ASNRequest) Valid ¶
func (a *ASNRequest) Valid() bool
Valid performs input validation of the receiver.
type AddrRequest ¶
AddrRequest handles data needed throughout Service processing of a network address.
func (*AddrRequest) Clone ¶
func (a *AddrRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*AddrRequest) MarkAsProcessed ¶
func (a *AddrRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
func (*AddrRequest) Valid ¶
func (a *AddrRequest) Valid() bool
Valid performs input validation of the receiver.
type AddressInfo ¶
type AddressInfo struct { Address net.IP `json:"ip"` Netblock *net.IPNet `json:"-"` CIDRStr string `json:"cidr"` ASN int `json:"asn"` Description string `json:"desc"` }
AddressInfo stores all network addressing info for the Output type.
type DNSAnswer ¶
type DNSAnswer struct { Name string `json:"name"` Type int `json:"type"` TTL int `json:"TTL"` Data string `json:"data"` }
DNSAnswer is the type used by Amass to represent a DNS record.
type DNSRequest ¶
DNSRequest handles data needed throughout Service processing of a DNS name.
func (*DNSRequest) Clone ¶
func (d *DNSRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*DNSRequest) MarkAsProcessed ¶
func (d *DNSRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
func (*DNSRequest) Valid ¶
func (d *DNSRequest) Valid() bool
Valid performs input validation of the receiver.
type Output ¶
type Output struct { Name string `json:"name"` Domain string `json:"domain"` Addresses []AddressInfo `json:"addresses"` }
Output contains all the output data for an enumerated DNS name.
func (*Output) MarkAsProcessed ¶
func (o *Output) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
type ResolvedRequest ¶
func (*ResolvedRequest) Clone ¶
func (r *ResolvedRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*ResolvedRequest) MarkAsProcessed ¶
func (r *ResolvedRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
func (*ResolvedRequest) Valid ¶
func (r *ResolvedRequest) Valid() bool
Valid performs input validation of the receiver.
type SubdomainRequest ¶
SubdomainRequest handles subdomain data processed by enumeration.
func (*SubdomainRequest) Clone ¶
func (s *SubdomainRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*SubdomainRequest) MarkAsProcessed ¶
func (s *SubdomainRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.
func (*SubdomainRequest) Valid ¶
func (s *SubdomainRequest) Valid() bool
Valid performs input validation of the receiver.
type WhoisRequest ¶
WhoisRequest handles data needed throughout Service processing of reverse whois.
type ZoneXFRRequest ¶
ZoneXFRRequest handles zone transfer requests.
func (*ZoneXFRRequest) Clone ¶
func (z *ZoneXFRRequest) Clone() pipeline.Data
Clone implements pipeline Data.
func (*ZoneXFRRequest) MarkAsProcessed ¶
func (z *ZoneXFRRequest) MarkAsProcessed()
MarkAsProcessed implements pipeline Data.