欢迎来到天天文库
浏览记录
ID:36732065
大小:1.43 MB
页数:17页
时间:2019-05-14
《snort2.9.3预处理插件步骤整理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实用标准文案Snort2.9.3预处理器开发步骤1.打开模板snort2.9.3.1/templates,查看文件:sp_template.h和sp_template.c是开发预处理插件使用的模板,spp_template.h和spp_template.c是开发预处理器使用的模板。这里使用spp_template.h和spp_template.c。2.复制spp_template.h和spp_template.c重命名,得到新的插件3.复制spp_hellosnort.c和spp_hellosnor
2、t.h到snort2.9.3.1/src/preprocessors精彩文档实用标准文案1.修改plugbase.c文件,将插件的头文件spp_hellosnort.h包含到plugbase.c中如图(63、64行)并且将插件的SetupHelloSnort()函数插入plugbase.c的RegisterPreprocessors()函数中如图(672行)精彩文档实用标准文案1.修改spp_hellosnort.h文件,即定义初始化函数原形voidSetupHelloSnort();如图(13行)
3、精彩文档实用标准文案1.修改spp_hellosnort.c文件。需注意地方:1、修改引用的头文件,删除#inlcude“spp_template.h”,增加#inlcude”spp_hellosnort.h”2、增加#definePROTO_MASK0x0001(添加函数到预处理器链表是用到)3、AddFuncToPreprocList(HelloSnortFunct,PRIORITY_NETWORK,PP_HELLO_SNORT,PROTO_MASK);此信息中的PRIORITY_NETWORK
4、为源文件/src/preprocids.h中引用(图80行)此信息中的PP_HELLO_SNORT需在源文件/src/preprocids.h中定义的最后添加如图:添加#definePP_HELLO_SNORT30(图72行)精彩文档实用标准文案spp_hellosnort.c文件源码如下(只写出打印信息做调用参考,没有具体功能函数):/*$Id$*//*SnortPreprocessorPluginSourceFileTemplate*//**Purpose:**Preprocessorsperf
5、ormsomefunction*once*for*each*packet.Thisis*differentfromdetectionplugins,whichareaccesseddependingonthe*standardrules.Whenaddingaplugintothesystem,besureto*addthe"Setup"functiontotheInitPreprocessors()functioncallin*plugbase.c!**Arguments:**Thisisthel
6、istofarguementsthattheplugincantakeatthe*"preprocessor"lineintherulesfile*精彩文档实用标准文案*Effect:**Whatthepreprocessordoes.Checkoutsomeofthedefaultones*(e.g.spp_frag2)foragoodexampleofthisdescription.**Comments:**Anycomments?**/#include#include
7、#include#include#include"snort_debug.h"/**Ifyou'regoingtoissueanyalertsfromthispreprocyou*shouldincludegenerators.handevent_wrapper.h*/#include"generators.h"#include"event_wrapper.h"#include"util.h"#include"plugbase.h"#i
8、nclude"parser.h"/*精彩文档实用标准文案*putinotherinculdesasnecessary*//**yourpreprocessorheaderfilegoeshereifnecessary,don'tforget*toincludetheheaderfileinplugbase.htoo!*/#include"spp_hellosnort.h"#definePROTO_MASK0x0001/**defineanyneededdatastru
此文档下载收益归作者所有