Пишу сниффер, по книге И.Склярова "Программирование боевого софта под linux". Собственно сниффер это средства сбора статистики (мне нужен IP от кого, кому и собственно "вес" пакета), вся эта информация собирается в БД, но вот из 500 мб скачанных из Сети сниффер "ловит" 100-150 мб. Я так понимаю, что ядро не передает системе все пакеты? Или в user-спейсе он не успевает все обработать. Что мне сделать, чтобы он ловил все?
> Пишу сниффер, по книге И.Склярова "Программирование боевого софта под linux". Собственно
> сниффер это средства сбора статистики (мне нужен IP от кого, кому
> и собственно "вес" пакета), вся эта информация собирается в БД, но
> вот из 500 мб скачанных из Сети сниффер "ловит" 100-150 мб.
> Я так понимаю, что ядро не передает системе все пакеты? Или
> в user-спейсе он не успевает все обработать. Что мне сделать, чтобы
> он ловил все?Разумеется, не успевает, затраты на context switch слишком велики. А вообще такая задача правильно решается другими средствами, гуглить по ключевому слову netflow.