Перейти до

virstud

Маглы
  • Всього повідомлень

    23
  • Приєднався

  • Останній візит

Репутація

0 Обычный

О virstud

  • Звание
    Пролетал Мимо
  1. virstud

    Divert + STGZ

    блин.....вам что ....всем лень по форуму поиск сделать... диверт уже настраивался..... сделайте поиск по моему нику....
  2. virstud

    старгайзер и divert

    С дивертом в свое время ...я тут уже разбирался.... у меня получилось заставить работать ..старгайзер через диверт... причина: ошибка в исходниках.....divert.cpp или чтото типа этого.... там максимальный размер пакета был....50 байт .... вобщем.........копайте форум......диверт работает..... можно поиск по моему нику....
  3. разработчик ....чет совсем в подполье ушел....=))))
  4. пака скажу только..... что там еще стоит ограничение на минимальный пакет в 50 байт........т.е. пакеты меньше 50 байт тоже отбрасываются......... может я не силен в сетевых глубинах.......но по ирису можно судить....что такие пакеты бывают...........и 46 видел.....и. др...... это не сильно сказывается на общем состоянии.....но вот в куске кода альтернативной проги которая тоже использует диверт я таких ограничений не заметил....: if( FD_ISSET(divert, &workMask) ) { inBytes = recvfrom ( divert, packetBuff,sizeof(packetBuff),0, (struct sockaddr *)&packetAddr ,&addrSiz
  5. а причем тут tee.......с ним хуже.......... divert самое оно..... прекрасно с ним считает... а про tee я так скажу.... проббовал.... на слабой машинке пропускает пакеты...... да и на мощной тачке ..если проц нагрузишь....то наверника тож начнет терять пакеты.......т.к. старгайзер не будет контролировать скорость прохождения пакетов...
  6. при подсчете......через divert.......все почти подвисало напроч....... ВОТ НЕЛЕПОСТЬ ТО......... ВОБЩЕМ.....В divertcap.cpp(в папке freebsd исходников) ВСЕ БЫСТРО ПРАВИМ : - #define BUFF_LEN 1024 НА + #define BUFF_LEN 30000 .....А ТО ПОЛУЧАЕТСЯ....ЧТО МАКСИМАЛЬНЫЙ РАЗМЕР ПАКЕТА 1024 БАЙТА... ВО ТРАБЛ ТО......АФИГЕТ........ТОРОПИЛСЯ НАВЕРНОЕ АВТОР......РЕЛИЗ ВЫПУСТИТЬ.....=))) ТАМ КСТАТИ....ЕЩЕ МНОГО НЕДОЧЕТОВ........НО ЭТ ПРОСТО ВЫНОС....=))
  7. Я НАШЕЛ!!!!!!!ВОТ НЕЛЕПОСТЬ ТО......... ВОБЩЕМ.....В divertcap.cpp(в папке freebsd исходников) ВСЕ БЫСТРО ПРАВИМ : - #define BUFF_LEN 1024 НА + #define BUFF_LEN 30000 .....А ТО ПОЛУЧАЕТСЯ....ЧТО МАКСИМАЛЬНЫЙ РАЗМЕР ПАКЕТА 1024 БАЙТА... ВО ТРАБЛ ТО......АФИГЕТ........ТОРОПИЛСЯ НАВЕРНОЕ АВТОР......РЕЛИЗ ВЫПУСТИТЬ.....=))) ТАМ КСТАТИ....ЕЩЕ МНОГО НЕДОЧЕТОВ........НО ЭТ ПРОСТО ВЫНОС....=))
  8. новые иследования....так сказать..... вобщем.....программа работает....вопрос только...как........ вобщем..... железо.....466 целерон......256 оперативы......... все как всегда.... задача.....посчитать кол-во пакетов(и их общий размер) на входе ipfw .....еще до divert-а...............и ..............после divert-а............ вобщем вот что получилось : ipfw add 10 count tcp from 192.168.1.10 to any via dc0 ipfw add 20 divert 15701 tcp from 192.168.1.10 to any via dc0 ipfw add 30 count tcp from 192.168.1.10 to any via dc0 ........ запускаю старгайзер........ и вот что мы види
  9. кароч........после эксперементов выяснил....что программа нормально читает пакеты из сокета.... добавил записть в лог вофера(buf) .....как только срабатывала функция чтения из сокета..... делал перенаправление......: старгайзер врубал....с dc0 15701 ipfw add 10 divert 15701 tcp from 192.168.1.10 to 192.168.1.1 15800 via dc0 в ирисе делал пакет на 15800... посылал 10 раз... смотрел лог.. и там 10 раз отражалось страбатывание функции чтения....все четко.. но вот еще не проверял запись обратно в сокет......... интересно...как сравнить пакеты на входе и выходе... пахоже он портит
  10. я ставил...... все срабатывает.... там еще poll функция обеспечивает задержку..... она ждет момент когда можно читать сокет..... если ее закоментить....то старгайзер начинает отьедать 100 % процессора....и начинает гонять по функциям чтения -записи с бешеной скоростью......но при этом вобще неччего не работает..... кстати......в settings.h есть : #define MAX_DEV 10 максимальное кол-во интерфейсов...... и при инициализации .......в некоторых кусках кода выделается место под 10 интерфейсов........даже если в конфиге 1 интерфейс.......не экономно..... вооо
  11. нет...это всеголишь......позволяет указывать несколько интерфейсов учета трафика тобишь cddiv[n].sock -n = текущему проверяемуму сокету...... если в настройках было: iface iface=dc0 15750 ---- то n всегда =0 если: iface=dc0 15750 , ed0 15751 --- то n = 0 и 1.
  12. вобщем......чувствую....никто нечего сказать не хочет.... я поставил свои эксперементы... traffcounter.cpp - занимается подсчетом трафика...... там есть функция void * TRAFFCOUNTER::Run(void * obj) в ней цикл while ..занимается обработкой трафика.. вот запрос данных с divert сокета......: res = CapRead(buffer, BUFFER_LEN, &iface); аля DivertCapRead который в freebsd/divertcap.h лезем в divertcap.cpp ...смотрим DivertCapRead .. там куча всего....воснавном ифы настроек и pull функция определения текущего состояния сокета..... причем там 2-е DivertCapRead.........2 раз
  13. ну хоть ктонить пробовал?????? или это просто так там сделано.....
  14. т.е. он ....отдает пакеты....но както странно.....вобще никакой нагрузки не держит.....даж терминалка подвисает в некоторые моменты............
  15. вобщем ......divert в Ipfw отрабатывает нормально.......пакеты через сокет летят на старгайзер......обрабатываются.......а что потом????? по примеру на сайте ......они должны попасть в NATD ... но как они туда попадут....если их startgazer не возвращает......... МОЖЕТ КТОНИТЬ РАЗЬЯСНИТ...... ВООБЩЕ...КТОНИБУДЬ ДЕЛАЛ ЧЕРЕЗ DIVERT ???? делал через tee правило перенаправление пакетор...... старгайзер считает......но при большой нагрузке ....начинает врать...... ПОМОЖИТЕ!!!!!!!
×
×
  • Створити нове...