Categories
Deploy360 IPv6

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

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 = dev.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).