Deploy360 8 June 2012

aaaa-check – a small little program to check for IPv6 DNS records (AAAA)

By Dan YorkDirector, Internet Technology

As I was helping out last week approving website participants for World IPv6 Launch, I found that sometimes I wanted to check for the existence of a AAAA record to know if the domain was already running IPv6.  I was using the good old “dig” command for a while, but wanted an easier way to do it. I looked around for a tool that would do what I wanted… and when I couldn’t find one I dusted the cobwebs in my brain off of my python coding and wrote up a little app in python:

https://github.com/danyork/aaaa-check

It also gave me an excuse to play with the dnspython library developed by Bob Halley (and also available on Github). Once you follow my installation instructions and make the file executable (or call it with “python” first), it just lets you enter in domain names and it will tell you if there is a quad-A or not:

$ ./aaaa-check.py
Domain name = www.internetsociety.org
2001:41c8:20::29
Domain name = www.google.com
2607:f8b0:4002:802::1011
Domain name = www.facebook.com
2a03:2880:10:1f02:face:b00c::25
Domain name = www.wikipedia.org
2620:0:861:ed1a::1
Domain name = www.cnn.com
No AAAA
Domain name = www.youtube.com
2001:4860:800a::5b
Domain name = www.yahoo.com
2001:4998:f00b:1fe::3001
Domain name = ^C
Goodbye!
$

I didn’t do anything fancy for commands… you just press Ctrl+C to exit.

What I was then doing was copying the domain name from the World IPv6 Launch web page and pasting it into the command window where I was running the app.

It worked well for what I needed… I probably won’t do too much more with it, although I might add on the capability for it to read a flat file from the command line, so you could just do “aaaa-python ” and have it run through a list and tell you which domains have AAAA records.

Anyway… it’s out there and if any of you find it of interest please feel free to play with it.  And if you feel like extending it in some way, feel free to send some patches (or if you are on Github, just fork it and then send me a pull request).

Disclaimer: Viewpoints expressed in this post are those of the author and may or may not reflect official Internet Society positions.

Related articles

Improving Technical Security 15 March 2019

DNS Privacy Frequently Asked Questions (FAQ)

We previously posted about how the DNS does not inherently employ any mechanisms to provide confidentiality for DNS transactions,...

Improving Technical Security 14 March 2019

Introduction to DNS Privacy

Almost every time we use an Internet application, it starts with a DNS (Domain Name System) transaction to map...

Improving Technical Security 13 March 2019

IPv6 Security for IPv4 Engineers

It is often argued that IPv4 practices should be forgotten when deploying IPv6, as after all IPv6 is a...