Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

dnsjava Examples

All of these examples are code fragments. Code using these fragments should check exceptions when appropriate, and should:

import org.xbill.DNS.*;

Get the IP address associated with a name

InetAddress addr = Address.getByName("");

Get the MX target and preference of a name

Record[] records = new Lookup("", Type.MX).run();
for (int i = 0; i < records.length; i++) {
    MXRecord mx = (MXRecord) records[i];
    System.out.println("Host " + mx.getTarget() + " has preference " + mx.getPriority());

Query a remote name server for its version

Lookup l = new Lookup("version.bind.", Type.TXT, DClass.CH);
l.setResolver(new SimpleResolver(args[0]));;
if (l.getResult() == Lookup.SUCCESSFUL) {

Transfer a zone from a server and print it

ZoneTransferIn xfr = ZoneTransferIn.newAXFR(Name.root, "", null);;
for (Record r : xfr.getAXFR()) {

Use DNS dynamic update to set the address of a host to a value specified on the command line

Name zone = Name.fromString("dyn.test.example.");
Name host = Name.fromString("host", zone);
Update update = new Update(zone);
update.replace(host, Type.A, 3600, args[0]);

Resolver res = new SimpleResolver("");
res.setTSIGKey(new TSIG(host, base64.fromString("1234")));

Message response = res.send(update);

Manipulate domain names

Name n = Name.fromString("");
Name o = Name.fromString("");
System.out.println(n.subdomain(o));            // True

System.out.println(n.compareTo(o));            // > 0

Name rel = n.relativize(o);                    // the relative name 'www'
Name n2 = Name.concatenate(rel, o);
System.out.println(n2.equals(n));              // True

// www
// dnsjava
// org
for (int i = 0; i < n.labels(); i++) {