Як записати всі мої запити DNS?


18

Як я можу створювати журнали кожного запиту DNS, який створює мій комп'ютер, разом із отриманими відповідями?

logs  dns 

Відповіді:


14

Ви можете мати tcpdumpпротокол усіх портів 53 UDP та TCP-активності.


6
Будь-які деталі про те, як?
e-sushi

Це найкраща відповідь, оскільки ми не можемо бути впевнені, що ОП (або інші читачі) мають доступ до DNS-сервера - лише до своєї локальної машини. Щоб відповісти на запитання @ e-sushi, скористайтеся програмою tcpdump за допомогою утиліти (ознайомтеся із довідковою сторінкою чи добрим букварем із прикладами ). Ваша найкраща ставка - скинути файл і потім перетягнути ці дані в провід для обстеження та аналізу.
Джеймс Швей

1
github.com/gamelinux/passivedns, здається, робить саме це, дивіться./doc/How-it-works.txt
mxmlnkn

5
tcpdump udp port 53
Браннон

1
Він може не вибрати вихідний мережевий інтерфейс за замовчуванням, тому вам потрібно трохи більше: tcpdump --list-interfaces, tcpdump udp port 53 --interface (pickone). Також врахуйте багатослівність:-vv
nobar

9

Найпростіший спосіб - встановити Bind локально. У більшості дистрибутивів за замовчуванням встановлення Bind буде керуватися не авторитетним способом.

Просто додайте logging {}конфігураційний блок (як описано у довідці про конфігурацію Bind 9 ), а потім встановіть систему 127.0.0.1або використовувати ::1DNS-рішення.


2
Зважаючи на те, наскільки велике прив'язка та її низький рівень безпеки, я думаю, що багато людей будуть вагатися, щоб встановити щось подібне з єдиною метою ведення журналу.
jw013

не прив'язує проблема, що сервери імен у /etc/resolv.conf не використовуються, але сервери імен повинні бути чітко вказані у конфігурації прив'язки?
Bananguin

Ні. /etc/resolv.conf- це список роздільної здатності системи. Конфігурація Bind за замовчуванням полягає у пошуку авторитетних серверів імен та запитанні їх. Ви можете пересилати всі запити на певний сервер (або набір, наприклад, ваш Інтернет-провайдер, OpenDNS або Google Public DNS), але робити це не потрібно в конфігурації. Я роблю це постійно. Я навіть не можу підрахувати, скільки разів я налаштував кешування лише серверів імен.
bahamat

6

dnsmasq набагато простіше конфігурувати як демон DNS-агрегатора / кешування, ніж BIND, і для цього ефективність може бути просто кращою. Якщо увімкнути вхід до "налагодження", усі запитання та відповіді відображатимуться в тому, що syslogналаштовано для повідомлень про налагодження.

Dnsmasq також дозволяє легко позбутися від зловживаючих рекламодавців і конфіденційності, які врізаються в "аналітичні" повзучі, шляхом вилучення цілих доменів до 127.0.0.1


1

Якщо я правильно пам'ятаю, Snort може вибірково контролювати трафік на основі визначених користувачем правил. Однак Snort не створюватиме журнали для запитів DNS, коли ваш комп’ютер, тобто його роздільник, зможе відповісти на запитання зі свого кешу.


1

Щоб показати та зберегти у файлі всі Aзапити DNS, запустіть це:

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

Приклад виводу:

google.com.
wikipedia.org.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.