dig Ve nslookup Nasıl Kullanılır?



Sitelerin DNS kayıtlarını sorgulamak için kullanılan bu iki komut oldukça faydalıdır. Bu komutları karşılaştırmalı olarak kullanacağız. nslookup‘ı OSX ve Windows işletim sistemlerinde de kullanabileceğimizi hatırlatırız. Eğer *nix tabanlı işletim sisteminizde nslookup veya dig bulunamadı derse bind-utils ve dig paketlerini kurmanız gerekir.

Örneğin bir sitenin A (Alias) kaydını görüntülemek için:

# nslookup -q=A nbt.net.tr

Çıktı:

[root@server ~]# nslookup -q=A nbt.net.tr
Server: 192.168.1.2
Address: 192.168.1.2#53

Non-authoritative answer:
Name: nbt.net.tr
Address: 77.223.137.4

# dig A nbt.net.tr

Çıktı:

[root@server ~]# dig A nbt.net.tr

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6.3 <<>> A nbt.net.tr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60575 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;nbt.net.tr. IN A ;; ANSWER SECTION: nbt.net.tr. 3511 IN A 77.223.137.4 ;; Query time: 96 msec ;; SERVER: 192.168.1.2#53(192.168.1.2) ;; WHEN: Wed Apr 3 10:30:22 2013 ;; MSG SIZE rcvd: 44

Burada 3511 saniye (~58 dakika) olan TTL süresini ve A kaydının baktığı IP adresi olan 77.223.137.4 'ü görüyoruz. dig 'in nslookup 'tan farkı TTL süresini göstermesidir.

MX kaydını sorgulamak için:

# nslookup -q=MX nbt.net.tr
# dig MX nbt.net.tr

Bu iki komutta eğer kaydın sorgulanacağı DNS sunucusunu belirtmezsek /etc/resolv.conf altındaki kayıtlı DNS sunucuları üzerinden sorgular, bu durumda eğer kendi DNS sunucumuzu kullanıyorsak kayıt değişikliğinin yayılması (DNS propagation) zaman alacağından DNS hatalarını belirlemekte bizi yanılgıya düşürebilir zira kendi DNS sunucumuz üzerinde yapılan değişiklik TTL (Bkz. TTL süresi nedir?) süresi dolmadan diğer DNS sunuculara yayılmaz . Bu durumda genelde Google DNS'lerinden (8.8.8.8 veya 8.8.4.4) sorgulamak faydalı olacaktır:

# nslookup -q=A nbt.net.tr 8.8.8.8
# dig A nbt.net.tr 8.8.8.8

Muzaffer Seha Çuhadar