Nslookup komutları DNS serverlarda sınama ve sorun giderme için kullanılan bir komut satırı yönetimsel aracıdır. Nslookup komutları ile dns serverımızdaki kayıtları sorgulayabiliriz veya herhangi bir DNS serverı DNS server olarak göstererek istenilen sorguları gerçekleştirebiliriz.
Nslookup komutu ile herhangi bir sorgu yapmak istiyorsak öncelikle komut satırına ‘İPCONFİG /ALL’komutunu yazarak enter tuşuna bastığımızda en az bir DNS server olmalıdır.
Nslookup komutları ile DNS serverda kayıtlı olan zone lar , başka domain lerde bulunan (örneğin ; Google.com , ozengen.com vb.) DNS server bilgileri sağlanabilir.
Nslookup komutları aşağıdaki gibidir ;
- Komut satırında NSLOOKUP komutunu çalıştırdğımızda default DNS serverımız ile ilgili bilgileri görürüz.
DNS serverda sorgu yapabilmek için ise aşağıdaki komutlar işimize yarar ;
NSLOOKUP komutunu çalıştırdıktan sonra DNS serverda ;
- NS (name server) ,
- SOA (start of authority) ,
- A ,
- CNAME sorguları gerçekleştirebiliriz.
Nslookup komutlarını test edebilmek için kendi kurmuş olduğum bir domain de test ederek göreceğiz bu dökümanda.
Komut satırında nslookup yönetimsel aracını kullanabileceğimiz komutlar , nslookup komut satırına düştüğümüzde ‘help’ veya ‘?’ yazıp enter tuşuna bastığımızda listelenecektir ;
Komutlar: (tanımlayıcılar büyük harf olarak gösterilmiştir, [] isteğe bağlı anlamındadır)
AD – varsayılan sunucuyu kullanarak AD adlı ana makine/etki
alanı hakkında bilgi yazdırır
AD1 AD2 – yukarıdaki gibi, ancak sunucu olarak AD2 kullanılır
help veya ? – sık kullanılan komutlar hakkında bilgi yazdırır
set SEÇENEK – seçenek ayarlar
all – yazdırma seçenekleri, geçerli sunucu ve ana makine
[no]debug – hata ayıklama bilgilerini yazdırır
[no]d2 – ayrıntılı hata ayıklama bilgilerini yazdırır
[no]defname – etki alanı adını her sorguya ekler
[no]recurse – sorgu için yinelemeli yanıt ister
[no]search – etki alanı arama listesini kullanır
[no]vc – her zaman sanal bir devre kullanır
domain=AD – varsayılan etki alanı adını AD olarak ayarlar
srchlist=N1[/N2/…/N6] – etki alanını N1 ve arama listesini N1, N2,
olarak ayarlar
root=AD – kök sunucusunu AD olarak ayarlar
retry=X – deneme sayısını X olarak ayarlar
timeout=X – başlangıç zaman aşımı aralığını X saniye olarak ayarlar
type=X – sorgu türünü ayarlar (örneğin, A, ANY, CNAME, MX,
NS, PTR, SOA, SRV)
querytype=X – type seçeneğiyle aynı
class=X – sorgu sınıfını ayarlar (örneğin, IN (Internet), ANY)
[no]msxfr – MS hızlı bölge aktarımını kullanır
ixfrver=X – IXFR aktarım isteğinde kullanılacak geçerli sürüm
server AD – geçerli varsayılan sunucuyu kullanarak, varsayılan sunucuyu AD olarak ayarlar
lserver AD – başlangıç sunucusunu kullanarak, varsayılan sunucuyu AD olarak ayarlar
finger [KULL.] – geçerli varsayılan ana makinede isteğe bağlı AD’ı finger işlemine tutar
root – varsayılan sunucuyu köke ayarlar
ls [opt] ETKİALANI [> DOSYA] – ETKİALANI’ndaki adresleri listeler(isteğe bağlı: çıktıyı
DOSYA’ya gönderir)
-a – kurallı adları ve diğer adları listeler
-d – tüm kayıtları listeler
-t TYPE – verilen türdeki kayıtları listeler (örneğin, A, CNAME,
MX, NS, PTR vb.)
view DOSYA – ‘ls’ çıktı dosyasını sıralar ve pg ile görüntüler
exit – programdan çıkar
Yukarıda listelenen komutlardan daha çok kullanılan komutlar aşağıdaki komutlardır ;
NS,Cname,vb. bilgileri sorgulayabileceğimiz
set type=<sorgu tipi> (NS, CNAME, vb.) komutu veya
set type komutu ile aynı işlevi gören set q=X komutu
DNS kayıtlarını filtrelenebileceği;
ls –X <sorgu tipi><domain adı>
DNS kayıtlarını filtreleyerek görüntüleyebileceğimiz bu komutlarda X alanının yerine yazabileceğimiz komutlar ;
komutlarıdır.
ls –a komutu DNS serverdaki kurallı adları listeler. Örneğin webserver için bir kural oluşturduysak webserver için yazdığımız DNS kaydını görüntüler.
ls –d komutu ise DNS serverda bulunan tüm kayıtları listeler.
Komut satırlarını kullanmaya başlayalım ;
Komut satırında ‘nslookup’ komutunu yazarak enter tuşuna bastığımızda DNS sorgularımızı gerçşekleştirdiğimiz DNS serverımızın IP adresini görürüz.
Resimde kırmızı alan içinde bulunan 192.168.1.10 IP li server sorgularımızı yaptığımız DNS serverımızdır.
Komut satırında Nslookup komutunu çalıştırdıktan sonra herhangi bir domainin (Google.com , ozengen.com, youtube.com vb.) NS kayıtları bilgisi için set type=NSkomutunu çalıştırıyorum ve sorgulamak istediğim tipe düşmüş oluyorum.Yani bu bilgileri alabilmemiçin bir hedef , herhangi bir domain yazmam gerekecek şimdi sorgu yapmak istediğim domaini yazdığımda , ilgili domain NS bilgileri listelenecektir.Bu adımda ozengen.com’u sorguluyorum komut satırında baktığımızda ;
Nslookup satırındayken MX (mail exchanger) kayıtları için set type=MX veya set type komutu ile aynı işlevi gören set q=MXkomutunu çalıştırdığımızda sorgu yapmak istediğmiz domainle ilgili MX kayıtlarını listeleyecektir.Bu komutu kendi kurmuş olduğum my.domain domaininde ve başka domainlerde sorguladığımızda ;
ozengen.com domaini için MX sorgusu yaptığımda yukarıda MX kaydı ile ilgili bilgileri görebileceğim bir sonuç geliyor.
MX kaydı sorgulayacağım için set type=MX ve daha sonra mail server ismi.
> set type=MX
>mail.my.domain<mail server hostname>
Kurmuş olduğum my.domain domainindeki tüm DNS kayıtlarını listeleyebilmek için kullanacağımız komutlar sorguladığımız kayıtları filtreleyebileceğimiz
ls –X <$><domain adı>
$ = listelemek istediğimiz kayıtlar SOA,NS vb.
ls –a my.domain komutu DNS kaydında bulunan kurallı adları listeler örneğin webserver a verilmiş olan CNAME görüntülenecektir ;
ls –d my.domain komutu ise DNS serverda bulunan tüm kayıtları listeler ; A,NS,SOA,SRV ,MX vb. birçok bilgi listelenecektir
ls –t komutu ise filtrelemek istediğimiz kayıtları listeler bu komutun kullanımı ;
ls –t <SOA,NS,CNAME,SRV> my.domain
kurmuş olduğum domainde ls –t SOA my.domain komutunu çalıştırdığımda DNS kayıtlarındaki SOA kayıtlarını listelenir.
Bu komutu MX kayıtları için sorguladığımda ise DNS serverda bulunan MX kayıtlarını listeleyecektir ;
Nslookup komutlarını başka bir bir serverı kullanarak sorgu yapmak içinse kullanacağımız komut ;
>server <IP adres> veya <hostname>
Bu komutu kurmuş olduğum domainde test ettiğimde
Bu komutu girdikten sonra default DNS server olarak artık 192.168.1.11 IP additional DNS kullanıyor olacağım.
Kullandığımız bu komutları bir .txt ye yazdırabilmek için kullanacağımız komut ise ;
ls –t SOA my.domain > test.txt
ancak bu komutu yazmadan önce X.txt yi hangi dizine attığımızı bilmek için örneğin biz desktop a atalım nslookup komutunu girmeden önce cd desktop yazarak .txt çıktısını desktopa atarız.Bunu bir örnek ile gösterdiğimizde ;
Yukarıdaki komutu girdikten sonra sorguladığımız DNS kaydı masaüstünde bulunan test.txt çıktısındalistelenmiş olacaktır.
DNS sorgusu yapıldığında çoğu zaman timeout sorunu yaşayabiliriz.Bu sorunu aşabilmek için nslookup komutları arasında bulunan ;
Set timeout=X second
Komutunu kullanarak set edebiliriz.Bu komutu bir örnekle gösterdiğimizde ;
Nslookup komutlarını örneklerle sizlere açıklamaya çalıştık. Yorumlarınızı bekliyoruz.