dig: Difference between revisions

From Leechfinger
Jump to navigationJump to search
Qais (talk | contribs)
Qais (talk | contribs)
 
(9 intermediate revisions by the same user not shown)
Line 19: Line 19:
$ apt install bind9-dnsutils
$ apt install bind9-dnsutils
</syntaxhighlight>
</syntaxhighlight>
=== Download root name servers cache file ===
Both files are identical, so use either one.
<syntaxhighlight lang="bash">
$ wget ftp://ftp.rs.internic.net/domain/named.cache
$ wget ftp://ftp.rs.internic.net/domain/db.cache
</syntaxhighlight>
=== Reverse lookup ===
=== Reverse lookup ===
This option sets simplified reverse lookups, for mapping addresses to names.
This option sets simplified reverse lookups, for mapping addresses to names.
Line 24: Line 31:
$ dig -x 54.239.28.85
$ dig -x 54.239.28.85
</syntaxhighlight>
</syntaxhighlight>
=== Check dig version ===
=== Check dig version ===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Line 68: Line 76:
=== 13 root servers ===
=== 13 root servers ===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ dig  
$ dig NS .
 
; <<>> DiG 9.18.33-1~deb12u2-Debian <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60683
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 4
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;.                             IN      NS


;; ANSWER SECTION:
;; ANSWER SECTION:
Line 100: Line 97:
i.root-servers.net.    601603  IN      A      192.36.148.17
i.root-servers.net.    601603  IN      A      192.36.148.17
k.root-servers.net.    601561  IN      A      193.0.14.129
k.root-servers.net.    601561  IN      A      193.0.14.129
</syntaxhighlight>
=== NS for com and gov ===
<syntaxhighlight lang="bash">
$ dig NS com @e.root-servers.net
;; AUTHORITY SECTION:
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
;; ADDITIONAL SECTION:
a.gtld-servers.net.    172800  IN      A      192.5.6.30
a.gtld-servers.net.    172800  IN      AAAA    2001:503:a83e::2:30
b.gtld-servers.net.    172800  IN      A      192.33.14.30
b.gtld-servers.net.    172800  IN      AAAA    2001:503:231d::2:30
c.gtld-servers.net.    172800  IN      A      192.26.92.30
c.gtld-servers.net.    172800  IN      AAAA    2001:503:83eb::30
d.gtld-servers.net.    172800  IN      A      192.31.80.30
d.gtld-servers.net.    172800  IN      AAAA    2001:500:856e::30
e.gtld-servers.net.    172800  IN      A      192.12.94.30
e.gtld-servers.net.    172800  IN      AAAA    2001:502:1ca1::30
f.gtld-servers.net.    172800  IN      A      192.35.51.30
f.gtld-servers.net.    172800  IN      AAAA    2001:503:d414::30
g.gtld-servers.net.    172800  IN      A      192.42.93.30
g.gtld-servers.net.    172800  IN      AAAA    2001:503:eea3::30
h.gtld-servers.net.    172800  IN      A      192.54.112.30
h.gtld-servers.net.    172800  IN      AAAA    2001:502:8cc::30
i.gtld-servers.net.    172800  IN      A      192.43.172.30
i.gtld-servers.net.    172800  IN      AAAA    2001:503:39c1::30
j.gtld-servers.net.    172800  IN      A      192.48.79.30
j.gtld-servers.net.    172800  IN      AAAA    2001:502:7094::30
k.gtld-servers.net.    172800  IN      A      192.52.178.30
k.gtld-servers.net.    172800  IN      AAAA    2001:503:d2d::30
l.gtld-servers.net.    172800  IN      A      192.41.162.30
l.gtld-servers.net.    172800  IN      AAAA    2001:500:d937::30
m.gtld-servers.net.    172800  IN      A      192.55.83.30
m.gtld-servers.net.    172800  IN      AAAA    2001:501:b1f9::30
$ dig NS gov @e.root-servers.net
;; AUTHORITY SECTION:
gov.                    172800  IN      NS      a.ns.gov.
gov.                    172800  IN      NS      b.ns.gov.
gov.                    172800  IN      NS      c.ns.gov.
gov.                    172800  IN      NS      d.ns.gov.
;; ADDITIONAL SECTION:
a.ns.gov.              172800  IN      A      199.33.230.1
a.ns.gov.              172800  IN      AAAA    2001:503:ff40::1
b.ns.gov.              172800  IN      A      199.33.231.1
b.ns.gov.              172800  IN      AAAA    2001:503:ff41::1
c.ns.gov.              172800  IN      A      199.33.232.1
c.ns.gov.              172800  IN      AAAA    2001:503:ff42::1
d.ns.gov.              172800  IN      A      199.33.233.1
d.ns.gov.              172800  IN      AAAA    2001:503:ff43::1


