Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tomtom5152/dnsyo

ALL THE DNS. Query up to 1000 name servers to view the state of your DNS across the internet.
https://github.com/tomtom5152/dnsyo

Last synced: 8 days ago
JSON representation

ALL THE DNS. Query up to 1000 name servers to view the state of your DNS across the internet.

Awesome Lists containing this project

README

        

# DNSYO
## AALLLLL THE DNS

[![Build Status](https://travis-ci.org/tomtom5152/dnsyo.svg?branch=master)](https://travis-ci.org/tomtom5152/dnsyo)
[![codecov](https://codecov.io/gh/tomtom5152/dnsyo/branch/master/graph/badge.svg)](https://codecov.io/gh/tomtom5152/dnsyo)

DNSYO is a little tool to help keep track of DNS propagation, a Go port
of [YoSmudge/dnsyo](https://github.com/YoSmudge/dnsyo/).

In short, it's `dig`, if `dig` queried over 1000 servers and collated their results.

Here's what it does

$ dnsyo -q 0 example.com

- RESULTS
I asked 1214 servers for A records related to example.com,
456 responded with records and 758 gave errors
Here are the results;

427 servers responded with;
93.184.216.34

1 servers responded with;
217.16.223.29

1 servers responded with;
93.184.216.34
A 8 2 86400 20180212100405 20180122182707 30381 example.com. PH3QiFAbFvkjzGqG1CNRKy+DE1kf6S7WlYgMR4CosE4UtKfzm3q1RFZvBzeZODR4YiW4+OSZum3HRW7GoC404r2bbCyi+AZrxFjQmemvUQWyyEFLOREsMC9WPG85Ctp9Kzyoj1uL/98NVhcxA7Xpr1ZsTfA/Yt6ywvT2mKAn96I=

26 servers responded with;
127.0.0.1

1 servers responded with;
213.27.209.99

And here are the errors;

108 servers responded with;
CONNECTION REFUSED

79 servers responded with;
NOANSWER

4 servers responded with;
NXDOMAIN

9 servers responded with;
SERVFAIL

12 servers responded with;
TIMEOUT

546 servers responded with;
REFUSED

Why go? Quite simply, speed. Go handles concurrency much better than Python,
resulting in lookups being significantly quicker.

## Installation

It is strongly recommended that you use a released version.
Release binaries are available on the [releases](https://github.com/tomtom5152/dnsyo/releases) page.

When first installed you will need to run the update command to populate the resolver list.

dnsyo update

This will create a resolver file in the your current directory.
To change the location of this file, use the `--resolversfile` flag.
You must use this flag on all subsequent calls to `dnsyo`

To compile from source, use:

go get github.com/tomtom5152/dnsyo

DNSYO requires [go dep](https://github.com/golang/dep) for dependency management.
Please install this according to their instructions and run

dep ensure

## Usage

For more information on the flags run `dnsyo help`

### Resolver list

DNSYO can query a master list of servers to determine the currently working servers from your location.
This is done using the `dnsyo update` command. For more usage information, run `dnsyo help update`.

When running an update, DNSYO will check for three known values, and allow up to one failure.

By default, DNSYO will pick 500 servers at random from it's list to query.
You can change this with the `--servers` or `-q` flag.
If you want DNSYO to query all the servers just pass `--servers=0` or `-q=0`.

### Record types

Just like `dig`, you can pass the record type with the `--type` flag, so to get Google's MX records just do

dnsyo google.com --type MX

## Licence

DNSYO is released under the MIT licence, see `LICENCE.txt` for more info