Giter Club home page Giter Club logo

allxfr's Introduction

ALLXFR

AXFR all the things!

This tool performs a zone transfer (AXFR) against the root zone servers to obtain the root zone file. And then attempts opportunistic zone transfers for every IP for every nameserver for a given zone. Additionally, each NS/A/AAAA record is also re-queried to find additional servers or IPs not included as root glue.

Most zones do not allow zone transfers, however a few do. Sometimes only on a single IP for a given nameserver and not the others, and sometimes only for servers or IPs that are authoritative but not included in the root zones. This tool will try them all and save every successful transfer.

This tool works best on an IPv4/IPv6 dual stack internet connection.

Providing a zone file with the -zonefile flag will attempt a transfer with the domains and sub-domains in the zone file provided.

TLDs in the Public Suffix List can be attempted as well with the -psl flag.

Running with a resolver

When running allxfr with a fully recursive caching resolver like BIND/named or Unbound additional zones may be found. You can enable this behavior with the -ns flag.

An example Docker configuration for Unbound is provided in the unbound/ directory, and can be built with make docker-unbound and run with make run-unbound.

Example

./allxfr -dry-run
ROOT g.root-servers.net. xfr size: 22017 records in 1.334s
mr. ns-mr.nic.tn. (41.228.63.70) xfr size: 444 records in 337ms
sl. ns1.neoip.com. (45.83.41.38) xfr size: 455 records in 592ms
sy. ns1.tld.sy. (82.137.200.85) xfr size: 1594 records in 870ms
cd. ns-root-2.scpt-network.com. (41.79.235.67) xfr size: 497 records in 598ms
my. a.nic.my. (103.44.108.53) xfr size: 1592 records in 608ms
mq. ns1-mq.mediaserv.net. (213.16.20.3) xfr size: 1541 records in 299ms
td. nsa.nic.td. (154.68.159.246) xfr size: 492 records in 1.821s
gp. ns2.nic.gp. (193.218.114.34) xfr size: 1578 records in 195ms
xn--54b7fta0cc. bayanno.btcl.net.bd. (180.211.212.213) xfr size: 915 records in 728ms
xn--ogbpf8fl. ns1.tld.sy. (82.137.200.85) xfr size: 271 records in 460ms
xn--90ae. a.nic.bg. (2a02:6a80::192:92:129:99) xfr size: 305 records in 326ms
cv. cv01.dns.pt. (185.39.208.18) xfr size: 507 records in 333ms
bd. surma.btcl.net.bd. (203.112.194.232) xfr size: 52 records in 486ms
rw. ns1.ricta.org.rw. (196.49.7.188) xfr size: 1515 records in 1.269s
gf. ns1-mq.mediaserv.net. (213.16.20.3) xfr size: 1531 records in 304ms
bn. ns2.bnnic.bn. (202.93.214.163) xfr size: 79 records in 395ms
tj. ns2.tojikiston.com. (193.111.11.4) xfr size: 1690 records in 998ms
pg. ns1.tiare.net.pg. (202.165.192.23) xfr size: 447 records in 409ms
mw. domwe.sdn.mw. (41.87.5.162) xfr size: 1538 records in 938ms
xn--j1amh. tier1.num.net.ua. (193.110.163.134) xfr size: 1055 records in 1.349s
sv. cir.red.sv. (168.243.254.1) xfr size: 1514 records in 883ms
21 / 1516 transfered in 3m29.92

Usage

Usage of ./allxfr:
  -dry-run
        only test if xfr is allowed by retrieving one envelope
  -ixfr
        attempt an IXFR instead of AXFR
  -ns string
        nameserver to use for manually querying of records not in zone file
  -out string
        directory to save found zones in (default "zones")
  -overwrite
        if zone already exists on disk, overwrite it with newer data
  -parallel uint
        number of parallel zone transfers to perform (default 10)
  -psl
        attempt AXFR from zones listed in the public suffix list, requires -ns flag
  -retry int
        number of times to retry failed operations (default 3)
  -save-all
        attempt AXFR from every nameserver for a given zone and save all answers
  -verbose
        enable verbose output
  -zonefile string
        use the provided zonefile instead of getting the root zonefile

Building

go build

allxfr's People

Contributors

lanrat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

j5s

allxfr's Issues

add info http endpoint

return json structure with all current stats, progress, processes, ongoing work, etc...

Add retry to zone transfers

zone transfers that fail should be retried, just in case. Especially for errors that occur after the zone transfer successfully starts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.