В настоящее время я настраиваю свою сеть так, чтобы все DNS выполнялись через наш сервер 2003, и теперь, когда есть кэш, я хотел бы получить по нему несколько отчетов. Я разработчик .NET, и моя идея состоит в том, чтобы проанализировать файл и выгрузить его в SQL Server.
Проблема в том, что я не знаю, где Сервер хранит кеш. Может ли кто-нибудь вести меня в правильном направлении?
Я думаю, это все в памяти.
Я знаю, что ты можешь использовать dnscmd чтобы сбросить кеш с помощью такой команды:
dnscmd serverip /zoneprint .
Вы можете просмотреть содержимое с помощью DNS MMC. В меню «Просмотр» убедитесь, что установлен флажок «Дополнительно». Затем вы можете щелкнуть по серверу, и под ним будет папка с именем «Cached Lookups».
Это приведет к снижению производительности, но на самом деле вы, возможно, захотите включить ведение журнала отладки и затем запускать отчеты для файла журнала, вместо того, чтобы пытаться просматривать только кеш.
Чтобы настроить ведение журнала отладки, откройте диспетчер DNS и щелкните правой кнопкой мыши на сервере. Есть вкладка «Ведение журнала отладки». Задайте путь к файлу журнала и установите флажки, чтобы регистрировать то, что вы хотите видеть.
Если вам нужно просматривать только HTTP-запросы, вам придется использовать какой-то прокси или другой сетевой инструмент.
Вы можете настроить сервер как маршрутизатор шлюза и использовать такой инструмент, как Wireshark, для анализа трафика.
Другой вариант - использовать функцию некоторых управляемых сетевых коммутаторов, называемую зеркалированием портов. Вы можете зеркалировать трафик порта вашего существующего шлюзового маршрутизатора на порт другого компьютера и использовать Wireshark для сбора данных.
Я считаю, что кеш существует только в памяти, поскольку записи в кеше являются временными и истекают в зависимости от TTL записей. Кто-нибудь знает что-нибудь другое?