dig Komutu ve macOS DNS Flush İşlemi
DNS değişiklikleri, kontroller ve benzeri bir çok nedenden dolayı güncel DNS kayıtlarını kontrol etmek isteyebilirsiniz. Bu işlem için kullanabileceğiniz bir çok uygulama mevcut1.
Bu yazıda DNS kontrolleri ve düzenlemeleriyle ilgili kullanılabilecek birkaç komuttan bahseceğim. İlk olarak Yandex.Kurumlar İçin Mail Kullanımı başlıklı yazıda MX kayıtlarının güncel durumunu öğrenmek için kullandığımız dig komutundan bahsetmek istiyorum.
Dig Komutu ve Kullanımı
Dig (domain information groper) komutu DNS ve IDN (Internationalized Domain Name) sorgulama işlemlerinde kullanabileceğimiz ve BIND'in parçası olarak geliştirilen2, nslookup yerine kullanabileceğimiz oldukça pratik network yönetim araçlarından biri3 ve temel kullanımı şu şekilde4:
dig [ornekwebsitesi.com]
İlgili komut uygulandıktan sonra alacağımız cevap şu şekilde olacaktır.

Genel kayıt sorgulama işlemlerindeyse any kullanımını tercih edebiliriz.
dig [ornekwebsitesi.com] ANY

Spesifik kayıt sorgulama işlemleri için ise komutumuz şu şekilde olacaktır.
dig facebook.com [MX|NS|...]
NS kayıtlarını listeleyelim.
dig facebook.com NS
NS kaydı üzerinden MX sorgulaması yapalım.
dig facebook.com MX @a.ns.facebook.com.
TXT kayıtlarını listeleyelim.
dig facebook.com TXT
Birden çok domain için sorgulama işlemi yapmak istersek şu yolu izleyebiliriz. Öncelikle sorgulayacağımız dosyaların olduğu bir metin dosyası oluşturalım ve her satıra bir domain gelecek şekilde kayıt edelim. Aşağı yukarı şöyle bir döküman işe yarayacaktır.

Ardından dosya yolunu belirtip sorgulama parametrelerimizi uygulayabiliriz.
dig -f [domain-listesi-dosyasi] +noall +answer
Belirtilen dosyaya uygun genel ve detaylı sorgular yaptığımızda domain sırasına göre aşağıdaki şekilde detayları alacağız.
+noall
ile yorumlar, yetki alanı, ek bölümler ve istatistikleri gizler, +answer
ile de cevap alanını (ANSWER SECTION) belirtiriz. Bu parametreleri kullanmadan da dosya üzerinden işlemler yürütebilirsiniz. DNS dökümünü harici bir dosyaya aktarmak için şu yolu izleyebilirsiniz.
dig -f [domain-listesi-dosyasi] ANY > [hedef-dosya]
Mesela MX kaydını Google üzerinden oluşturmuş olan alan adlarını harici dosyamıza aktaralım.
dig -f ~/domain-listesi.txt +noall +answer MX | grep -i google > domain-log.txt
Yukarıdaki sorgulara göre güncel durumlara ulaşabilirsiniz. Ancak, erişimlerde hala aksilikler yaşıyor olma ihtimaliniz söz konusu olabilir. Bu durumda basitçe DNS Flush komutunu uygulayabilirsiniz5.
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Her zaman olduğu gibi yine komut detaylarına pratik bir şekilde ulaşmak, örnek kullanımları incelemek mümkün. Dig komutuyla ilgili detayları da aynı şekilde man dig
ile öğrenebilirsiniz.
- Justin Ellingwood. (2013). How To Use Dig, Whois, & Ping on an Ubuntu VPS to Query DNS Data. DigitalOcean Community ↩
- BIND. Wikipedia ↩
- Nslookup. Wikipedia ↩
- Mertcan GÖKGÖZ. (2013). Linux Sistemlerde Dig Komutu Kullanımı ↩
- Akshay Gangwar. (2017). How to Reset and Flush DNS Cache in macOS Sierra. Beebom ↩