Basic lookup utility
Right now ring is rather a clone of “host”, though the ultimate goal would be to display a nicer output than “host”, which is not always very usable, unless you know the details on resource records.
Hence the goal will be to have more contextual output.
A good example would be the output of a SOA (start of authority) records:
$ host -t SOA tuxfamily.org tuxfamily.org has SOA record ns1.staff.tuxfamily.net. hostmaster.tuxfamily.org. 2010122801 3600 900 1209600 3600 $ ring -t SOA tuxfamily.org tuxfamily.org. start of authority ( ns1.staff.tuxfamily.net. ;primary source of data for this zone hostmaster.tuxfamily.org. ;responsible's mailbox 2010122801 ;serial (version) 3600 ;refresh period 900 ;retry refresh this often 1209600 ;expiration period 3600 ;minimum TTL )
Or let’s have a look at a service record. For instance, I will check for the XMPP (commonly called Jabber) service on the server of the XMPP Standards Foundation (XSF) itsetf:
$ host -t SRV _xmpp-client._tcp.xmpp.org _xmpp-client._tcp.xmpp.org has SRV record 0 0 9222 athena.jabber.org. $ ring -t SRV _xmpp-client._tcp.xmpp.org _xmpp-client._tcp.xmpp.org. SRV record: priority = 0 weight = 0 port = 9222 target = athena.jabber.org.
I think these examples are enough to give an idea of the readability of ring, though it is meant to be improved, and also right now the host command knows more kind of records (right now “ring” knows the same records as ODNS, cf. ODNS documentation), have slightly more configuration options and is obviously more tested (since the time it exists!).
Advanced Lookup Utility
A second objective will be to have a more detailed output (probably with a –verbose option, and maybe a –debug option as well, which do not exist yet though) to be able to get detailed information on a particular query, which can be useful for debugging DNS server, hence for developers and administrators as well (this time, it replaces rather dig, but also with a more readable output than dig).
The current ring usage is:
$ ./ring --help Usage: ring [--help] [-lrw] [-t querytype] [-c class] host [server]... -c specifies the queryclass (default to Internet data: 'IN') -l turns on 'list mode' -r disables recursive query -t specifies the querytype (default to any: '*') -w allows waiting forever untilreply -help Display this list of options --help Display this list of options