Tüm DNS sorgularımı nasıl kaydedebilirim?


18

Bilgisayarımın aldığı yanıtlarla birlikte yaptığı her DNS sorgusunun günlüklerini nasıl oluşturabilirim?

logs  dns 

Yanıtlar:


14

Sen olabilir tcpdumptüm liman 53 UDP ve TCP log tutma.


6
Nasıl yapılacağı hakkında herhangi bir ayrıntı?
e-sushi

Bu en iyi yanıttır, çünkü OP'nin (veya diğer okuyucuların) DNS sunucusuna (yalnızca yerel makinelerine) erişebileceğinden emin olamayız. @ E-sushi'nin sorusunu cevaplamak için yardımcı programı kullanarak bir tcpdump alın ( man sayfasını veya örneklerle iyi bir astarı inceleyin ). En iyi seçeneğiniz, bir dosyaya dökmek ve daha sonra inceleme ve analiz için bu verileri wireshark'a çekmek .
James Shewey

1
github.com/gamelinux/passivedns tam da bunu yapıyor gibi görünüyor, bkz../doc/How-it-works.txt
mxmlnkn

5
tcpdump udp port 53
Brannon

1
Giden ağ arabirimini varsayılan olarak seçmeyebilir, bu yüzden biraz daha fazlasına ihtiyacınız vardır: tcpdump --list-interfaces, tcpdump udp port 53 --interface (pickone). Ayrıca ayrıntı -vv
düzeyini

9

En kolay yol Bind'i yerel olarak kurmaktır. Çoğu dağıtımın varsayılan Bind kurulumu yalnızca otomatik önbellekleme olmayacaktır.

Bir logging {}yapılandırma bloğu ekleyin ( Bind 9 Yapılandırma Referansında açıklandığı gibi ), ardından sisteminizi 127.0.0.1veya ::1DNS çözümleyicisi olarak kullanacak şekilde ayarlayın .


2
Bağlamanın ne kadar büyük olduğu ve cansız güvenlik kaydı göz önüne alındığında, birçok insanın yalnızca günlük kaydı için böyle bir şey yüklemekten çekinmeyin.
jw013

/etc/resolv.conf dosyasındaki ad sunucularının kullanılmadığı, ancak ad sunucularının bind yapılandırmasında açıkça listelenmesi gerektiği sorunu yok mu?
Bananguin

Hayır /etc/resolv.conf. Sistem çözücü listesidir. Bind'in varsayılan yapılandırması yetkili ad sunucularını aramak ve onlara sormaktır. Sen olabilir (örneğin ISP, OpenDNS veya Google Public DNS veya set) belirli bir sunucuya tüm isteklerini iletmek ama config bunu yapmak için gerekli değil. Bunu her zaman yaparım. Yalnızca ad sunucularını önbellekleme sayısını kaç kez ayarladığımı bile sayamıyorum.
bahamat

6

dnsmasq , DNS toplayıcısı / önbelleğe alma programı olarak yapılandırmak için BIND'den çok daha kolaydır ve bu amaçla performans daha iyi olabilir. Günlüğe kaydetmeyi "hata ayıklama" ya çevirirseniz, tüm sorular ve yanıtlar sysloghata ayıklama iletileri için yapılandırılmış olan her şeyde görünür.

Dnsmasq ayrıca, tüm alan adlarını 127.0.0.1'e ekleyerek "analitik" sürünmeleri istila eden küfürlü reklamverenlerden ve pislik gizliliğinden kurtulmayı kolaylaştırır


1

Doğru hatırlıyorsam Snort, kullanıcı tanımlı kurallara göre trafiği seçici olarak izleyebilir. Ancak, Snort, bilgisayarınız, yani çözümleyicisi soruyu önbelleğinden yanıtlayabildiğinde DNS istekleri için günlükler oluşturmaz.


1

Tüm ADNS isteklerini göstermek ve dosyaya kaydetmek için şunu çalıştırın:

script -q -c "sudo tcpdump -l port 53 2>/dev/null | grep --line-buffered ' A? ' | cut -d' ' -f8" | tee dns.log

Örnek çıktı:

google.com.
wikipedia.org.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.