3

Я хочу регистрировать все DNS-запросы с компьютеров в моей домашней беспроводной сети. Какой лучший способ сделать это?

Варианты, которые я знаю:

  1. Используя OpenDNS и позвольте ему регистрировать запросы для меня. Однако для того, чтобы затем генерировать отчеты из своих журналов, я должен использовать JavaScript-браузер включен обезглавленное войти в их stats веб - страниц и загрузки статистики к сценарию. Это больно.

  2. Запустите свой собственный сервер DNS с помощью Djbdns или Dnsmasq или некоторые кэширования распознаватель (который не bind , потому что меня пугает), и он генерирует лог - файлы. Проблема здесь в том, чтобы убедиться, что сервер имен работает, журналы свернуты и т.д.

  3. Используйте переадресацию портов с ведением журнала и запустите iptables на машине для пересылки на 8.8.8.8:53 (или что-то еще) после регистрации каждого запроса. Это дает преимущество в том, что я пересылаю на надежный DNS-сервер вместо того, чтобы запускать свой собственный, но я не думаю, что в журнале будет содержаться полный DNS-запрос (кажется, что взломанный сетевой фильтр выполняет то, что я хочу, но я неохота модифицировать мое ядро для этого простого проекта).

Есть ли другие варианты, которые я здесь пропускаю?

2 ответа2

1

Я уверен, что есть лучший способ сделать это, особенно если ваш маршрутизатор поддерживает ведение журнала.

Однако вот быстрый и грязный метод, который вы можете использовать для каждой машины.

Вы можете использовать Wireshark, чтобы увидеть все ваши DNS-запросы. Вы можете запустить перехват на вашем интерфейсе и затем фильтровать для DNS. Ниже приведен пример захвата DNS, отфильтрованный для DNS:

Интересно, вы заходите на superuser.com и запрашиваете множество других сайтов StackExchange.

1

Многие из блоков NAS, такие как Synology, на самом деле работают под управлением Linux и имеют доступные пакеты DNS. Сетевое хранилище на базе Atom или ARM не потребляет много энергии, и вы можете оставить его включенным постоянно.

Кроме того, Raspberry Pi за 35 долларов более чем достаточно для размещения DNS-сервера и / или DHCP-сервера. Есть много отличных дистрибутивов, где установка logrotate тривиальна. Вы также можете получать еженедельную рассылку, если вы этого хотите.

Хорошей идеей является запуск собственного кэширующего DNS, который часто может иметь такие положительные преимущества, как:

  • Более низкая задержка для запросов DNS (если запрос был замечен в последнее время)
  • Позволяет для регистрации DHCP DNS
  • Запустите свой собственный внутренний домен, не связываясь с файлом hosts на всех ваших устройствах.
  • Плюс еще более занудные вещи, в которые я не попаду

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .