LINUX.ORG.RU
ФорумAdmin

iptables не срабатывают правила BPF

 , , , ,


1

1

Собственно вопрос, как в iptables осуществлять фильтрацию по BPF? Короче, мне нужно фильтровать данные на уровне пиложений, соответственно я смотрю в сторуну ipt_bpf. Вот как я генерирую правила:

echo -n 'GE'|xxd
0000000: 4745                                     GE
tcpdump -s0 -n -i eth0 -ddd "tcp[20:2] = 0x4745"|tr "\n" ","
11,40 0 0 12,21 0 8 2048,48 0 0 23,21 0 6 6,40 0 0 20,69 4 0 8191,177 0 0 14,72 0 0 34,21 0 1 18245,6 0 0 262144,6 0 0 0,
iptables -A OUTPUT -m bpf --bytecode "1,40 0 0 12,21 0 8 2048,48 0 0 23,21 0 6 6,40 0 0 20,69 4 0 8191,177 0 0 14,72 0 0 34,21 0 1 1848537717,6 0 0 262144,6 ," -p tcp -j REJECT --reject-with tcp-rst

по идее должны блокироваться этими правилами все http-запросы, но правила почиму-то не срабатывают. В чём моя ошибка?

★★★★★

гм. А к какому месту пакета этот фильтр прикладывается ? Ко всему пакету или начиная с IP заголовка? То, что генерит tcpdump расчитано на пакет целиком, а bpf IMHO прикладывает его начиная с IP/IP6 заголовка

я бы для генерации bpf кода воспользовался утилями из linux/tools/net/

мне нужно фильтровать данные на уровне пиложений

тогда нафига iptables, когда можно вот так http://www.rcpt.to/lsfcc/lsf.html

vel ★★★★★ ()
Ответ на: комментарий от ne-vlezay

Какой патч?

Оно давным давно в ядре! Еще во времена 2.4 я даже пытался это использовать.

vel ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.