Скорее всего, это недоразумение новичка.
Система: Ubuntu AMD64, 14.04.03 LTS; установлен Snort с конфигурацией по умолчанию.
Я пишу правило Snort, которое касается ответов DNS. Чтобы убедиться, что все работает, я написал следующее правило:
alert udp any any -> any any (msg:"UDP"; sid:10000001; rev:001;)
Затем я использую -r file.pcap
с Snort, чтобы проверить мое правило.
В моем файле pcap 4 пакета:
И клиент, и сервер находятся в одной сети / 24. Используется порт DNS на стороне сервера по умолчанию (53).
Когда я запускаю Snort на своем pcap, он предупреждает о запросах, но не об ответах. Я даже пробовал запустить Snort вживую и использовать dig
для генерации DNS-запросов. Такое же поведение: предупреждения о запросах, но не ответах.
$ snort -A console -q -u snort -g snort -c snort.conf -r dns.pcap
11/05-19:13:00.754320 [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:35977 -> 192.168.188.10:53
11/05-19:13:15.734932 [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:50795 -> 192.168.188.10:53
Почему Snort не предупреждает об ответах?
Согласно этот вопрос, добавив -k none
, который отключает проверку контрольной суммы, приводит к предупреждению всех четырех пакетов.
Пока читается файл pcap, я не совсем понимаю, почему нельзя вычислить контрольную сумму, но я думаю, что на самом деле это другой вопрос.