;; Query time: 24 msec
</syntaxhighlight>
;; SERVER: 209.18.47.61#53(209.18.47.61) (UDP)
=== Get the Domain's name server ===
;; WHEN: Fri May 16 11:59:21 CDT 2025
<syntaxhighlight lang="bash">
;; MSG SIZE rcvd: 287
$ dig NS google.com @j.gtld-servers.net.
;; AUTHORITY SECTION:
google.com.            172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.            172800  IN      NS      ns3.google.com.
google.com.            172800 IN      NS      ns4.google.com.


;; ADDITIONAL SECTION:
ns2.google.com.        172800  IN      AAAA    2001:4860:4802:34::a
ns2.google.com.        172800  IN      A      216.239.34.10
ns1.google.com.        172800  IN      AAAA    2001:4860:4802:32::a
ns1.google.com.        172800  IN      A      216.239.32.10
ns3.google.com.        172800  IN      AAAA    2001:4860:4802:36::a
ns3.google.com.        172800  IN      A      216.239.36.10
ns4.google.com.        172800  IN      AAAA    2001:4860:4802:38::a
ns4.google.com.        172800  IN      A      216.239.38.10
</syntaxhighlight>
=== Get MX NS A records ===
<syntaxhighlight lang="bash">
$ dig MX yahoo.com
$ dig NS yahoo.com
$ dig A yahoo.com
</syntaxhighlight>
=== Find your public ip ===
<syntaxhighlight lang="bash">
$ dig +short myip.opendns.com @resolver1.opendns.com
$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
$ dig +short txt ch whoami.cloudflare @1.0.0.1
</syntaxhighlight>
</syntaxhighlight>
[[Category:Commands]]
[[Category:Commands]]

Latest revision as of 13:46, 18 May 2025

Install dig package

Dig is part of package bind9-dnsutils.

$ apt-file list bind9-dnsutils
bind9-dnsutils: /usr/bin/delv             
bind9-dnsutils: /usr/bin/dig
bind9-dnsutils: /usr/bin/dnstap-read
bind9-dnsutils: /usr/bin/mdig
bind9-dnsutils: /usr/bin/nslookup
bind9-dnsutils: /usr/bin/nsupdate
bind9-dnsutils: /usr/share/doc/bind9-dnsutils/changelog.Debian.gz
bind9-dnsutils: /usr/share/doc/bind9-dnsutils/copyright
bind9-dnsutils: /usr/share/man/man1/delv.1.gz
bind9-dnsutils: /usr/share/man/man1/dig.1.gz
bind9-dnsutils: /usr/share/man/man1/dnstap-read.1.gz
bind9-dnsutils: /usr/share/man/man1/mdig.1.gz
bind9-dnsutils: /usr/share/man/man1/nslookup.1.gz
bind9-dnsutils: /usr/share/man/man1/nsupdate.1.gz
$ apt install bind9-dnsutils

Download root name servers cache file

Both files are identical, so use either one.

$ wget ftp://ftp.rs.internic.net/domain/named.cache
$ wget ftp://ftp.rs.internic.net/domain/db.cache

Reverse lookup

This option sets simplified reverse lookups, for mapping addresses to names.

$ dig -x 54.239.28.85

Check dig version

$ dig -v

Find the ip of a host

$ dig amazon.com | grep -A 1 --color 'ANSWER SECTION'
;; ANSWER SECTION:
amazon.com.             842     IN      A       205.251.242.103

$ dig google.com +short
142.250.113.102
142.250.113.101
142.250.113.100
142.250.113.113
142.250.113.139
142.250.113.138

$ dig amazon.com +noall +answer
amazon.com.             325     IN      A       52.94.236.248
amazon.com.             325     IN      A       205.251.242.103
amazon.com.             325     IN      A       54.239.28.85

Look at the "ANSWER SECTION", it has name, TTL in seconds, IN (class or internet), A (record type), IP.

Specify an exact DNS to search

$ dig @8.8.8.8 amazon.com

List all DNS of a host

$ dig google.com A +nssearch
SOA ns1.google.com. dns-admin.google.com. 759020131 900 900 1800 60 from server 216.239.38.10 in 28 ms.
SOA ns1.google.com. dns-admin.google.com. 759020131 900 900 1800 60 from server 216.239.32.10 in 28 ms.
SOA ns1.google.com. dns-admin.google.com. 759020131 900 900 1800 60 from server 216.239.36.10 in 44 ms.
SOA ns1.google.com. dns-admin.google.com. 759020131 900 900 1800 60 from server 216.239.34.10 in 52 ms.

Deep dive with trace

This option toggles tracing of the delegation path from the root name servers for the name being looked up. Tracing is disabled by default. When tracing is enabled, dig makes iterative queries to resolve the name being looked up. It follows referrals from the root servers, showing the answer from each server that was used to resolve the lookup.

$ dig amazon.com +trace

13 root servers

$ dig NS .

