dig, DNS kayıtlarını sorgulamak ve DNS ile ilgili sorunları gidermek için bir komut satırı aracıdır. Domain kayıtlarını rahatça kontrol edebilceğimiz dig komutunun kullanım örneklerini inceleyelim.
İlk olarak sistemimizde dig yüklü mü? yüklü ise versiyonu nedir diye kontrol edelim.
dig -v
Örnek çıktı
root@linuxpedi:~# dig -v
DiG 9.16.1-Ubuntu
Eğer dig yüklü değilse aşağıdaki komutlardan işletim sisteminize göre yükleyebilirsiniz.
Ubuntu / Debian
apt install dnsutils
CentOS / Fedora
yum install bind-utils
Yüklemeleri tamamladıysanız en basit haliyle dig kullanımını öğrenmeye başlıyalım.
En basit kullanımı:
dig linuxpedi.com
; <<>> DiG 9.16.1-Ubuntu <<>> linuxpedi.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2684
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;linuxpedi.com. IN A
;; ANSWER SECTION:
linuxpedi.com. 271 IN A 34.141.144.143
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Sep 03 16:12:32 +03 2021
;; MSG SIZE rcvd: 58
Bölüm bölüm gidelim ve dig komutunun çıktısını açıklayalım:
1.Çıktının ilk satırı, kurulu dig versiyonunu ve sorgulanan alan adını yazdırır. İkinci satır genel parametreleri gösterir (varsayılan olarak yalnızca cmd).
; <<>> DiG 9.16.1-Ubuntu <<>> linuxpedi.com
;; global options: +cmd
Bu satırların çıktıya dahil edilmesini istemiyorsanız +nocmd parametresini kullanın. Bu seçenek dig komutundan sonraki ilk seçenek olmalıdır.
2.Sonraki bölüm, dns sorgusundan alınan yanıtla ilgili teknik ayrıntıları içerir. Başlık, işlem kodunu (dig tarafından gerçekleştirilen eylem) ve eylemin durumunu gösterir. Bu örnekte, durum NOERROR’dur; bu, dns sorgusunun herhangi bir sorun olmadan getirdiği anlamına gelir.
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5
Sorguda bu bölümü görmek istemezseniz +nocomments parametresini kullanın.
3.QUESTION SECTION atılan sorguyu gösterir. dig in varsayılan sorgusu dns A kaydıdır.
;; QUESTION SECTION:
;linuxpedi.com. IN A
+noquestion seçeneğini kullanarak bu bölümü devre dışı bırakabilirsiniz.
4.Bölümde sorgumuzun cevabını görmekteyiz. Varsayılan olarak A kaydını sorguladığı için A kaydının çıktısını alacağız. (A kaydı domain IP adresini işaret eder.)
;; ANSWER SECTION:
linuxpedi.com. 271 IN A 34.141.144.143
Genellikle yanıtı kapatmak istemezsiniz, ancak +noanswer seçeneğini kullanarak bu bölümü çıktıdan kaldırabilirsiniz.
5.dig çıktısının son bölümü, sorguyla ilgili istatistikleri içerir.
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Sep 03 16:12:32 +03 2021
;; MSG SIZE rcvd: 58
Dig Parametleri
3.+short parametresi sadece sorgudan dönen ‘ANSWER’ bölümünü görüntüler.
root@linuxpedi:~# dig linuxpedi.com +short
34.141.144.143
2.+noall +answer parametrsi dönen ‘ANSWER’ i detaylı gösterir.
root@linuxpedi:~# dig linuxpedi.com +noall +answer
linuxpedi.com. 19 IN A 34.141.144.143
3.dig varsayılan olarak üstünde çalıştığı OS’un dns ini kullanarak sorgulama yapar. Fakat siz başka bir dns sunucu üstündende sorgulama yapabilirsiz. Google DNS üzerinden dig sorgusuna Örnek:
dig linuxpedi.com @8.8.8.8
Dig query’leri
CNAME Query
dig +nocmd mail.google.com cname +noall +answer
root@linuxpedi:~# dig +nocmd mail.google.com cname +noall +answer
mail.google.com. 21600 IN CNAME googlemail.l.google.com.
TXT Query
dig +nocmd linuxpedi.com txt +noall +answer
root@linuxpedi:~# dig +nocmd linuxpedi.com txt +noall +answer
linuxpedi.com. 14400 IN TXT "v=spf1 redirect=_spf.yandex.net"
linuxpedi.com. 14400 IN TXT "yandex-verification: 58dc73d576a09a54"
linuxpedi.com. 14400 IN TXT "google-site-verification=uuG-tMzOMkBPCl4iWB38PqrCYBOyqwUmbFte1dQ7M8g"
MX Query (Mail)
dig +nocmd linuxpedi.com mx +noall +answer
root@linuxpedi:~# dig +nocmd linuxpedi.com mx +noall +answer
linuxpedi.com. 14400 IN MX 10 mx.yandex.net.
NS Query (Nameserver)
dig +nocmd linuxpedi.com ns +noall +answer
root@linuxpedi:~# dig +nocmd linuxpedi.com ns +noall +answer
linuxpedi.com. 21600 IN NS ns1.dns-parking.com.
linuxpedi.com. 21600 IN NS ns2.dns-parking.com.
Bütün DNS kayıtları
dig +nocmd sametkum.com any +noall +answer
root@linuxpedi:~# dig +nocmd sametkum.com any +noall +answer
sametkum.com. 14400 IN A 185.224.138.16
sametkum.com. 21600 IN NS ns1.hostinger.web.tr.
sametkum.com. 21600 IN NS ns2.hostinger.web.tr.
sametkum.com. 21600 IN NS ns3.hostinger.web.tr.
sametkum.com. 21600 IN NS ns4.hostinger.web.tr.
sametkum.com. 21600 IN SOA ns1.hostinger.web.tr. dns.hostinger.com. 2019031200 28800 7200 604800 86400
sametkum.com. 14400 IN MX 10 mx1.hostinger.web.tr.
sametkum.com. 900 IN TXT "google-site-verification=PxYATQZ-vM5fVP02aQ8VYPIBvnPjpGYRT8TUbVxWVj8"
sametkum.com. 900 IN TXT "v=spf1 include:_spf.mail.hostinger.com ~all"
sametkum.com. 14400 IN AAAA 2a02:4780:8:263:0:1b50:5833:5
sametkum.com. 14400 IN CAA 0 issue "comodoca.com"
sametkum.com. 14400 IN CAA 0 issue "digicert.com"
sametkum.com. 14400 IN CAA 0 issue "globalsign.com"
sametkum.com. 14400 IN CAA 0 issue "letsencrypt.org"
sametkum.com. 14400 IN CAA 0 issue "sectigo.com"
sametkum.com. 14400 IN CAA 0 issuewild "comodoca.com"
sametkum.com. 14400 IN CAA 0 issuewild "digicert.com"
sametkum.com. 14400 IN CAA 0 issuewild "globalsign.com"
sametkum.com. 14400 IN CAA 0 issuewild "letsencrypt.org"
sametkum.com. 14400 IN CAA 0 issuewild "sectigo.com"