dig Komutu ve macOS DNS Flush İşlemi

Güncelleme Yayın

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.

Dig komutu

Genel kayıt sorgulama işlemlerindeyse any kullanımını tercih edebiliriz.

dig [ornekwebsitesi.com] ANY
Dig 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.

Toplu dns sorgulama

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.