İçeriğe geç
ipkontrol.net

DNS

nslookup Komutu Nasıl Kullanılır?

Kayıt tipine göre sorgulama, farklı DNS sunucusuna sorma ve çıktının okunması.

nslookup, bir alan adını DNS sunucusuna sorup cevabı gösteren komut. Windows, macOS ve Linux'ta hazır geliyor; kurulum gerektirmiyor. Kısa kullanımı tek satır: nslookup ornek.com.

Temel komutları ve kayıt tiplerini DNS sorgulama nasıl yapılır yazısında verdik. Bu yazı komutun çıktısını satır satır okumak, etkileşimli modu kullanmak ve hata mesajlarından teşhis çıkarmakla ilgili. Tarayıcıdan hızlıca bakmak isterseniz DNS sorgulama aracı aynı kayıtları listeler.

Çıktının anatomisi

Basit bir sorgunun çıktısı iki bloktan oluşur:

SatırAnlamı
Server: dns.googleSoruyu cevaplayan DNS sunucusunun adı
Address: 8.8.8.8O sunucunun adresi — bilgisayarınızın kullandığı DNS
Non-authoritative answer:Cevap önbellekten geliyor, alan adının kendi sunucusundan değil
Name: ornek.comSorulan ad (CNAME varsa zincirin sonundaki ad)
Addresses: …Bulunan IPv4 ve IPv6 adresleri
Aliases: …Sorduğunuz adın takma ad (CNAME) olduğu

İlk blok çoğu zaman gözden kaçar ama teşhisin yarısı orada: hangi DNS sunucusunu kullandığınızı söyler. Orada modeminizin adresini (192.168.1.1 gibi) görüyorsanız sorgular modeme, modem de operatörün sunucusuna gidiyor. DNS'i değiştirdiğinizi düşünüyorsanız ve hâlâ modemi görüyorsanız, değişiklik o cihazda uygulanmamış.

"Non-authoritative answer" bir hata değil. Cevabın aracı bir sunucunun önbelleğinden geldiğini söyler; günlük sorguların neredeyse hepsi böyledir.

Yetkili sunucuya doğrudan sormak

Bir kaydı yeni değiştirdiyseniz önbellekli cevap eski olabilir. Kaynağa gitmek için önce alan adının ad sunucularını bulun, sonra doğrudan onlardan birine sorun:

  1. nslookup -type=NS ornek.com — ad sunucularını listeler.
  2. nslookup ornek.com ns1.saglayici.com — o sunucuya doğrudan sorar.

İkinci komutun çıktısında "Non-authoritative" satırı yoksa cevap yetkilidir, yani kaydın şu anki gerçek hâlidir. Diğer sunucular hâlâ eskiyi söylüyorsa beklemeniz gereken süre kaydın TTL değeridir; TTL nedir yazısında bunu açtık.

Etkileşimli mod

Komutu tek başına nslookup olarak yazarsanız bir istem açılır ve art arda sorgu yapabilirsiniz. Aynı alan adının birçok kaydına bakarken işe yarar:

Komutİşi
set type=MXSonraki sorguların kayıt tipini ayarlar
set type=ANYTüm kayıtları ister (çoğu sunucu artık sınırlı cevap verir)
server 1.1.1.1Sorguların gideceği sunucuyu değiştirir
set debugHam cevabı, TTL değerleriyle birlikte gösterir
set timeout=5Cevap bekleme süresini uzatır
exitModdan çıkar

set debug özellikle değerli: normal çıktı TTL göstermez, debug çıktısı her kaydın kalan önbellek süresini verir. Bir değişikliğin ne zaman her yere ulaşacağını buradan tahmin edebilirsiniz.

Ters sorgu

Alan adı yerine IP adresi yazarsanız nslookup ters sorgu yapar ve adresin PTR kaydını, yani adına bağlı ismi arar: nslookup 8.8.8.8. E-posta sunucularının itibarı, bir adresin hangi firmaya ait olduğu gibi sorularda ilk ipucudur.

Sık görülen bir uyarı: *** Can't find server name for address 192.168.1.1. Bu, nslookup'ın kullandığınız DNS sunucusunun kendi adını bulamadığını söyler — modeminizin PTR kaydı yok. Zararsızdır; sorgunun geri kalanı normal çalışır.

Hata mesajları ve anlamları

MesajAnlamıSıradaki adım
Non-existent domainBöyle bir ad yok (NXDOMAIN)Yazımı kontrol edin; yeni alan adıysa ad sunucularına bakın
DNS request timed outSunucu cevap vermediBaşka bir sunucuyla deneyin; hepsi zaman aşımıysa bağlantı sorunu
Server failedSunucu cevabı çözemedi (SERVFAIL)Çoğunlukla alan adının kendi ad sunucularında hata ya da DNSSEC sorunu
No answerAd var ama o tipte kayıt yokKayıt tipini değiştirin; ör. AAAA yoksa site IPv6 kullanmıyordur
Query refusedSunucu size cevap vermeyi reddettiO sunucu yalnızca kendi ağına hizmet veriyor

Bir karşılaştırma çoğu durumu çözer: aynı sorguyu önce varsayılan sunucunuza, sonra 1.1.1.1 gibi bağımsız bir sunucuya sorun. Bağımsız sunucu doğru cevap veriyor, sizinki vermiyorsa sorun operatörün DNS'inde ya da yerel önbellektedir. Tarayıcıdaki karşılığı için DNS_PROBE_FINISHED_NXDOMAIN yazısına bakabilirsiniz; önbelleği temizlemek için DNS önbelleği temizleme.

Sıkça sorulan sorular

nslookup komutu ne işe yarar?

Bir alan adını DNS sunucusuna sorup IP adresini ve diğer kayıtlarını gösterir. Windows, macOS ve Linux’ta kurulum gerektirmeden çalışır.

Non-authoritative answer ne demek?

Cevabın alan adının kendi sunucusundan değil, aracı bir sunucunun önbelleğinden geldiğini söyler. Hata değildir; günlük sorguların çoğu böyledir.

Can’t find server name for address uyarısı sorun mu?

Hayır. Kullandığınız DNS sunucusunun, çoğunlukla modemin, kendi adına ait PTR kaydı olmadığını söyler. Sorgunun geri kalanı normal çalışır.

nslookup ile belirli bir DNS sunucusuna nasıl sorulur?

Sunucuyu komutun sonuna ekleyin: nslookup ornek.com 1.1.1.1. Etkileşimli modda server komutuyla da değiştirebilirsiniz.

nslookup TTL değerini gösterir mi?

Normal çıktıda göstermez. Etkileşimli modda set debug yazdıktan sonra yapılan sorgular her kaydın kalan TTL süresini verir.