Is there a linux shell command that I can use to inspect the TXT records of a domain?


Dig will also do it quite nicely: dig -t txt example.com and if you add the +short option you get just the txt record in quote marks with no other cruft.

  • 10
    According to my DNS manager, I have 4 TXT records - an SPF one with host "@" and then 3 for domainkeys. However, dig -t only shows the SPF value. Any ideas? Sep 21 '12 at 8:17
  • 21
    @NicCottrell and anyone else wondering about this; it is because of the domain you are querying. To view domain keys using dig it would be: dkim-selector._domainkey.example.com If Google was your email provider: dig -t txt google._domainkey.example.com Apr 11 '16 at 16:02
  • And dkim-selector is what your email server will write down on the email header, while dmarc is defined to be _dmarc prefix .
    – Rick
    Apr 26 '20 at 13:46

The host(1) command has a nice, terse output:

$ host -t txt google.com
google.com descriptive text "v=spf1 include:_netblocks.google.com ip4: ip4: ~all"
$ wajig findfile $(which host)
bind9-host: /usr/bin/host

With dig(1) I "have" to add the "+short" option all the time as well.

(I'm on Debian).

  • 1
    You can put options in a ~/.digrc file in order to never add them on command line again. Jul 26 '20 at 19:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.