|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Igor Blagodetelev 2:5000/104.54 24 Oct 2003 16:47:42 To : Aleksey Barabanov Subject : Re: [linux] Модуль сбора трафика -------------------------------------------------------------------------------- 24 Oct 03 11:52, you wrote to me: AB> в skb не сохраняется информация об оригинальном пакете. Если такую AB> информацию добавить, то и в точке выхода с устройства можно будет AB> правильно подсчитать кому же принадлежал этот пакет до его AB> модификации. Хорошо, упростим задачу до следующего: Linux router без всяких модификаций пакетов, задача - разрулить по интерфейсам в соответствии с таблицой маршрутизации. Возникает вопрос: как навесить HOOK, чтобы вызывать свою функцию после hard_start_xmit? А что если сделать так: 1. модуль при инициализации проходит по всем девайсам и заменяет dev->hard_start_xmit на свой обработчик с сохранением оригинального адреса hard_start_xmit. 2. свой обработчик вызывает оригинальный hard_start_xmit, принимает результат и если он success, то подсчитывает этот пакет. 3. обработчик возвращает результат оригинального hard_start_xmit. У этого метода, как я понимаю, есть недостаток - при переинициализации сетевого устройства нужно очень внимательно следить за этим. AB> Соответственно всякого рода подсчеты в iptables принципиально AB> подкручивают исходящий траффик локальных пользователей, а подсчеты AB> через ipcap входящего принципиально подкручивают счетчики провайдера. AB> Т.е. развитие того или иного способа расчета кроме как на выходе AB> девайса всегда грешит ошибками в силу имплементэйшн лимитэйшн ;) Вот и хочется сделать что-то без лишнего "подкручивания" :) Igor --- GoldED+/LNX 1.1.4.7 * Origin: Кошка, которая гуляет сама по себе - кошка Мебиуса (2:5000/104.54) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/38843f98f7fa.html, оценка из 5, голосов 10
|