Interesting question. It seems that it should be accessible with the option:
-T Force packets selected by "expression" to be interpreted the
specified type. Currently known types are aodv (Ad-hoc On-
demand Distance Vector protocol), cnfp (Cisco NetFlow protocol),
rpc (Remote Procedure Call), rtp (Real-Time Applications proto-
col), rtcp (Real-Time Applications control protocol), snmp (Sim-
ple Network Management Protocol), tftp (Trivial File Transfer
Protocol), vat (Visual Audio Tool), and wb (distributed White
Board).
Except that "domain" obviously isn't a valid option. I imagine that it's possible with a small amendment to the tcpdump source code, if you were that way inclined.
Update
Like so. Use at your own risk:
diff -ru tcpdump-3.9.8/interface.h tcpdump-3.9.8_modified/interface.h
--- tcpdump-3.9.8/interface.h 2007-06-14 02:03:20.000000000 +0100
+++ tcpdump-3.9.8_modified/interface.h 2009-07-27 19:40:55.831913794 +0100
@@ -74,6 +74,7 @@
#define PT_CNFP 7 /* Cisco NetFlow protocol */
#define PT_TFTP 8 /* trivial file transfer protocol */
#define PT_AODV 9 /* Ad-hoc On-demand Distance Vector Protocol */
+#define PT_DOMAIN 10 /* Domain Name Service */
#ifndef min
#define min(a,b) ((a)>(b)?(b):(a))
diff -ru tcpdump-3.9.8/print-udp.c tcpdump-3.9.8_modified/print-udp.c
--- tcpdump-3.9.8/print-udp.c 2007-06-14 02:03:21.000000000 +0100
+++ tcpdump-3.9.8_modified/print-udp.c 2009-07-27 19:39:13.893442797 +0100
@@ -520,6 +520,11 @@
tftp_print(cp, length);
break;
+ case PT_DOMAIN:
+ udpipaddr_print(ip, sport, dport);
+ ns_print((const u_char *)(up + 1), length, 0);
+ break;
+
case PT_AODV:
udpipaddr_print(ip, sport, dport);
aodv_print((const u_char *)(up + 1), length,
diff -ru tcpdump-3.9.8/tcpdump.c tcpdump-3.9.8_modified/tcpdump.c
--- tcpdump-3.9.8/tcpdump.c 2007-09-26 02:59:54.000000000 +0100
+++ tcpdump-3.9.8_modified/tcpdump.c 2009-07-27 19:27:40.199449150 +0100
@@ -718,6 +718,8 @@
packettype = PT_TFTP;
else if (strcasecmp(optarg, "aodv") == 0)
packettype = PT_AODV;
+ else if (strcasecmp(optarg, "domain") == 0)
+ packettype = PT_DOMAIN;
else
error("unknown packet type `%s'", optarg);
break;