Перейти до

ОШИБКА В STARGAZER при подсчете через DIVERT..фикс


Рекомендованные сообщения

при подсчете......через divert.......все почти подвисало напроч.......

 

ВОТ НЕЛЕПОСТЬ ТО.........

ВОБЩЕМ.....В divertcap.cpp(в папке freebsd исходников) ВСЕ БЫСТРО ПРАВИМ :

 

- #define BUFF_LEN 1024

 

НА

 

+ #define BUFF_LEN 30000

 

.....А ТО ПОЛУЧАЕТСЯ....ЧТО МАКСИМАЛЬНЫЙ РАЗМЕР ПАКЕТА 1024 БАЙТА...

ВО ТРАБЛ ТО......АФИГЕТ........ТОРОПИЛСЯ НАВЕРНОЕ АВТОР......РЕЛИЗ ВЫПУСТИТЬ.....=)))

 

ТАМ КСТАТИ....ЕЩЕ МНОГО НЕДОЧЕТОВ........НО ЭТ ПРОСТО ВЫНОС....=))

Ссылка на сообщение
Поделиться на других сайтах

Отлично. Без тени сарказма - спасибо.

Так публикуй остальные недочеты! =))

В этом основной плюс opensource - в совместном улучшении качества продукта.

Я думаю, глупо не использовать этот плюс.

 

P.S. BUFF_LEN 30000 хватит? Может сделать 65535?

Ссылка на сообщение
Поделиться на других сайтах

30000 ...эт я просто в iris - е глянул......максимальный размер пакета ....когда делаешь пакет сам...

 

можно наверное и больше....но мне этого хватило...

у меня старгайзер нормально заработал..........

пакеты не теряет теперь

правда на машине 466 цел 256 оперативки.......скорость скачивания с серваке не привышает 2.5 мегабита.......надо теперь процессор побыстрее...

 

работа через диверт ......почти полностью гарантирует ...подсчет всего трафика...т.к. ..пакеты не просто считаются ....а пропускаются через программу.......

если программу сглючит.....то трафик просто не пропустит Ipfw .......

это давольно надежно........

Ссылка на сообщение
Поделиться на других сайтах

Хотелось бы услышать мнение автора программы, по поводу этой штуки. Не то чтобы я не доверяю (я то в таких тонкостях не разбираюсь) но не скажется ли это пагубно где-нить в другом месте.

Ссылка на сообщение
Поделиться на других сайтах
может поставить tee и как-то убивать выходящие обратно пакеты?

а причем тут tee.......с ним хуже..........

divert самое оно.....

прекрасно с ним считает...

а про tee я так скажу....

 

проббовал....

на слабой машинке пропускает пакеты......

да и на мощной тачке ..если проц нагрузишь....то наверника тож начнет терять пакеты.......т.к. старгайзер не будет контролировать скорость прохождения пакетов...

Ссылка на сообщение
Поделиться на других сайтах

о, кстати да. Ну диверт, так диверт.

Ты, давай, рассказывай про остальные замеченные глюки =)

Я хочу 1 апреля перейти на последнюю версию с подсчетом через диверт.

Хотелось бы, чтобы в этой последней версии было как можно меньше глюков =)

Ссылка на сообщение
Поделиться на других сайтах
о, кстати да. Ну диверт, так диверт.

Ты, давай, рассказывай про остальные замеченные глюки =)

Я хочу 1 апреля перейти на последнюю версию с подсчетом через диверт.

Хотелось бы, чтобы в этой последней версии было как можно меньше глюков =)

пака скажу только.....

что там еще стоит ограничение на минимальный пакет в 50 байт........т.е. пакеты меньше 50 байт тоже отбрасываются.........

может я не силен в сетевых глубинах.......но по ирису можно судить....что такие пакеты бывают...........и 46 видел.....и. др......

это не сильно сказывается на общем состоянии.....но вот в куске кода альтернативной проги которая тоже использует диверт я таких ограничений не заметил....:

 

if( FD_ISSET(divert, &workMask) ) {

inBytes = recvfrom ( divert, packetBuff,sizeof(packetBuff),0,

(struct sockaddr *)&packetAddr ,&addrSize);

if (inBytes == -1) {

if(errno != EINTR ) {

syslog(LOG_ERR,"Can't RECVFROM divert socket:%s",S_ERROR);

exit(1);

}

}

 

ip = (struct ip*)packetBuff;

reassert(ip->ip_src,inBytes);

 

total_bytes+=inBytes;

total_pkts++;

 

outBytes = sendto (divert,packetBuff,inBytes, 0,

(struct sockaddr *)&packetAddr, sizeof(packetAddr) );

if (outBytes == -1) {

syslog(LOG_ERR,"Can't SENDTO divert socket:%s",S_ERROR);

exit(1);

}

 

 

....вобщем.......я недопонимаю логику этого ограничения....

Ссылка на сообщение
Поделиться на других сайтах

Есть предположение, что какой-т код был вставлен методом Ctrl+C, Ctrl+V из какой-либо документации.

Если кто-то вник в работу этого кода, то можно рассказать об этом остальным.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...