Dig is a powerful Linux command to query DNS info. Today we will review all the basic uses of the dig command.
By default, dig sends the DNS query to name servers listed in the resolver(/etc/resolv.conf) unless it is asked to query a specific name server.
How to use Dig command
We can use dig name + record type + @dns server to query the DNS info from a DNS server. By default, dig performs a lookup for an A record if no type argument is specified.
server – the IP address or hostname of the name server to query. It is optional and if we don’t provide a server argument then dig uses the name server listed in /etc/resolv.conf.
name – the name of the resource record that is to be looked up.
record type – the type of query requested by dig. For example, it can be an A record, MX record, SOA record or any other types.
Check DNS A record with Dig
The A stands for address and this is the most fundamental type of DNS record. A record is used to point a domain or subdomain to an IP address.
We can use this command to query A record for a domain name. For example:
$ dig howtouselinux.com
howtouselinux.com. 0 IN A 22.214.171.124
Use Dig to query DNS PTR record
A PTR record is well-known as the reverse version of an A record. We can get the PTR record with this command. This is the PTR record for IP address 126.96.36.199.
$ dig -x 188.8.131.52
Query DNS MX record with Dig
A DNS 'mail exchange' (MX) record directs email to a mail server. This record can tell us the email server for a domain name. With the following command, we can get the MX record for google.com.
$ dig google.com mx
google.com. 0 IN MX 10 aspmx.l.google.com. google.com. 0 IN MX 20 alt1.aspmx.l.google.com. google.com. 0 IN MX 50 alt4.aspmx.l.google.com. google.com. 0 IN MX 30 alt2.aspmx.l.google.com. google.com. 0 IN MX 40 alt3.aspmx.l.google.com.
Get DNS records Against a specific DNS server
Many DNS servers are around the world. To specify a name server against which the query will be executed, use the @ (at) symbol followed by the name server IP address or hostname.
$ dig howtouselinux.com @184.108.40.206
howtouselinux.com. 5 IN A 220.127.116.11