Я знаю, що в Windows я можу видавати ipconfig /displaydns
і бачу вміст кеша локального DNS.
Як я можу перерахувати вміст кешу DNS в Linux?
Я хотів би отримати якомога більше рішень для перехресного дистрибуції.
Я знаю, що в Windows я можу видавати ipconfig /displaydns
і бачу вміст кеша локального DNS.
Як я можу перерахувати вміст кешу DNS в Linux?
Я хотів би отримати якомога більше рішень для перехресного дистрибуції.
Відповіді:
systemd
цього кешування DNS на рівні ОС майже не булоДо systemd
не було кешування DNS рівня ОС на Linux (і , ймовірно , більшість Unix), якщо nscd
і dnsmasq
не був встановлений і запущена.
Вже тоді функція кешування DNS nscd
у Debian була відключена за замовчуванням у принаймні просто тому, що вона порушена .
Що стосується dnsmasq
, то кешування , здається, відбувається в оперативній пам'яті за замовчуванням.
dnsmasq
за замовчуванням, тому unix.stackexchange.com/q/162973/79839 може бути корисним.
systemd
, systemd-resolved
за замовчуванням працює, що кешує результати DNS на основі їх TTL
nscd
- це сервіс імен кешування Daemon. Це утиліта, яку Linux, Solaris та інші використовують для кешування пошукових служб імен. Служба імен в цьому випадку - це загальний термін, не обмежений суто роздільною здатністю, а також користувачами, групами тощо.
Я не знаю способу переглянути фактичний вміст кешу, хоча ви можете відображати статистику /usr/sbin/nscd -g
.
Це може принаймні показати вам, наскільки ефективний ваш кеш, хоч і не зовсім те, що він вирішує.
У вас можуть бути інші варіанти, якщо ви використовуєте альтернативний інструмент кешування, наприклад DNSMASQ.
Якщо ви використовуєте nscd
, ви можете переглянути вміст (а можливо, і інший сміття), показавши рядки ASCII з файлу бінарного кешу. У Debian / Ubuntu цей файл призначений /var/cache/nscd/hosts
для кешу хостів / DNS, тому ви можете запустити, strings /var/cache/nscd/hosts
щоб побачити хостів у кеші.
Зауважте, що це повний хак, оскільки, здається, немає належного способу перевірити nscd
кеш без декодування бінарного формату.