Как зарегистрировать все DNS-запросы, сделанные через OpenWRT маршрутизатор?

у меня есть маршрутизатор OpenWRT, на котором работает dnsmasq. Я хочу создать файл с каждым доменом, запрошенным через маршрутизатор. Мой вывод должен выглядеть примерно так:

google.com
cnn.com
wikipedia.com
news.google.com
gmail.com

В идеале дубликатов не было бы. Я мог бы, вероятно, настроить задание cron, которое удалило бы дубликаты, если это необходимо. Прямо сейчас я пытаюсь найти хороший способ войти в них. Я посмотрел варианты dnsmasq. Я обнаружил следующее варианты:

 -q, --log-queries                       Log DNS queries.
 -8, --log-facility=<facilty>|<file>     Log to this syslog facility or file. (defaults to DAEMON)
--log-dhcp                          Extra logging for DHCP.
--log-async[=<integer>]             Enable async. logging; optionally set queue length.

на OpenWRT эти настройки, кажется, похоронены в /etc / init.файл д/раздача. Я попытался установить их, но безуспешно. :- (Есть ли более простой способ достижения моей цели?

Ах! С немного шаманства мне удалось заставить его писать в лог-файл. Однако у него нет данных, необходимых для создания этого списка. Может, dnsmasq не может делать то, что я хочу?

9
задан exvance
03.02.2023 11:01 Количество просмотров материала 3093
Распечатать страницу

4 ответа

вы можете редактировать конфигурационный файл:

vi /etc/dnsmasq.conf

    # /etc/dnsmasq.conf
    log-dhcp
    log-queries
    log-facility=/tmp/dnsmasq.log

или отредактируйте другой конфигурационный файл:

vi /etc/config/dhcp

    config dnsmasq
        ...
        option logdhcp '1'
        option logqueries '1'
        option logfacility '/tmp/dnsmasq.log'

затем перезапустить службу:

/etc/init.d/dnsmasq restart

файл журнала может быть проанализирован в режиме реального времени с tail+awk:

$ vi dnsmasq.awk

    #!/usr/bin/awk -f

    BEGIN {
      OFS = ",";
    }

     == "query[A]" {
      time = mktime( \
        sprintf("%04d %02d %02d %s\n", \
          strftime("%Y", systime()), \
          (match("JanFebMarAprMayJunJulAugSepOctNovDec",)+2)/3, \
          , \
          gensub(":", " ", "g", ) \
        ) \
      );
      query = ;
      host = ;
      print time, host, query;
    }

$ chmod +x dnsmasq.awk

$ tail -f /tmp/dnsmasq.log | ./dnsmasq.awk

1468999090,192.168.1.100,google.com
1468999092,192.168.1.101,youtube.com
1468999095,192.168.1.102,facebook.com
1468999097,192.168.1.100,qa.sockets.stackexchange.com

более продвинутый метод отправки журнала через filebeat лося в режиме реального времени.

9
отвечен kev 2023-02-04 18:49

In /etc/config/dhcp добавить:

config dnsmasq
    [...]
    option logqueries '1'

и перезапустить dnsmasq.

журналы будут записаны в системный журнал, вид с logread -f в терминале или через LuCi.

2
отвечен dersimn 2023-02-04 21:06

вы можете установить tcpdump и обнюхать пакет, идущий на порт 53

tcpdump -i eth0 -l -vvv dst host 192.168.1.100 and dst port 53 >> dump.log

этот файл будет расти очень быстро, и ваш маршрутизатор будет работать из памяти очень быстро. Использование USB-накопителя для сохранения журнала предотвратит это.

2
отвечен Joe 2023-02-04 23:23

учитывая, что вы используете маршрутизатор, если вы хотите много записывать журналы во внутреннюю флэш-память, это сократит срок службы флэш-памяти, которая может его отключить.

если вы не возражаете, чтобы ваши журналы появлялись на стороннем сервисе, могу ли я предложить использовать OpenDNS для достижения вашей цели?

принципиально

  1. как только ваш маршрутизатор меняет WAN IP, он должен уведомить OpenDNS о Вашем новом IP.
  2. ваш маршрутизатор должен быть настроен для использования серверов OpenDNS для поиска DNS.
  3. история поиска DNS вашей сети будет отображаться на приборной панели OpenDNS, хотя и после нескольких часов задержки. Здесь вы можете увидеть, сколько раз домен был запрошен, упорядоченный по top most, а также график, который говорит вам о поиске в час.

подробности

цитата учебник, который я написал

настройка OpenDNS DNS-O-Matic

во-первых, нам нужна учетная запись на DNS-O-Matic и OpenDNS для ведения журналов.

  1. регистрация для DNS-O-Matic (www.dnsomatic.com аккаунт). Используйте пароль без специальных символов. Насколько я помню, это вызвало проблемы с настройкой на OpenWRT. Вы можете компенсировать потерю надежности пароля путем увеличения длины.
  2. используя те же учетные данные, войдите в OpenDNS Dashboard (dashboard.opendns.com)
  3. в разделе Настройки пометьте сеть имя. Я называю это "Домом"
  4. параметры: <Your network label>, выберите
  5. нажмите на статистику и журналы
  6. включить статистику и журналы
  7. вернуться к DNS-O-Matic
  8. добавить службу, OpenDNS
  9. выберите домашнюю сеть

конфигурация OpenWRT

нам нужно настроить OpenWRT на обновление OpenDNS через DNS-O-Matic при изменении публичного IP-адреса, т. е. из-за перезагрузки маршрутизатор, WAN link удален и снова подключен и т. д.

примечание: эти шаги для OpenWRT хаос спокойнее.

важно: в зависимости от свободного места на маршрутизаторе, возможно, придется прибегнуть к использованию параметров, отличных от SSL.

  1. перейти к System > Software
  2. обновить списки
  3. если вы хотите использовать SSL, установите ca-certificates и wget
  4. если вы не хотите или не можете использовать SSL, установите wget-nossl
  5. установить ddns-scripts и luci-app-ddns
  6. перейдите к службе > динамический DNS
  7. добавьте новую запись и назовите ее dnsomatic
  8. Select-custom-DDNS поставщик услуг
  9. установить Пользовательское обновление-url в http://[USERNAME]:[PASSWORD]@updates.dnsomatic.com/nic/update?hostname=all.dnsomatic.com&myip=[IP]&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG ничего не заменяя
  10. установите hostname в dnsomatic.com
  11. введите имя пользователя и пароль
  12. установите флажок " Использовать http Secure’, если вы используете опцию SSL
  13. [IP] часть URL-адреса будет заменена в соответствии с полями "источник IP-адреса" и "сеть" в разделе "Дополнительные параметры".
  14. Сохранить И Применить
0
отвечен Leow Kah Man 2023-02-05 01:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх