256

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

2 Answers 2

343

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.

4
  • 12
    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, 2012 at 8:17
  • 26
    @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, 2016 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, 2020 at 13:46
  • The reason for the mismatch, is dig doesn't show the sub-domains. You have to explicitly request that: dig some._domainkey.foobar.com txt +short May 31, 2022 at 10:40
99

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:216.73.93.70/31 ip4:216.73.93.72/31 ~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
  • 1
    You can put options in a ~/.digrc file in order to never add them on command line again. Jul 26, 2020 at 19:16

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