nslookup ile DNS Sorgulama Nasıl Yapılır?

nslookup, bir alan adı veya IP adresi hakkında DNS sunucusuna sorgu gönderen komut satırı aracıdır. Temel kullanımda sorgulanacak adı yazmak yeterlidir; daha kontrollü bir incelemede kayıt türü ve sorgunun gönderileceği DNS sunucusu ayrıca belirtilir.
Tek komutluk kullanım, belirli bir kaydı hızlıca kontrol etmek veya betik içinde tek sonuç almak için uygundur. Etkileşimli mod ise aynı oturumda DNS sunucusunu, kayıt türünü ve diğer sorgu ayarlarını değiştirerek birden fazla deneme yapmayı sağlar.
nslookup çıktısı tek başına DNS yapılandırmasının bütünü hakkında kesin hüküm vermez. Sonuç, sorgulanan sunucunun o anda bildiği veya önbelleğinde tuttuğu veriyi gösterir; bu nedenle recursive resolver (özyinelemeli DNS çözümleyicisi) ile yetkili DNS sunucusuna gönderilen sorgular farklı amaçlarla yorumlanmalıdır.
Tek Komutla DNS Sorgusu Gönderme
En temel kullanım, sorgulanacak alan adını komuta parametre olarak vermektir. İkinci bir DNS sunucusu belirtilmezse nslookup, işletim sisteminin o bağlantı için kullandığı varsayılan DNS sunucusuna başvurur.
nslookup example.comBu komutun varsayılan kayıt türü nslookup uygulamasına göre değişebilir; BIND 9 ile gelen nslookup, A ve ardından AAAA sorgusu gönderir. Yalnız IPv4 adresleri için -type=A, yalnız IPv6 adresleri için -type=AAAA kullanın. A ve AAAA sonuçlarını karşılaştırırken kayıt türünü her komutta açıkça belirtmek, varsayılan davranış farklarını önler.
Komut satırında tek sorgu çalıştırmak; değişiklik öncesi ve sonrası kontrol, otomasyon çıktısı veya olay kaydına eklenecek kısa bir doğrulama için uygundur. Aynı hedef üzerinde farklı kayıt türlerini ve sunucuları karşılaştırırken etkileşimli mod daha az tekrar gerektirir.
Kayıt Türünü ve DNS Sunucusunu Seçme
Kayıt türü -type=KAYIT_TÜRÜ biçiminde seçilir. Sorgunun belirli bir DNS sunucusuna gönderilmesi gerekiyorsa bu sunucunun IP adresi veya çözülebilir adı komutun sonuna eklenir.
nslookup -type=MX example.com DNS_SUNUCUSUBuradaki DNS_SUNUCUSU, kurumsal veya test amacıyla kullanılan bir recursive resolver ya da alan adının yetkili DNS sunucusu olabilir. Yetkili sunucuyu adıyla belirtmek yerine IP adresiyle hedeflemek, o sunucu adının önce mevcut recursive resolver üzerinden çözülmesine bağlı ek adımı azaltır.
Temel kayıt türlerinin amacı aşağıdaki gibi ayrılır:
| Kayıt türü | Ne gösterir? | Örnek komut |
|---|---|---|
| A | Alan adının IPv4 adreslerini gösterir. | nslookup -type=A example.com |
| AAAA | Alan adının IPv6 adreslerini gösterir. | nslookup -type=AAAA example.com |
| MX | Alan adı için posta sunucularını ve tercih değerlerini gösterir. | nslookup -type=MX example.com |
| NS | Alan adı için bildirilen yetkili DNS sunucularını gösterir. | nslookup -type=NS example.com |
| TXT | DNS'te yayımlanan metin tabanlı kayıt parçalarını gösterir. | nslookup -type=TXT example.com |
Aynı kayıt türünü farklı sunucularda sorgulamak, istemcilerin kullandığı recursive resolver yanıtı ile yetkili sunucudaki güncel veriyi karşılaştırmaya yardımcı olur. Ancak iki sonucun farklı olması doğrudan hata anlamına gelmez; recursive resolver önbelleği, TTL süresi, bölünmüş DNS yapısı veya erişim politikası sonucu değiştirebilir. Kaydı yakın zamanda değiştirdiyseniz eski cevabın TTL süresi dolana kadar önbellekte kalabileceğini de hesaba katın.
Etkileşimli Modda Birden Fazla Sorgu Çalıştırma
Komut satırına yalnız nslookup yazıldığında etkileşimli komut ekranı açılır. Bu modda sunucu ve kayıt türü ayrı komutlarla ayarlanır; ardından farklı alan adları aynı ayarlarla sorgulanabilir.
nslookup
server DNS_SUNUCUSU
set type=MX
example.com
exitserver komutu varsayılan DNS sunucusunu, set type ise sonraki sorguların kayıt türünü değiştirir. Sunucuyu veya türü yeniden değiştirmediğiniz sürece seçilen değerler oturum boyunca sonraki sorgulara uygulanır.
Etkileşimli mod, aynı yetkili sunucuda A, AAAA, MX, NS ve TXT kayıtlarını sırayla incelemek için uygundur. Her değişiklikten sonra hangi sunucunun ve hangi kayıt türünün etkin olduğunu not etmek, çıktıların yanlış sunucuya veya önceki sorgu türüne ait sanılmasını önler.
Recursive Resolver ile Yetkili DNS Sunucusu Sonuçları
Bir recursive resolver, sorguya önbelleğindeki kayıtlarla yanıt verebilir veya yanıtı bulmak için diğer DNS sunucularına başvurabilir. Bu sonuç, ilgili istemcilerin o recursive resolver üzerinden görebileceği durumu anlamak için kullanılır.
Yetkili DNS sunucusuna doğrudan gönderilen sorgu ise sunucunun yetkili olduğu bölgedeki veriyi kontrol etmeye yöneliktir. Yetkili sunucu, kendi bölgesi dışındaki adlar için özyinelemeli çözümleme sunmak zorunda değildir; ilgisiz bir ad sorgulandığında REFUSED, yönlendirme bilgisi veya boş cevap görülebilir.
Çıktıdaki Non-authoritative answer ifadesi, yanıt veren sunucunun sorgulanan ad için yetkili olmadığını belirtir. Bu ifade cevabın yanlış olduğunu göstermez; recursive resolver geçerli bir kaydı önbellekten veya özyinelemeli çözümleme sonucundan döndürmüş olabilir.
nslookup Çıktısında Server, Address, Name ve TTL Alanları
Çıktı biçimi işletim sistemi ve nslookup uygulamasına göre değişebilir, ancak temel ayrım aynıdır. Üst bölümde sorguya yanıt veren DNS sunucusu, alt bölümde ise sorgulanan adın kayıt cevabı bulunur.
- Server, sorgunun gönderildiği ve yanıt veren DNS sunucusunun adını gösterir. Bu alan sorgulanan web sitesinin sunucusu değildir.
- Address, Server satırının yanında yer alıyorsa DNS sunucusunun IP adresidir. Cevap bölümündeki Address satırları ise A veya AAAA kaydından dönen hedef adresleri gösterebilir.
- Name, cevabın ait olduğu alan adını gösterir. Bir CNAME zinciri varsa asıl ad ile takma ad ayrı satırlarda görülebilir.
- MX preference veya benzeri alanlar, posta sunucularının tercih sırasını gösterir; küçük değer genellikle daha yüksek önceliği ifade eder.
- TTL, bazı uygulamalarda ayrıntılı veya hata ayıklama çıktısında görünür. Bu değer kaydın bir recursive resolver tarafından ne kadar süre önbellekte tutulabileceğini saniye cinsinden belirtir.
Aynı sözcüğün iki farklı bölümde kullanılması özellikle Address alanında karışıklık yaratabilir. Önce DNS sunucusunu tanımlayan üst bölümü, sonra cevap bölümünü okuyarak hangi IP adresinin sorgulanan DNS sunucusuna, hangisinin sorgulanan kayda ait olduğunu ayırın.
nslookup Hata Mesajlarının Anlamları
Hata mesajı, olası nedenleri daraltmaya yardımcı olur; tek başına kesin nedeni göstermez. Aynı sorguyu varsayılan recursive resolver, belirli bir recursive resolver ve alanın yetkili DNS sunucusunda karşılaştırmak çoğu durumda daha anlamlıdır.
- timed out, belirlenen süre içinde yanıt alınamadığını gösterir. Yanlış sunucu adresi, ağ erişimi, güvenlik duvarı, paket kaybı veya sunucu yükü gibi farklı nedenler olabilir.
- No response from server, hedef DNS hizmetinden cevap gelmediğini belirtir. Sunucunun çalışması, 53 numaralı bağlantı noktasına erişim ve ağ yolu ayrı ayrı kontrol edilmelidir.
- Non-existent domain, sorgulanan adın bulunmadığını gösterir. Yazım hatası, yanlış arama eki veya gerçekten mevcut olmayan bir ad aynı görünümü oluşturabilir.
- No records, adın var olmasına rağmen seçilen kayıt türünün bulunmadığını ifade eder. Örneğin A kaydı bulunurken MX kaydı olmayabilir.
- Server failure, DNS sunucusunun sorguyu geçerli bir cevapla tamamlayamadığını gösterir. Yetki zinciri, DNSSEC doğrulaması, sunucu içi hata veya geçici erişim sorunu gibi nedenler ayrıca incelenmelidir.
- Refused, sunucunun politika veya yetki nedeniyle sorguyu işlemeyi reddettiğini belirtir. Bu durum özellikle özyineleme sunmayan yetkili sunucularda veya erişimi sınırlandırılmış kurumsal recursive resolver hizmetlerinde görülebilir.
nslookup Komutu Bulunamadığında Ne Yapılabilir?
nslookup bazı işletim sistemlerinde hazır gelirken bazı dağıtımlarda ayrı bir DNS araç paketinin parçası olabilir. Komut bulunamadığında rastgele bir kurulum komutunu uygulamak yerine işletim sistemi veya dağıtımın resmi paket belgelerinde nslookup sağlayan bileşeni doğrulayın.
Aynı adla sunulan uygulamaların seçenekleri ve çıktı biçimleri tamamen aynı olmayabilir. Özellikle varsayılan A ve AAAA sorgusu, arama eki kullanımı, hata metinleri ve ayrıntılı çıktı alanları uygulamaya göre değişebileceğinden, otomasyonlarda yalnız çıktının satır düzenine güvenmek, programın sonucu yanlış yorumlamasına yol açabilir.
DNS Sonuçlarını Farklı Sunucularda Karşılaştırma
Önce sorgulanacak tam alan adını ve kayıt türünü belirleyin. Ardından varsayılan recursive resolver hizmetinden sonuç alın, gerekiyorsa belirli bir kurumsal recursive resolver veya yetkili DNS sunucusunu aynı ad ve kayıt türüyle sorgulayın; her çıktıda yanıt veren sunucuyu ve hata durumunu kaydedin.







