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

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

?? op_fast.c

?? 知名的開(kāi)源IDS的日志工具
?? C
字號(hào):
/* $Id: op_fast.c,v 1.9 2004/03/16 04:18:20 andrewbaker Exp $ *//*** Copyright (C) 2001-2002 Andrew R. Baker <andrewb@snort.org>** Copyright (C) 2001 Martin Roesch <roesch@sourcefire.com>**** This program is distributed under the terms of version 1.0 of the ** Q Public License.  See LICENSE.QPL for further details.**** This program is distributed in the hope that it will be useful,** but WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.***/#include <stdio.h>#include <string.h>#include <stdlib.h>#include <errno.h>#include <sys/types.h>#include <netinet/in.h>#include "input-plugins/dp_alert.h"#include "strlcpyu.h"#include "plugbase.h"#include "op_plugbase.h"#include "mstring.h"#include "op_fast.h"#include "util.h"#include "sid.h"#include "classification.h"#include "barnyard.h"typedef struct _OpAlertFast_Data {    char *filename;  /* file to open for output */    char *filepath;  /* file to open for output */    FILE *file;} OpAlertFast_Data;static int OpAlertFast_Setup(OutputPlugin *outputPlugin, char *args);static int OpAlertFast_Exit(OutputPlugin *);static int OpAlertFast_Start(OutputPlugin *, void *);static int OpAlertFast_Stop(OutputPlugin *);static int OpAlertFast(void *, void *);static int OpAlertFast_LogConfig(OutputPlugin *);void ParseFastAlertArgs(char *, OutputPlugin *);FILE *OpenAlertFile(char *);/* init routine makes this processor available for dataprocessor directives */void OpAlertFast_Init(){    OutputPlugin *outputPlugin;    outputPlugin = RegisterOutputPlugin("alert_fast", "alert");        outputPlugin->setupFunc = OpAlertFast_Setup;    outputPlugin->exitFunc = OpAlertFast_Exit;    outputPlugin->startFunc = OpAlertFast_Start;    outputPlugin->stopFunc = OpAlertFast_Stop;    outputPlugin->outputFunc = OpAlertFast;    outputPlugin->logConfigFunc = OpAlertFast_LogConfig;}static int OpAlertFast_LogConfig(OutputPlugin *outputPlugin){    OpAlertFast_Data *data = NULL;    if(!outputPlugin || !outputPlugin->data)        return -1;    data = (OpAlertFast_Data *)outputPlugin->data;    LogMessage("OpAlertFast configured\n");    LogMessage("  Filename: %s\n", data->filename);    return 0;}/* link the output processor functions to an output function node */int OpAlertFast_Setup(OutputPlugin *outputPlugin, char *args){    ParseFastAlertArgs(args, outputPlugin);    return 0;}int OpAlertFast_Exit(OutputPlugin *outputPlugin){    OpAlertFast_Data *data = (OpAlertFast_Data *)outputPlugin->data;    if(!data)        return 0;        if(data->filename)        free(data->filename);    data->filename = NULL;        if(data->filepath)        free(data->filepath);    data->filepath = NULL;    return 0;}int OpAlertFast_Start(OutputPlugin *outputPlugin, void *spool_header){    OpAlertFast_Data *data = (OpAlertFast_Data *)outputPlugin->data;        if(data == NULL)        FatalError("ERROR: Unable to find context for AlertFast startup!\n");        if(pv.verbose >= 2)        OpAlertFast_LogConfig(outputPlugin);        data->filepath = ProcessFileOption(data->filename);        data->file = OpenAlertFile(data->filepath);    return 0 ;}int OpAlertFast_Stop(OutputPlugin *outputPlugin){    OpAlertFast_Data *data = (OpAlertFast_Data *)outputPlugin->data;    if(data->file)    {        fflush(data->file);        fclose(data->file);        data->file = NULL;    }    if(data->filepath)        free(data->filepath);    data->filepath = NULL;    return 0;}int OpAlertFast(void *data, void *alertdata){    char timestamp[256];    //struct in_addr in;    UnifiedAlertRecord *ad = (UnifiedAlertRecord *)alertdata;    OpAlertFast_Data *afd = (OpAlertFast_Data *)data;    ClassType *ct;    Sid *tmp = NULL;    char sip[16];    char dip[16];    tmp = GetSid(ad->event.sig_generator, ad->event.sig_id);    ct = GetClassType(ad->event.classification);    if(RenderTimeval(&ad->ts, timestamp, 256) == -1)    {        /* could not render the timeval */        LogMessage("ERROR: OpAlertFast failed to render timeval\n");        return -1;      }    snprintf(sip, 16, "%u.%u.%u.%u", (ad->sip & 0xff000000) >> 24,            (ad->sip & 0x00ff0000) >> 16, (ad->sip & 0x0000ff00) >> 8,            ad->sip & 0x000000ff);    snprintf(dip, 16, "%u.%u.%u.%u", (ad->dip & 0xff000000) >> 24,            (ad->dip & 0x00ff0000) >> 16, (ad->dip & 0x0000ff00) >> 8,            ad->dip & 0x000000ff);    if(ad->protocol == IPPROTO_TCP ||            ad->protocol == IPPROTO_UDP)    {        fprintf(afd->file, "%s {%s} %s:%d -> %s:%d\n"                "[**] [%d:%d:%d] %s [**]\n"                "[Classification: %s] [Priority: %d]\n", timestamp,                 protocol_names[ad->protocol], sip, ad->sp, dip, ad->dp,                ad->event.sig_generator, ad->event.sig_id, ad->event.sig_rev,                tmp != NULL?tmp->msg:"ALERT",                 ct != NULL?ct->name:"Unknown", ad->event.priority);    }    else    {        fprintf(afd->file, "%s {%s} %s -> %s\n"                "[**] [%d:%d:%d] %s [**]\n"                "[Classification: %s] [Priority: %d]\n", timestamp,                 protocol_names[ad->protocol], sip, dip,                 ad->event.sig_generator, ad->event.sig_id, ad->event.sig_rev,                tmp != NULL ? tmp->msg : "ALERT",                 ct != NULL ? ct->name : "Unknown", ad->event.priority);    }    PrintXref(ad->event.sig_generator, ad->event.sig_id, afd->file);    fprintf(afd->file, "-----------------------------------------------------"            "-------------------\n");    fflush(afd->file);    return 0;}/* initialize the output processor for this particular instantiation */void ParseFastAlertArgs(char *args, OutputPlugin *outputPlugin){    char **toks;    int num_toks;    OpAlertFast_Data *data;    data = (OpAlertFast_Data *)SafeAlloc(sizeof(OpAlertFast_Data));    if(args == NULL)    {       data->filename = strdup("fast.alert");       outputPlugin->data = (OpAlertFast_Data *) data;       return;    }    toks = mSplit(args, " ", 2, &num_toks, 0);        data->filename = strdup(toks[0]);        FreeToks(toks, num_toks);        outputPlugin->data = (OpAlertFast_Data *) data;    return;}FILE *OpenAlertFile(char *filename){     FILE *tmp;       if((tmp = fopen(filename, "a+")) == NULL)    {        FatalError("ERROR => fopen(%s) failed: %s\n", filename,                    strerror(errno));    }     return tmp;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.久久久久久久久| 亚洲女人的天堂| 欧美一区二区三区精品| 欧美性生活影院| 在线视频欧美区| 91蜜桃在线免费视频| 99re热这里只有精品免费视频| 国产91在线观看丝袜| 国产成人亚洲综合a∨猫咪| 国产一区二区视频在线| 精品一区二区三区免费观看| 久久激情综合网| 激情综合色综合久久| 国产一区二区久久| 国产999精品久久久久久| 国产999精品久久| 99国产精品久久久久久久久久久 | 国产精品99久久久久久久女警 | 欧美四级电影在线观看| 日本韩国一区二区| 在线视频你懂得一区| 欧美综合天天夜夜久久| 欧美片网站yy| 精品国产一区二区三区久久影院 | 国产人久久人人人人爽| 中文字幕精品—区二区四季| 中文字幕一区二区5566日韩| 综合电影一区二区三区 | av网站一区二区三区| 色一情一伦一子一伦一区| 欧美性欧美巨大黑白大战| 91精品国产色综合久久ai换脸 | 亚洲高清中文字幕| 麻豆中文一区二区| 国产精品一区二区果冻传媒| 成人免费视频免费观看| 色婷婷av久久久久久久| 91精品国产丝袜白色高跟鞋| 久久久亚洲精品一区二区三区| 国产精品每日更新| 亚洲福利视频导航| 经典三级一区二区| 99视频在线观看一区三区| 欧美日韩在线免费视频| 亚洲精品一区二区三区精华液| 国产精品福利一区二区三区| 一区二区三区日韩精品视频| 日本不卡一区二区三区高清视频| 国产精品香蕉一区二区三区| 色哟哟一区二区| 日韩一区国产二区欧美三区| 国产精品免费免费| 日本女优在线视频一区二区| 成人美女视频在线观看| 欧美一级高清片在线观看| 国产精品久久久久久久久免费桃花 | 欧美在线制服丝袜| 欧美精品一区二区三区在线| 亚洲精品日产精品乱码不卡| 国产一区福利在线| 欧美日韩免费高清一区色橹橹| 国产午夜精品一区二区三区四区| 一区二区三区小说| 国产一级精品在线| 欧美日韩免费高清一区色橹橹 | 久久婷婷一区二区三区| 成人avav影音| 91精品在线免费| 日韩久久一区二区| 极品销魂美女一区二区三区| 欧美色图片你懂的| 亚洲欧洲日韩在线| 国产伦精品一区二区三区视频青涩| 欧美手机在线视频| 最好看的中文字幕久久| 国产一区高清在线| 日韩一区二区电影在线| 亚洲精品国产第一综合99久久 | 亚洲一区精品在线| 成人激情小说网站| 久久香蕉国产线看观看99| 亚洲国产精品麻豆| 91丨porny丨最新| 国产欧美一二三区| 国产一区二区三区黄视频 | 色女孩综合影院| 国产精品久久久久婷婷| 国产专区欧美精品| 日韩欧美在线不卡| 午夜不卡在线视频| 欧美色视频在线观看| 亚洲女爱视频在线| 91亚洲国产成人精品一区二区三 | 一区二区不卡在线播放| 99久久久精品免费观看国产蜜| 久久精品一区二区三区av| 精品一区二区三区在线观看 | 亚洲黄色免费电影| av电影在线不卡| 中文字幕日韩av资源站| 丁香激情综合五月| 日本一二三四高清不卡| 国产不卡视频一区二区三区| 久久久久久亚洲综合影院红桃| 国精产品一区一区三区mba视频| 欧美一级二级三级蜜桃| 美女一区二区三区在线观看| 欧美一区二区三区免费大片| 蜜臀精品一区二区三区在线观看 | 在线观看一区二区视频| 一区二区三区在线不卡| 欧美在线综合视频| 亚洲福利视频三区| 制服丝袜激情欧洲亚洲| 免费精品视频最新在线| 日韩精品中午字幕| 91麻豆精品91久久久久同性| 日韩福利电影在线| 日韩一区二区三区在线观看| 看电视剧不卡顿的网站| 久久久久综合网| av一二三不卡影片| 亚洲国产日日夜夜| 666欧美在线视频| 久久成人免费日本黄色| 久久久精品tv| av不卡在线观看| 亚洲一级二级三级| 日韩欧美国产小视频| 国产在线麻豆精品观看| 亚洲国产经典视频| 在线免费观看日本一区| 日韩高清在线不卡| 久久婷婷色综合| 色婷婷精品大视频在线蜜桃视频 | 国内精品视频一区二区三区八戒| 久久久久久97三级| 97国产一区二区| 日韩激情在线观看| 久久久久青草大香线综合精品| 成人av免费观看| 视频一区中文字幕国产| 精品国产a毛片| 99精品久久只有精品| 亚洲一区电影777| 久久久综合精品| 日本韩国欧美国产| 精品一区二区久久| 亚洲天堂2016| 在线不卡a资源高清| 高清不卡在线观看av| 亚洲黄色av一区| 久久久久久久久免费| 在线观看精品一区| 国产在线麻豆精品观看| 一区二区三区 在线观看视频| 欧美一级片在线看| 97精品久久久午夜一区二区三区| 免费人成精品欧美精品| 亚洲天堂av老司机| 久久久美女毛片| 欧美另类z0zxhd电影| 高清av一区二区| 青娱乐精品在线视频| 亚洲欧洲性图库| 久久综合精品国产一区二区三区| 色婷婷精品久久二区二区蜜臂av| 国产在线不卡一卡二卡三卡四卡| 一区二区三区在线观看动漫| 国产视频一区在线观看| 欧美精选在线播放| 91婷婷韩国欧美一区二区| 狠狠久久亚洲欧美| 午夜精品一区二区三区三上悠亚| 欧美国产97人人爽人人喊| 日韩一级黄色片| 欧美午夜不卡视频| 9色porny自拍视频一区二区| 黄页网站大全一区二区| 亚洲成va人在线观看| 亚洲日本一区二区| 国产欧美日韩在线| 欧美mv日韩mv国产网站| 欧美精品丝袜中出| 一本色道久久综合狠狠躁的推荐| 国产精品一区三区| 久久成人综合网| 日韩成人精品在线| 亚洲1区2区3区视频| 亚洲人成网站色在线观看| 免费成人美女在线观看.| 亚洲成人免费观看| 亚洲精品日韩一| 日韩一区中文字幕| 国产精品久久久久影院| 久久九九国产精品| 国产偷国产偷精品高清尤物| 亚洲精品一区二区三区福利| 精品久久久久久最新网址| 67194成人在线观看|