Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Mikolaj Golub                        2:5020/400     22 Nov 2005  17:48:06
 To : Denis Shaposhnikov
 Subject : Re: ng_netflow + flow-capture: ftpdu_seq_check()
 -------------------------------------------------------------------------------- 
 
 
 On Tue, 22 Nov 2005 14:01:49 +0300 Denis Shaposhnikov wrote to All:
 
  DS> Сделал на CURRENT экспорт netflow через ng_netflow. Запустил
  DS> flow-capture и вижу в логе кучу сообщений про ftpdu_seq_check() с
  DS> ненулевыми lost= полями. При этом, flow-header сообщает:
 
  DS> # capture start:        Tue Nov 22 13:50:00 2005
  DS> # capture end:          Tue Nov 22 13:55:00 2005
  DS> # capture period:       300 seconds
  DS> # compress:             on
  DS> # byte order:           little
  DS> # stream version:       3
  DS> # export version:       5
  DS> # lost flows:           0
  DS> # corrupt packets:      0
  DS> # sequencer resets:     1383
  DS> # capture flows:        46635
 
  DS> Т.е., потерь нет? Чего же тогда flow-capture ругается? Кто-нибудь
  DS> сталкивался с таким?
 
 Судя по flow-capture.c там такая ситуация. Если sequence number отличается от
 ожидаемого меньше чем на FT_SEQ_RESET (который 1000), то предполагается потеря
 пакетов, если больше, то резет сиквенсера. Сообщение в обоих случаях выдается
 то же самое.
 
 Вот ниже код:
 
 lib/ftlib.h:
 
 #define FT_SEQ_RESET           1000   /* maximum number of sequence numbers
                                        * that will be counted as lost before
                                        * assuming reset.
                                        */
 
 src/flow-capture.c:
 
       /* verify sequence number */
       if (ftpdu_check_seq(&ftpdu, &(ftch_recexpp->ftseq)) < 0) {
         fmt_ipv4(fmt_src_ip, ftch_recexp.src_ip, FMT_JUST_LEFT);
         fmt_ipv4(fmt_dst_ip, ftch_recexp.dst_ip, FMT_JUST_LEFT);
         fmt_uint16(fmt_dst_port, ftch_recexp.dst_port, FMT_JUST_LEFT);
         fterr_warnx(
           "ftpdu_seq_check(): src_ip=%s dst_ip=%s d_version=%d expecting=%lu
 received=%lu lost=%lu",
           fmt_src_ip, fmt_dst_ip, (int)ftpdu.ftv.d_version,
           (u_long)ftch_recexpp->ftseq.seq_exp,
           (u_long)ftch_recexpp->ftseq.seq_rcv,
           (u_long)ftch_recexpp->ftseq.seq_lost);
 
         /* only count these lost if "lost" is a reasonable number */
         if (ftch_recexpp->ftseq.seq_lost < FT_SEQ_RESET) {
           cap_file.hdr_flows_lost += ftch_recexpp->ftseq.seq_lost;
           ftch_recexpp->lost += ftch_recexpp->ftseq.seq_lost;
         } else {
           cap_file.hdr_flows_reset ++;
           ftch_recexpp->reset ++;
         }
       }
 
 -- 
 Mikolaj Golub
 --- ifmail v.2.15dev5.3
  * Origin: INEC (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ng_netflow + flow-capture: ftpdu_seq_check()   Mikolaj Golub   22 Nov 2005 17:48:06 
Архивное /ru.unix.bsd/173090acec01d.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional