Designed to support DNS brute-forcing with a minimal number of network connections

Overview

Fast Use of DNS Resolvers

GitHub Test Status GoDoc License Go Report CodeFactor Codecov Follow on Twitter

Designed to support DNS brute-forcing with a minimal number of network connections.

Installation Go Version

go get -v -u github.com/caffix/resolve

Usage

The Resolver type from this package represents a DNS resolver or group of resolvers that support two primary actions: DNS queries and wildcard detection. Requests made to the same Resolver are performed asynchronously at the rate provided to the constructor of queries per second. DNS queries returning responses indicating success can then be checked for wildcards using the built-in detection.

r := resolve.NewBaseResolver("8.8.8.8", 10, nil)

msg := resolve.QueryMsg("mail.google.com", 1)
resp, err := r.Query(context.TODO(), msg, resolve.PriorityNormal, nil)
if err != nil {
    return
}

if r.WildcardType(context.TODO(), resp, "google.com") != resolve.WildcardTypeNone {
    return
}

Licensing License

This program is free software: you can redistribute it and/or modify it under the terms of the Apache license.

You might also like...
Sabakan is a versatile network boot server designed for large on-premise data centers.
Sabakan is a versatile network boot server designed for large on-premise data centers.

Sabakan is a versatile network boot server designed for large on-premise data centers. Currently, it is made only for Flatcar Container Linux.

A tiny command line DNS client with support for UDP, DoT, DoH, and DoQ.
A tiny command line DNS client with support for UDP, DoT, DoH, and DoQ.

q A tiny command line DNS client with support for UDP, DoT, DoH, and DoQ. Usage q command line DNS client (https://github.com/natesales/q) Usage: q

Privacy important, fast, recursive dns resolver server with dnssec support
Privacy important, fast, recursive dns resolver server with dnssec support

🚀 Privacy important, fast, recursive dns resolver server with dnssec support Installation go get github.com/semihalev/sdns Pre-build Binaries Downloa

Network-wide ads & trackers blocking DNS server
Network-wide ads & trackers blocking DNS server

Privacy protection center for you and your devices Free and open source, powerful network-wide ads & trackers blocking DNS server. AdGuard.com | Wiki

A small tool used to correspond to the IP address according to the name, id, and network alias of the docker container, which can be run as a DNS server

A small tool used to correspond to the IP address according to the name, id, and network alias of the docker container, which can be run as a DNS server

A little library for turning TCP connections into go channels.

netutils By Tim Henderson ([email protected]) This is a little library that was part of a larger project that I decided to pull out and make public.

handling 1M websockets connections in Go

Going Infinite, handling 1M websockets connections in Go This repository holds the complete implementation of the examples seen in Gophercon Israel ta

rconn is a multiplatform program for creating generic reverse connections. Lets you consume services that are behind firewall or NAT without opening ports or port-forwarding.
rconn is a multiplatform program for creating generic reverse connections. Lets you consume services that are behind firewall or NAT without opening ports or port-forwarding.

rconn (r[everse] conn[ection]) is a multiplatform program for creating reverse connections. It lets you consume services that are behind NAT and/or fi

wire protocol for multiplexing connections or streams into a single connection, based on a subset of the SSH Connection Protocol

qmux qmux is a wire protocol for multiplexing connections or streams into a single connection. It is based on the SSH Connection Protocol, which is th

Comments
  • How to know what nameserver was used for a query?

    How to know what nameserver was used for a query?

    The dns.Msg returned from .Query* methods doesn't contain the particular nameserver that was used for the lookup.

    How can I know the nameserver that was selected from the Resolvers pool for a particular query?

    Thanks!

    opened by nepsilon 0
  • Support for filtering middle-wildcard domains

    Support for filtering middle-wildcard domains

    This PR adds support for detecting wildcards that are in the middle of a domain name, as opposed to those at the start of a domain name.

    This will increase the amount of DNS queries significantly for multi-level domains.

    Kind regards from @hadriansecurity :wink:

    opened by EndPositive 1
Owner
Jeff Foley
Security Researcher, Gopher, Project Leader @OWASP Amass, Adjunct Professor for Penetration Testing at SUNY Polytechnic Institute
Jeff Foley
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.

Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump. Some of its features include: Unde

Infvie Envoy 10 Feb 26, 2022
Divide (distribute) the given number (n) into number (p) of parts randomly,

Number Split Randomly The sample code written in Go lang Executables This repo already have executables for Linux and windows, after clone the repo ju

Jobin Jose 0 Feb 4, 2022
lite version of gobuster. Only subdomain brute. 内网轻量化子域名爆破工具

gobusterdns lite version of gobuster. Only subdomain brute. 内网轻量化子域名爆破工具 适合指定dns跑内网子域名 与原版的修改 精简功能,仅支持子域名扫描 可导入domain list文件扫描

TimWhite 39 Nov 9, 2022
Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and deadline support. MIT Licensed.

socket Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and d

Matt Layher 49 Dec 14, 2022
DNS Ping: to check packet loss and latency issues with DNS servers

DNSping DNS Ping checks packet loss and latency issues with DNS servers Installation If you have golang, easiest install is go get -u fortio.org/dnspi

Fortio (Φορτίο) 61 Nov 18, 2022
Verify IP addresses of respectful crawlers like Googlebot by reverse dns and forward dns lookups

goodbots - trust but verify goodbots verifies the IP addresses of respectful crawlers like Googlebot by performing reverse dns and forward dns lookups

Eric Wu 30 Aug 16, 2022
The Dual-Stack Dynamic DNS client, the world's first dynamic DNS client built for IPv6.

dsddns DsDDNS is the Dual-Stack Dynamic DNS client. A dynamic DNS client keeps your DNS records in sync with the IP addresses associated with your hom

Ryan Young 15 Sep 27, 2022
netcup DNS module for caddy: dns.providers.netcup

netcup DNS module for Caddy This package contains a DNS provider module for Caddy. It can be used to manage DNS records with the netcup DNS API using

null 7 Nov 9, 2022
A fork on miekg/dns (since I've already forked zmap/dns)

Alternative (more granular) approach to a DNS library Less is more. Complete and usable DNS library. All Resource Records are supported, including the

null 0 Jan 19, 2022
A simple DNS forwarder that forwards DNS queries to various upstreams

A simple DNS forwarder that forwards DNS queries to various upstreams. If an upstream returns NXDomain, the next upstream is tried.

null 1 Jul 8, 2022