iptable правило соответствия для ОШЕЛОМЛЯЕТ/ПОВОРАЧИВАЕТ трафик

Я ищу открытие, ПОВОРАЧИВАЮТСЯ/ОШЕЛОМЛЯЮТ пакеты, прибывающие в 443 порта. Согласно ПОВОРОТУ RFC, Байты 46 - 49 являются пакетным cookie волшебства ПОВОРОТА '2112a442'. Вот снимок экрана от wireshark, где я нашел, что ОШЕЛОМИТЬ cookie был от 46 до 49

Я использую -m u32 --u32 "46=0x2112A442" но не могут отфильтровать их.

Вот мое полное iptable правило

-A PREROUTING -i eth0 -p tcp --dport 443 -m u32 --u32 "46=0x2112A442" -j REDIRECT --to-port 3478

Какая-либо Идея, что я мог делать неправильно?

0
задан 5 June 2018 в 23:27

1 ответ

Смещения модуля iptables u32 относятся к пакету за вычетом обертки ethernet (минус MAC-адрес источника и назначения, 6 байт каждый, и типа эфира, 2 байта. Следовательно, смещение Wireshark, равное 46, необходимо скорректировать на 14, и должно быть 32.

Теперь, для проверки работоспособности, найдите тип служебного байта, который мы знаем из области u32 страниц man для iptables-extensions по смещению 9 и мы также знаем, что для UDP 0x11 (17). Он находится в байте 0x17 (23) вашего скриншота wireshark. Отсюда мы также получаем 32 в качестве смещения, которое вы должны использовать.

EDIT 1: так как протокол UDP, вам также нужно настроить эту часть вашей команды iptables. Итак:

sudo iptables -A PREROUTING -i eth0 -p udp --dport 443 -m u32 --u32 "32=0x2112A442" -j REDIRECT --to-port 3478

РЕДАКТИРОВАТЬ 2: В вашем примере снимок экрана wireshark, порт назначения 5004, а не 443. Так что iptables Команда по-прежнему не будет работать для вашего конкретного примера пакета. Может быть, это:

sudo iptables -A PREROUTING -i eth0 -p udp --dport 5004 -m u32 --u32 "32=0x2112A442" -j REDIRECT --to-port 3478
1
ответ дан 29 October 2019 в 04:41

Другие вопросы по тегам:

Похожие вопросы: