Documentation
¶
Index ¶
- func DNS(inputDNSResolvers []*InputDNSResolver, inputURLs []*util.InputURL)
- func QueryWorker(client *dns.Client, resolver InputDNSResolver, domains <-chan string, ...)
- func ResolverWorker(inputURLs []*util.InputURL, resolvers <-chan InputDNSResolver, ...)
- type InputDNSResolver
- type QueryResponse
- type ResponseEntry
- type ResponseResult
- type TraceEntry
- type TraceResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DNS ¶
func DNS(inputDNSResolvers []*InputDNSResolver, inputURLs []*util.InputURL)
func QueryWorker ¶
func QueryWorker(client *dns.Client, resolver InputDNSResolver, domains <-chan string, results chan<- *QueryResponse)
Worker to send DNS queries to target IP
func ResolverWorker ¶
func ResolverWorker(inputURLs []*util.InputURL, resolvers <-chan InputDNSResolver, done chan<- *QueryResponse)
Worker per resolver
Types ¶
type InputDNSResolver ¶
type InputDNSResolver struct { IP string `json:"ip"` Name string `json:"name"` Country string `json:"country"` Kind string `json:"kind"` WhoamiResp []ResponseResult `json:"whoami_resp"` }
type QueryResponse ¶
type QueryResponse struct { ResolverIP string `json:"resolver"` Domain string `json:"domain"` StartTime string `json:"start_time"` EndTime string `json:"end_time"` Responses []ResponseResult `json:"responses"` TraceResults []*TraceResult `json:"trace"` AuthoritativeNs string `json:"authoritative_ns"` Error string `json:"error"` }
type ResponseEntry ¶
type ResponseResult ¶
type ResponseResult struct { Response []ResponseEntry `json:"response"` Err string `json:"error"` Rcode int `json:"rcode"` RawMsg interface{} `json:"rawmsg"` }
Data format for parsed DNS response
type TraceEntry ¶
type TraceResult ¶
type TraceResult struct { Ns string `json:"ns"` Domain string `json:"domain"` Response []TraceEntry `json:"responses"` Err string `json:"error"` Rcode int `json:"rcode"` }
Click to show internal directories.
Click to hide internal directories.