;; ANSWER SECTION:
.                       515350  IN      NS      k.root-servers.net.
.                       515350  IN      NS      l.root-servers.net.
.                       515350  IN      NS      m.root-servers.net.
.                       515350  IN      NS      a.root-servers.net.
.                       515350  IN      NS      b.root-servers.net.
.                       515350  IN      NS      c.root-servers.net.
.                       515350  IN      NS      d.root-servers.net.
.                       515350  IN      NS      e.root-servers.net.
.                       515350  IN      NS      f.root-servers.net.
.                       515350  IN      NS      g.root-servers.net.
.                       515350  IN      NS      h.root-servers.net.
.                       515350  IN      NS      i.root-servers.net.
.                       515350  IN      NS      j.root-servers.net.

;; ADDITIONAL SECTION:
h.root-servers.net.     601447  IN      A       198.97.190.53
i.root-servers.net.     601603  IN      A       192.36.148.17
k.root-servers.net.     601561  IN      A       193.0.14.129

NS for com and gov

$ dig NS com @e.root-servers.net

;; AUTHORITY SECTION:
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.     172800  IN      A       192.5.6.30
a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30
b.gtld-servers.net.     172800  IN      A       192.33.14.30
b.gtld-servers.net.     172800  IN      AAAA    2001:503:231d::2:30
c.gtld-servers.net.     172800  IN      A       192.26.92.30
c.gtld-servers.net.     172800  IN      AAAA    2001:503:83eb::30
d.gtld-servers.net.     172800  IN      A       192.31.80.30
d.gtld-servers.net.     172800  IN      AAAA    2001:500:856e::30
e.gtld-servers.net.     172800  IN      A       192.12.94.30
e.gtld-servers.net.     172800  IN      AAAA    2001:502:1ca1::30
f.gtld-servers.net.     172800  IN      A       192.35.51.30
f.gtld-servers.net.     172800  IN      AAAA    2001:503:d414::30
g.gtld-servers.net.     172800  IN      A       192.42.93.30
g.gtld-servers.net.     172800  IN      AAAA    2001:503:eea3::30
h.gtld-servers.net.     172800  IN      A       192.54.112.30
h.gtld-servers.net.     172800  IN      AAAA    2001:502:8cc::30
i.gtld-servers.net.     172800  IN      A       192.43.172.30
i.gtld-servers.net.     172800  IN      AAAA    2001:503:39c1::30
j.gtld-servers.net.     172800  IN      A       192.48.79.30
j.gtld-servers.net.     172800  IN      AAAA    2001:502:7094::30
k.gtld-servers.net.     172800  IN      A       192.52.178.30
k.gtld-servers.net.     172800  IN      AAAA    2001:503:d2d::30
l.gtld-servers.net.     172800  IN      A       192.41.162.30
l.gtld-servers.net.     172800  IN      AAAA    2001:500:d937::30
m.gtld-servers.net.     172800  IN      A       192.55.83.30
m.gtld-servers.net.     172800  IN      AAAA    2001:501:b1f9::30

$ dig NS gov @e.root-servers.net
;; AUTHORITY SECTION:
gov.                    172800  IN      NS      a.ns.gov.
gov.                    172800  IN      NS      b.ns.gov.
gov.                    172800  IN      NS      c.ns.gov.
gov.                    172800  IN      NS      d.ns.gov.

;; ADDITIONAL SECTION:
a.ns.gov.               172800  IN      A       199.33.230.1
a.ns.gov.               172800  IN      AAAA    2001:503:ff40::1
b.ns.gov.               172800  IN      A       199.33.231.1
b.ns.gov.               172800  IN      AAAA    2001:503:ff41::1
c.ns.gov.               172800  IN      A       199.33.232.1
c.ns.gov.               172800  IN      AAAA    2001:503:ff42::1
d.ns.gov.               172800  IN      A       199.33.233.1
d.ns.gov.               172800  IN      AAAA    2001:503:ff43::1

Get the Domain's name server

$ dig NS google.com @j.gtld-servers.net.
;; AUTHORITY SECTION:
google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.         172800  IN      AAAA    2001:4860:4802:34::a
ns2.google.com.         172800  IN      A       216.239.34.10
ns1.google.com.         172800  IN      AAAA    2001:4860:4802:32::a
ns1.google.com.         172800  IN      A       216.239.32.10
ns3.google.com.         172800  IN      AAAA    2001:4860:4802:36::a
ns3.google.com.         172800  IN      A       216.239.36.10
ns4.google.com.         172800  IN      AAAA    2001:4860:4802:38::a
ns4.google.com.         172800  IN      A       216.239.38.10

Get MX NS A records

$ dig MX yahoo.com
$ dig NS yahoo.com
$ dig A yahoo.com

Find your public ip

$ dig +short myip.opendns.com @resolver1.opendns.com
$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
$ dig +short txt ch whoami.cloudflare @1.0.0.1