Добрый вечер! Подскажите пожалуйста как реализовать перехват пакета, далее если в нём есть конкретные данные, то их модификация и дальнейшая отправка приложению. С чего вообще можно начать? Только кроме iptables, netfilter так как они фильтруют только служебные заголовки, а мне нужно поле данных.
> Добрый вечер! Подскажите пожалуйста как реализовать перехват пакета, далее если в нём
> есть конкретные данные, то их модификация и дальнейшая отправка приложению. С
> чего вообще можно начать? Только кроме iptables, netfilter так как они
> фильтруют только служебные заголовки, а мне нужно поле данных.http://code.google.com/p/opendpi/ - тут и сорцы подсмотреть можно, и идеи. В общем виде - это Deep Packet Inspection для классификации траффика, и шлюз уровня приложения (ALG) - для известных протоколов
> Только кроме iptables, netfilter так как они
> фильтруют только служебные заголовки, а мне нужно поле данных.Это почему это? Вот про фильтрацию на L7 - http://l7-filter.sourceforge.net/HOWTO Кроме того в иптаблесах есть -m string --string "тута моя строка" (+ --algo kmp|bm).
>> Только кроме iptables, netfilter так как они
>> фильтруют только служебные заголовки, а мне нужно поле данных.
> Это почему это? Вот про фильтрацию на L7 - http://l7-filter.sourceforge.net/HOWTO Кроме
> того в иптаблесах есть -m string --string "тута моя строка" (+
> --algo kmp|bm).ну вот, например, мне нужно выловить SQL запрос select lpad('xxxx',100,'yyyyyyyyyyy');
как будет выглядеть эта цепочка iptables, у меня порт 5432?
> ну вот, например, мне нужно выловить SQL запрос select lpad('xxxx',100,'yyyyyyyyyyy');
> как будет выглядеть эта цепочка iptables, у меня порт 5432?спросите у postgres guru на sql.ru
> ну вот, например, мне нужно выловить SQL запрос select lpad('xxxx',100,'yyyyyyyyyyy');tcpdump -i eth0 'dst port 5432' -XXX