dnsjava(2.0.6)

New: 2.0.6 released: DNS name parsing fixes

dnsjava is an implementation of DNS in Java. It supports all defined record types (including the DNSSEC types), and unknown types. It can be used for queries, zone transfers, and dynamic updates. It includes a cache which can be used by clients, and a minimal implementation of a server. It supports TSIG authenticated messages, partial DNSSEC verification, and EDNS0.

dnsjava provides functionality above and beyond that of the InetAddress class. Since it is written in pure Java, dnsjava is fully threadable, and in many cases is faster than using InetAddress.

dnsjava provides both high and low level access to DNS. The high level functions perform queries for records of a given name, type, and class, and return the answer or reason for failure. There are also functions similar to those in the InetAddress class. A cache is used to reduce the number of DNS queries sent. The low level functions allow direct manipulation of DNS messages and records, as well as allowing additional resolver properties to be set.

A simple tool for doing DNS lookups, a 'dig' clone and a dynamic update client are included, as well as a simple authoritative-only server.

For more information, see the README file in the source distribution.

For information on the sample programs included, see the USAGE file in the source distribution.

For API documentation, see the Javadoc documentation in the source distribution or the examples.html file.

Please read this documentation before asking questions.

dnsjava is under the BSD license.

Open Issues

The DNSJavaNameService service provider only builds with Java 1.6, as the API changed in an incompatible way between 1.5 and 1.6. I don't know how to fix this. I assume someone could, but I've never seen a patch.

Other software using dnsjava

Similar software

View the Changelog

Download dnsjava: HTTP or FTP

See the project page at Sourceforge. SourceForge Logo

Brian Wellington (bwelling@xbill.org)


Last modified 1/24/2008.