Здравствуйте, aat, Вы писали:
aat>Такая вот задачка. Необходимо в freeBSD (старое ядро, оч древнее) реагировать на все сетевые запросы, желательно связанные с пересылкой данных.
aat>Нужно это для того чтобы программно зажигать и гасить лампочку (не на сетевой карте) индикации работы сети.
aat>Как сделано...
aat>Есть загружаемый драйвер который может вкл или выкл лампочку. В нем перехватываются вызовы send() и recv() (sendto, recvfrom) — вроде работает, но многие программы (ftp, rcp...) этими вызовами не пользуются. Тогда я попробывал перехватывать read(), write(), ioctl() с проверкой являются ли дескрипторы в этих вызовах сокетами.Но сокет не обязательно имеет отношение тока к сети, поэтому в Х моя лампочка моргает как сумашедшая.
aat>Стека драйверов (как в виндах) в этих freeBSD нет, поэтому стандартно подцепиться к драйверу сетевой карты не получается, а менять код ядра или драйвера сетевой карты незя.
aat>Может кто знает как можно решить такую проблему. Вероятно можно сделать демона, который сможет работать напрямую с драйвером сетевой карты и с моим драйвером.
Написал бы версию что-ли? Как вариант, повесится на ipfw hook и смотреть имя интерфейса... если не lo0, мигать лампочкой

.