DreamCat 发表于 2007-3-23 10:20:35

那个页面没有什么功能,只是提供了个配置文件的链接页面,连进程重载都没做。
等意见征集完毕后一起做。

dengyuwen 发表于 2007-3-24 12:55:22

好象论坛上的人对这个插件没有太大兴趣,版主要继续努力!

DreamCat 发表于 2007-3-26 10:20:26

原帖由 dengyuwen 于 2007-3-24 12:55 发表 http://bbs.routerclub.com/images/common/back.gif
好象论坛上的人对这个插件没有太大兴趣,版主要继续努力!

那你对现在这个插件有什么意见啊?
哪些需要修改?

dengyuwen 发表于 2007-3-26 11:20:47

对我而言,你写默认值已经够啦

fuger 发表于 2007-3-29 16:44:22

试了下,不错啊!不过最小只能查当日流量最高20个IP,有点不合我需要,我想看看十分钟内流量最高的20个IP,或者一小时内流量最高的10个IP,因为我在学校用,给学生上网的时候,想知道哪一台电脑乱下载东西,如果能按10分钟计那就完美了,一般来说,一个月或者一年的流量我是不会去关心它的。

DreamCat 发表于 2007-3-30 15:29:17

bandwidthd 这个软件就是这样设计的,默认 2.5 分钟自动刷新一次页面,超过一定流量才有每个IP的流量图。原程序的流量图提示有错误,只有出栈流量,已经改正。
原本打算中文化,现在考虑其中的文字实在太少了,再汉化就有点没有意义了。

关于按时间统计的问题,其实如果你 C 语言能力强的话可以改进的。整个我也在改,不过很慢。最近在弄 bird。

DreamCat 发表于 2007-4-2 10:43:04

IP数量的问题:
默认是20个IP,这个数量肯定不够,但是多少合适?
关键问题是bandwidthd要生成流量图的,每个 IP 至少两个图。太多的IP数量会导致bandwidthd占用大量的CPU和内存资源。
昨天又看了下源程序,发现设计思路实在不太好。打算和作者联系,让他修改一下。
P2P流量检测也有问题,源端口和目的端口的判断,逻辑关系不对,而且这些端口都应该放到配置文件中,下面是部分源码:

inline void Credit(struct Statistics *Stats, const struct ip *ip)
    {
    unsigned long size;
    const struct tcphdr *tcp;
    uint16_t sport, dport;
    size = ntohs(ip->ip_len);
    Stats->total += size;
   
    switch(ip->ip_p)
      {
      case 6:   // TCP
            tcp = (struct tcphdr *)(ip+1);
   tcp = (struct tcphdr *) ( ((char *)tcp) + ((ip->ip_hl-5)*4) ); // Compensate for IP Options
            Stats->tcp += size;
            sport = ntohs(tcp->TCPHDR_SPORT);
            dport = ntohs(tcp->TCPHDR_DPORT);   
            if (sport == 80 || dport == 80 || sport == 443 || dport == 443)
                Stats->http += size;

   if (sport == 20 || dport == 20 || sport == 21 || dport == 21)
    Stats->ftp += size;
            if (sport == 1044|| dport == 1044||// Direct File Express
sport == 1045|| dport == 1045||// ''<- Dito Marks
                sport == 1214|| dport == 1214||// Grokster, Kaza, Morpheus
sport == 4661|| dport == 4661||// EDonkey 2000
sport == 4662|| dport == 4662||      // ''
sport == 4665|| dport == 4665||      // ''
sport == 5190|| dport == 5190||// Song Spy
sport == 5500|| dport == 5500||// Hotline Connect
sport == 5501|| dport == 5501||// ''
sport == 5502|| dport == 5502||// ''
sport == 5503|| dport == 5503||// ''
sport == 6346|| dport == 6346||// Gnutella Engine
sport == 6347|| dport == 6347||// ''
sport == 6666|| dport == 6666||// Yoink
sport == 6667|| dport == 6667||// ''
sport == 7788|| dport == 7788||// Budy Share
sport == 8888|| dport == 8888||// AudioGnome, OpenNap, Swaptor
sport == 8889|| dport == 8889||// AudioGnome, OpenNap
sport == 28864|| dport == 28864|| // hotComm   
sport == 28865|| dport == 28865) // hotComm
                Stats->p2p += size;
            break;
      case 17:
            Stats->udp += size;
            break;
      case 1:
            Stats->icmp += size;
            break;
      }
    }
页: 1 [2]
查看完整版本: bandwidthd这个软件能否装BrazilFW上用?