亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? trpr.cpp

?? trpr是可以分析tcpdump和mgen日志記錄
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
        wrap = true;    }    else if ((theSequence > (seq_hlf+seq_qtr)) &&             (seq_last < seq_qtr))    {        delta = theSequence - seq_last - seq_max - 1;    }    else    {        delta = theSequence - seq_last;       }    if (wrap && (theSequence >= seq_first))    {        wrap = false;        wrap_count++;               }        if ((labs(delta) > seq_qtr) || (theFlow != flow_id))    {        resync_count++;        fprintf(stderr, "trpr: LossTracker2() resync! (thisSeq:%lu lastSeq:%lu theFlow:%lu lastFlow:%lu)\n",                          theSequence, seq_last, theFlow, flow_id);        first_packet = true;        Update(theTime, theSequence, theFlow);        return -1;     }        // 2) Is this packet "after" our first packet        if ((theSequence < seq_qtr) &&        (seq_first > (seq_hlf+seq_qtr)))    {        delta = seq_max - seq_first + theSequence + 1;    }    else if ((theSequence > (seq_hlf+seq_qtr)) &&             (seq_first < seq_qtr))    {        delta = theSequence - seq_first - seq_max - 1;    }    else    {        delta = theSequence - seq_first;     }    if (wrap_count & (delta <= 0)) delta += seq_max;        // 2) Does this packet count?    if (delta > 0)    {        // It's a good packet        packet_count++;        seq_last = theSequence;    }    else if (delta < 0)    {        // Late packet, don't count        //fprintf(stderr, "late packet (seq:%lu seq_first:%lu) ...\n", theSequence, seq_first);    }    else    {        duplicate_count++;    }         time_last = theTime;           if ((window_end < 0.0) || (theTime < window_end) || (packet_count < 2))        return 0;    else        return 1;}  // end LossTracker2::Update()double LossTracker2::LossFraction(){    long delta;    if ((seq_last < seq_qtr) &&        (seq_first > (seq_hlf+seq_qtr)))    {        delta = seq_max - seq_first + seq_last + 1;    }    else if ((seq_last > (seq_hlf+seq_qtr)) &&             (seq_first < seq_qtr))    {        delta = seq_last - seq_first - seq_max - 1;    }    else    {        delta = seq_last - seq_first;     }    unsigned long wraps = wrap_count;    if (wraps & (delta <= 0))     {        delta += seq_max;        wraps--;    }        if (delta < 0) return -1.0;  // this shouldn't happen!    double packetsExpected = (double)delta + 1.0;    if (wraps) packetsExpected += (((double)wraps) * ((double)seq_max));        if (packet_count > 1)    {        double lossFraction = 1.0 - (((double)(packet_count-1)) / (packetsExpected - 1.0));        return lossFraction;    }    else    {        fprintf(stderr, "Low packet count? %lu\n", packet_count);        return -1.0;    }}  // end LossTracker2::LossFraction()Flow::Flow(bool presetFlow)    : preset(presetFlow),       type(NULL), type_len(0), src_port(-1), dst_port(-1),      byte_count(0), accumulator(0.0), accumulator_count(0),      last_time(-1.0), pos_x(999.0), pos_y(999.0),      sum_init(true), sum_total(0.0), sum_var(0.0),       sum_min(0.0), sum_max(0.0), sum_weight(0.0),      prev(NULL), next(NULL){    histogram.Init(1000, 0.5);}Flow::~Flow(){    if (type) delete []type;}bool Flow::SetType(const char* theType){    if (type) delete []type;    int len = strlen(theType) + 1;    if(!(type = new char[len]))    {        perror("trpr: Error allocating flow type storage");        return false;    }    strcpy(type, theType);    type_len = len - 1;    return true;}  // end Flow::SetName()bool Flow::Match(const char* theType,                  const Address& srcAddr, unsigned short srcPort,                  const Address& dstAddr, unsigned short dstPort,                 unsigned long flowId) const{    if ((type && !TypeMatch(theType)) ||            ((dst_port >= 0) && (dst_port != dstPort)) ||        ((dst_addr.IsValid()) && !(dst_addr == dstAddr)) ||        ((src_port >= 0) && (src_port != srcPort)) ||        ((src_addr.IsValid()) && !(src_addr == srcAddr)) ||        ((flow_id.IsValid()) && (flow_id != flowId)))    {        return false;    }    else    {        return true;    }}  // end Flow::Match()void Flow::PrintDescription(FILE* f){    if (type)        fprintf(f, "%s,", type);    else        fprintf(f, "*,");        if (src_addr.IsValid())    {        src_addr.PrintDescription(f);        fprintf(f, "/");         }    else    {        fprintf(f, "*/");    }    if (src_port >= 0)        fprintf(f, "%lu->", (unsigned long)src_port);    else        fprintf(f, "*->");    if (dst_addr.IsValid())    {        dst_addr.PrintDescription(f);        fprintf(f, "/");    }    else    {        fprintf(f, "*/");    }    if (dst_port >= 0)        fprintf(f, "%lu", (unsigned long)dst_port);    else        fprintf(f, "*");    if (flow_id.IsValid())        fprintf(f, "~%lu", (unsigned long)flow_id);}  // end Flow::PrintDescription()bool Flow::AppendData(double x, double y){    Point* thePoint = new Point(x,y);    if (thePoint)    {        point_list.Append(thePoint);        return true;       }    else    {        return false;    }}  // end Flow::AppendData()double Flow::UpdatePosition(double theTime, double x, double y){    if (PositionIsValid())    {        x = 0.25*pos_x + 0.75*x;        y = 0.25*pos_y + 0.75*y;        double dx = (pos_x - x);        double dy = (pos_y - y);        double dp = sqrt(dx*dx + dy*dy);        double dt = theTime - last_time;        if (dt > 0.0)        {            return (1.0e05*dp/dt); // to approx. meters/sec        }        else        {            fprintf(stderr, "trpr: Flow::UpdatePosition() time moved backwards!\n");              return -1.0;        }    }    else    {        pos_x = x;        pos_y = y;        last_time = theTime;        return -1.0;       }}  // end Flow::UpdatePosition()FlowList::FlowList()    : head(NULL), tail(NULL), count(0){}FlowList::~FlowList(){    Destroy();}void FlowList::Append(Flow* theFlow){    if ((theFlow->prev = tail))        theFlow->prev->next = theFlow;    else        head = theFlow;    theFlow->next = NULL;    tail = theFlow;    count++;}  // end FlowList::Append()void FlowList::Remove(Flow* theFlow){    if (theFlow->prev)        theFlow->prev->next = theFlow->next;    else        head = theFlow->next;        if (theFlow->next)        theFlow->next->prev = theFlow->prev;    else        tail = theFlow->prev;    count--;}  // end FlowList::Remove()        void FlowList::Destroy(){    Flow* next;    while ((next = head))    {        Remove(next);        delete next;    }   }  // end Destroy()const char WILDCARD = 'X';inline void usage(){    fprintf(stderr, "TRPR Version %s\n", VERSION);    fprintf(stderr, "Usage: trpr [version][mgen][ns][raw][key][real][loss][latency|interarrival]\n"                    "            [window <sec>] [history <sec>]\n"                    "            [flow <type,srcAddr/port,dstAddr/port,flowId>]\n"                    "            [auto <type,srcAddr/port,dstAddr/port,flowId>]\n"                    "            [exclude <type,srcAddr/port,dstAddr/port,flowId>]\n"                    "            [input <inputFile>] [output <outputFile>]\n"                    "            [link <src>[,<dst>]][send|recv]\n"                    "            [range <sec>[:<sec>]][offset <hh:mm:ss>][absolute]\n"                    "            [summary][histogram][replay <factor>]\n"                    "            [png <pngFile>][post <postFile>][multiplot]\n"                    "            [ramp]\n");    fprintf(stderr, " (NOTE: 'Wildcard' type, addr, or port parameters with 'X')\n");}bool Flow::InitFromDescription(char* flowInfo){    flowInfo = strtok(flowInfo, ",");    if (flowInfo)     {        if(WILDCARD != flowInfo[0]) SetType(flowInfo);    }    else    {        fprintf(stderr, "trpr: Error parsing \"flow\" description!\n");        return false;    }    // Pull out source addr/port, checking for wildcards    if ((flowInfo = strtok(NULL, ",")))    {        // Parse source address/port        char* ptr = strchr(flowInfo, '/');        if (ptr)         {            *ptr++ = '\0';            if (WILDCARD != ptr[0]) SetSrcPort(atoi(ptr));        }        if (WILDCARD != flowInfo[0]) SetSrcAddr(flowInfo);        // Pull out destination addr/port, checking for wildcards        flowInfo = strtok(NULL, ",");        if (flowInfo)        {            // Parse destination address/port            char* ptr = strchr(flowInfo, '/');            if (ptr)             {                *ptr++ = '\0';                if (WILDCARD != ptr[0]) SetDstPort(atoi(ptr));            }            if (WILDCARD != flowInfo[0]) SetDstAddr(flowInfo);        }        // An optional "flowId" can be specified, too        if ((flowInfo = strtok(flowInfo, ",")))        {            if (WILDCARD != flowInfo[0])            {                unsigned long flowId;                if (1 != sscanf(flowInfo, "%lu", &flowId))                {                    fprintf(stderr, "trpr: Error parsing \"flow\" flow id!\n");                    return false;                }                 SetFlowId(flowId);            }        }    }    return true;}  // end Flow::InitFromDescription()static const double SECONDS_PER_DAY = (24.0 * 60.0 * 60.0);                    int main(int argc, char* argv[]){     FlowList flowList;    FlowList autoList;    FlowList excludeList;        double windowSize = 1.0;    bool   use_default_window = true;    double historyDepth = 20.0;    char* input_file = NULL;    char* output_file = NULL;    char* png_file = NULL;    char* post_file = NULL;    bool use_gnuplot = true;    bool multiplot = false;    bool realTime = false;    TraceFormat traceFormat = TCPDUMP;    PlotMode plotMode = RATE;      bool replay = false; // real time playback mode    double replayFactor = 1.0;    double startTime = -1.0;    double stopTime = -1.0;    bool print_key = false;    double offsetTime = -1.0;    bool summarize = false;    bool make_histogram = false;    unsigned int detect_proto_len = 0;    bool normalize = true;    bool stairStep = true;        PacketEvent::TracePoint link;   // Our tracepoint (wildcard default)    char* linkSrc = NULL;    char* linkDst = NULL;        enum EventMask {SEND = 0x01, RECV = 0x02, DROP = 0x03};    int eventMask = (RECV | DROP);        if (argc < 2)    {        usage();        exit(-1);    }        fprintf(stderr, "TRPR Version %s\n", VERSION);                // Parse command line    int i = 1;    while(i < argc)    {        if (!strcmp("window", argv[i]))        {            i++;            float w;            if (1 != sscanf(argv[i], "%f", &w))            {               fprintf(stderr, "trpr: Error parsing \"window\" size!\n");               usage();               exit(-1);            }            use_default_window = false;            windowSize = w;            i++;        }        else if (!strcmp("history", argv[i]))        {            i++;            float w;            if (1 != sscanf(argv[i], "%f", &w))            {               fprintf(stderr, "trpr: Error parsing \"history\" depth!\n");               usage();               exit(-1);            }            historyDepth = w;            i++;        }        else if (!strcmp("flow", argv[i]))        {            i++;            if (i >= argc)            {                fprintf(stderr, "trpr: Insufficient \"flow\" arguments!\n");                usage();                exit(-1);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久视频一区二区| 99精品在线观看视频| 国产白丝精品91爽爽久久| 97se亚洲国产综合在线| 精品视频一区二区不卡| 欧美成人a∨高清免费观看| 国产欧美精品一区二区三区四区 | 国产成人aaa| 色综合一区二区三区| 制服丝袜中文字幕一区| 国产喷白浆一区二区三区| 亚洲色图另类专区| 蜜臀精品一区二区三区在线观看| 成人激情综合网站| 正在播放一区二区| 亚洲欧洲在线观看av| 三级在线观看一区二区| 国产成人精品免费在线| 欧美三级日韩三级| 国产午夜精品理论片a级大结局| 亚洲精品免费一二三区| 精品在线一区二区三区| 在线影视一区二区三区| 久久青草欧美一区二区三区| 亚洲香肠在线观看| caoporn国产精品| 欧美一级黄色录像| 亚洲欧美日韩在线播放| 国产精品一二三区在线| 337p亚洲精品色噜噜狠狠| 最近日韩中文字幕| 久久国产剧场电影| 91极品视觉盛宴| 亚洲国产精品激情在线观看| 午夜国产不卡在线观看视频| 99re成人精品视频| 久久亚洲影视婷婷| 日韩国产高清在线| 色综合久久99| 欧美经典一区二区| 老司机一区二区| 欧美日韩三级一区二区| 亚洲人成精品久久久久| 国产福利91精品一区二区三区| 欧美一区二区三区四区高清| 亚洲蜜臀av乱码久久精品| 国产电影精品久久禁18| 精品国产乱码久久久久久蜜臀 | 欧美羞羞免费网站| 综合精品久久久| 国产精华液一区二区三区| 日韩欧美综合一区| 天天色综合成人网| 欧洲国内综合视频| 最好看的中文字幕久久| 成人激情小说网站| 国产婷婷一区二区| 精品一区二区三区的国产在线播放| 欧美日韩久久一区二区| 一区二区三区免费看视频| 欧美一区二区在线免费播放| 亚洲va韩国va欧美va| 91高清视频在线| 亚洲天堂av一区| av电影一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 免播放器亚洲一区| 欧美一区二区三区成人| 首页国产欧美久久| 欧美巨大另类极品videosbest | 欧美猛男超大videosgay| 一区二区三区在线不卡| 色综合久久中文字幕综合网| 国产精品久久久久aaaa| 92国产精品观看| 自拍偷拍国产精品| 色综合天天综合在线视频| 专区另类欧美日韩| 欧美在线啊v一区| 亚洲sss视频在线视频| 在线不卡一区二区| 麻豆国产一区二区| 精品国产亚洲在线| 国产高清精品久久久久| 国产精品九色蝌蚪自拍| av电影天堂一区二区在线观看| 亚洲乱码国产乱码精品精可以看| 色屁屁一区二区| 午夜影院在线观看欧美| 日韩午夜中文字幕| 国内成人免费视频| 国产精品久久久久国产精品日日 | 亚洲黄色性网站| 欧美撒尿777hd撒尿| 免费高清在线视频一区·| 精品国产免费久久| 成人一区在线看| 亚洲麻豆国产自偷在线| 欧美老肥妇做.爰bbww| 蜜臀av国产精品久久久久| 久久免费偷拍视频| 暴力调教一区二区三区| 一区二区在线看| 欧美一级黄色片| 成人激情午夜影院| 亚洲第一av色| 精品久久国产97色综合| 成人a级免费电影| 亚洲超碰精品一区二区| 精品国产区一区| 91小视频免费观看| 日韩黄色在线观看| 国产欧美日韩三区| 欧美色综合影院| 国产一区二区三区蝌蚪| 亚洲美女视频在线| 日韩欧美高清dvd碟片| 波多野结衣在线aⅴ中文字幕不卡| 一区二区视频免费在线观看| 日韩亚洲欧美在线观看| 93久久精品日日躁夜夜躁欧美| 日韩成人伦理电影在线观看| 国产网站一区二区| 欧美日韩电影一区| 国产成人av一区二区三区在线 | 欧美性淫爽ww久久久久无| 另类小说欧美激情| 一区二区三区在线高清| 久久丝袜美腿综合| 欧美日韩第一区日日骚| 成人午夜激情在线| 日本中文字幕一区| 亚洲欧洲成人av每日更新| 日韩精品一区二区三区老鸭窝| av毛片久久久久**hd| 精品制服美女丁香| 亚洲午夜羞羞片| 国产精品久久久久国产精品日日| 欧美一区二区福利视频| 色又黄又爽网站www久久| 国产精品自拍三区| 丝袜诱惑亚洲看片| 亚洲少妇30p| 国产欧美精品区一区二区三区| 91精品国模一区二区三区| 91一区在线观看| 国产精品夜夜爽| 久久狠狠亚洲综合| 亚洲成人久久影院| 亚洲天天做日日做天天谢日日欢| 精品成人一区二区三区四区| 欧美日韩一级视频| 色视频成人在线观看免| 国产凹凸在线观看一区二区| 蜜臀av一区二区在线观看 | 在线播放中文字幕一区| 91丝袜国产在线播放| 国产成人精品免费看| 韩国女主播一区二区三区| 日日骚欧美日韩| 亚洲主播在线播放| 亚洲男人天堂一区| 国产精品久久看| 国产亚洲一区字幕| 久久蜜桃av一区精品变态类天堂 | 亚洲成人精品影院| 亚洲综合999| 亚洲女女做受ⅹxx高潮| 亚洲欧洲日韩一区二区三区| 国产三区在线成人av| 久久久久国色av免费看影院| 欧美电影免费观看完整版| 在线播放91灌醉迷j高跟美女 | 亚洲国产精品影院| 亚洲国产精品天堂| 香蕉加勒比综合久久| 午夜久久久影院| 亚洲chinese男男1069| 亚洲成a人片在线不卡一二三区 | 在线播放日韩导航| 91精品国产乱| 日韩视频免费观看高清完整版 | 国产一区二区剧情av在线| 精品一区二区在线免费观看| 麻豆成人久久精品二区三区小说| 秋霞影院一区二区| 蜜臀av一区二区| 国产精品中文欧美| 成人性生交大片| 99精品一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 樱花草国产18久久久久| 一区二区三区精品| 亚洲国产精品久久人人爱| 亚洲精品亚洲人成人网 | 久久99精品久久久久| 久久国产免费看| 粉嫩一区二区三区在线看| 狠狠狠色丁香婷婷综合激情 | 国产精品久久久久精k8|