zoukankan      html  css  js  c++  java
  • Network Real Trace Analysis 2015年12月10日

    了解网络中真实的流量,国内很难找到巨人的肩膀。

    WAND是新西兰waikato 大学计算机系的研究小组,主要做网络测量,大规模网络流量捕获,网络分析。还做专业的分析软件。

    libtrace是其开源的分析软件项目。

    它可以读写流量。这些流量也放在他们网站上提供下载。

    libtrace 有大量的可执行程序,在linux下编译运行。 例如,流统计报告tracereport.

    • traceanon
    • traceconvert
    • tracediff
    • traceends
    • tracefilter
    • tracemerge
    • tracepktdump
    • tracereplay
    • tracereport
    • tracertstats
    • tracesplit
    • tracesplit_dir
    • tracestats
    • tracesummary
    • tracetop
    • tracetopends
    • ToolTricks

    使用tracereport工具里的参数选项-F可以统计流数目。tracereport工具有如下子选项。

    tracereport

        [ -f bpf | --filter=bpf ] 
        [ -e | --error ] 
        [ -F | --flow ] 
        [ -P | --protocol ] 
        [ -p | --port ] 
        [ -T | --tos ]
        [ -t | --ttl ] 
        [ -O | --tcpoptions ] 
        [ -o | --synoptions ] 
        [ -n | --nlp ] 
        [ -d | --direction ] 
        [ -C | --ecn ]
        [ -s | --tcpsegment ]
    

    求trace1的流数量

    linux# tracereport -F erf:trace1.erf.gz
    

    .erf.gz是流的后缀名,进过.gz压缩,是erf的包数据格式。

    主要算法由/libtrace/tools/tracereport/Flow_report.c/ flow_per_packet()函数完成

    void flow_per_packet(struct libtrace_packet_t *packet)
    {
        struct libtrace_ip *ip = trace_get_ip(packet);
        struct fivetuple_t ft;
        if (!ip)
            return;
        ft.ipa=ip->ip_src.s_addr;
        ft.ipb=ip->ip_dst.s_addr;
        ft.porta=trace_get_source_port(packet);
        ft.portb=trace_get_destination_port(packet);
        ft.prot = 0;
    
        if (!SET_CONTAINS(flowset,ft)) {
            SET_INSERT(flowset,ft);
            flow_count++;
        }
    }
    

    每读取一个包就会调用一次此函数。

    结构体 libtrace_ip 表示数据包ip。

    得到ip内容。

    判断是否是已经出现过的流,否则flow_count++;

    统计值就在flow_count里。

    ==========完=========

    2015年12月10日

    原文链接:http://www.pandaroll.cn/research/research1.html

  • 相关阅读:
    codeforces 719A:Vitya in the Countryside
    POJ3233 Matrix Power Series
    codevs1409 拦截导弹2
    BZOJ1562 [NOI2009]变换序列
    POJ1325 Machine Schedule
    codeforces 715B:Complete The Graph
    BZOJ1972:[SDOI2010]猪国杀
    浅谈模拟
    BZOJ2548:[CTSC2002]灭鼠行动
    BZOJ1033:[ZJOI2008]杀蚂蚁
  • 原文地址:https://www.cnblogs.com/pandaroll/p/6736088.html
Copyright © 2011-2022 走看看