dog, the command-line DNS client

The TXT record

The TXT (text) record holds arbitrary ASCII text.

Rather than forming part of the Internet’s infrastructure, TXT records are used by applications that run atop it, as a way to make short pieces of data available to the public. A common use case is to prove that a domain belongs to a particular party, as only somebody in control of the domain can set records on it:

  • When delivering e-mail, Sender Policy Framework and DomainKeys Identified Mail both rely on TXT records for a domain, to ensure a message comes from that domain and has not been tampered with.
  • The Let’s Encrypt DNS-01 challenge issues TLS certificates for a domain by demanding that a particular TXT record is set, and uses the existence of the record as proof that the domain is being controlled by the same person or script requesting a certificate.

Example

Here, we query for TXT records of the domain txt-example.lookup.dog. The result is a record containing an old Computer Science proverb.

$ dog TXT txt-example.lookup.dog
TXT txt-example.lookup.dog. 1h00m00s   "Cache Invalidation and Naming Things"