Я не вижу UDP-пакеты в очереди NFQUEUE в Ubuntu, хотя правила iptables настроены правильно.Linux

Ответить Пред. темаСлед. тема
Anonymous
 Я не вижу UDP-пакеты в очереди NFQUEUE в Ubuntu, хотя правила iptables настроены правильно.

Сообщение Anonymous »

Я пытаюсь перехватить UDP-пакеты на сервере Ubuntu с помощью iptables и очереди NFQUEUE, а затем обработать их с помощью приложения. Однако, хотя я правильно настроил правила iptables и UDP-пакеты поступают на сервер (как показывает tcpdump), я не вижу их в очереди NFQUEUE.
Эти пакеты создаются на другом компьютере (отправителе) с помощью сценария Python и подключаются непосредственно к компьютеру Ubuntu (получателю) с помощью проводного соединения. Я проверил правильность пакетов (пересчитаны контрольные суммы и правильная структура).
Конфигурация и операционная система:
Ubuntu 24.04.
Ядро: 6.8.0-47-generic.
Правила, которые я создаю в Ubuntu:

sudo iptables -I INPUT 1 -i enp0s31f6 -p udp --dport 12345 -j LOG --log-prefix "Обнаружен UDP-пакет: "

sudo iptables -I INPUT 2 -i enp0s31f6 -p udp --dport 12345 -j NFQUEUE --queue-num 0

С помощью tcpdump я подтвердил, что UDP-пакеты через порт 12345 достигают сервера .

sudo tcpdump -i enp0s31f6 udp-порт 12345

Код: Выделить всё

tcpdump: listening on enp0s31f6, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:30:42.736329 IP (tos 0x0, ttl 64, id 2001, offset 0, flags [DF], proto UDP (17), length 40)
10.22.18.54.12345 > 192.168.1.10.12345: UDP, length 12
Если вместо использования интерфейса enp0s31f6 я использую loopback(lo) вместе с командой:

эхо «Привет, мир» | nc -u localhost 12345

Он работает правильно.
Чтобы проверить, что он работает, я смотрю, сколько пакеты прошли созданное правило. В случае с обратной связью у нас есть 1 пакет, указывающий, что он сработал, и каждый раз, когда я запускаю указанную выше команду, я вижу, что он увеличивается на 1.
В то время как enp0s31f6 правило ни на что не увеличивается, и журнал dmesg абсолютно ничего не показывает.

sudo iptables -L -v -n

Код: Выделить всё

Chain INPUT (policy ACCEPT 39989 packets, 129M bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 NFQUEUE    17   --  enp0s31f6 *       0.0.0.0/0            0.0.0.0/0            udp dpt:12345 NFQUEUE num 0
1     40 NFQUEUE    17   --  lo     *       0.0.0.0/0            0.0.0.0/0            udp dpt:12345 NFQUEUE num 0
Что может случиться и что я делаю не так? Что мне нужно изменить, чтобы начать захватывать UDP-пакеты на интерфейсе enp0s31f6?

Подробнее здесь: https://stackoverflow.com/questions/791 ... iptables-r
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»