当前位置: 首页 > wzjs >正文

建一个网站怎么赚钱吗盘多多搜索引擎入口

建一个网站怎么赚钱吗,盘多多搜索引擎入口,网站建设销售好做吗,中国建设银行信用卡官网站首页suricata新增协议处理流程 suricata安装suricata源码下载suricata源码编译 框架代码产生协议框架说明 suricata安装 根据文档suricata document完成suricata基于源码的安装 suricata源码下载 可通过命令下载源码 git clone https://github.com/OISF/suricata 如果发现github…

suricata新增协议处理流程

  • suricata安装
    • suricata源码下载
    • suricata源码编译
  • 框架代码产生
  • 协议框架说明

suricata安装

根据文档suricata document完成suricata基于源码的安装

suricata源码下载

可通过命令下载源码
git clone https://github.com/OISF/suricata
如果发现github网速不理想,可使用gitee加速
git clone https://gitee.com/mirrors/suricata.git

suricata源码编译

编译过程可参考博文suricata编译
sh autogen.sh
./configure #该过程涉及到多个参数
make

框架代码产生

在代码根目录下执行 python scripts/setup-app-layer.py
在这里插入图片描述
提示需要输入协议名称;本文以mysql为例
python scripts/setup-app-layer.py mysql
执行完以上命令后,在rust/src目录下会产生
applayermysql目录;目录下的内容如下:

logger.rs mod.rs mysql.rs parser.rs

重新编译后,会发现相关的rust代码会编译进suricata

协议框架说明

在mysql.rs中会有一段代码,注册协议解析的各函数的入口


#[no_mangle]
pub unsafe extern "C" fn rs_mysql_register_parser() {let default_port = CString::new("[3306]").unwrap();let parser = RustParser {name: PARSER_NAME.as_ptr() as *const c_char,default_port: default_port.as_ptr(),ipproto: IPPROTO_TCP,probe_ts: Some(rs_mysql_probing_parser_ts),probe_tc: Some(rs_mysql_probing_parser_tc),min_depth: 0,max_depth: 16,state_new: rs_mysql_state_new,state_free: rs_mysql_state_free,tx_free: rs_mysql_state_tx_free,parse_ts: rs_mysql_parse_request,parse_tc: rs_mysql_parse_response,get_tx_count: rs_mysql_state_get_tx_count,get_tx: rs_mysql_state_get_tx,tx_comp_st_ts: 1,tx_comp_st_tc: 1,tx_get_progress: rs_mysql_tx_get_alstate_progress,get_eventinfo: Some(MysqlEvent::get_event_info),get_eventinfo_byid: Some(MysqlEvent::get_event_info_by_id),localstorage_new: None,localstorage_free: None,get_tx_files: None,get_tx_iterator: Some(applayer::state_get_tx_iterator::<MysqlState, MysqlTransaction>),get_tx_data: rs_mysql_get_tx_data,get_state_data: rs_mysql_get_state_data,apply_tx_config: None,flags: APP_LAYER_PARSER_OPT_ACCEPT_GAPS,truncate: None,get_frame_id_by_name: None,get_frame_name_by_id: None,};let ip_proto_str = CString::new("tcp").unwrap();if AppLayerProtoDetectConfProtoDetectionEnabled(ip_proto_str.as_ptr(), parser.name) != 0 {let alproto = AppLayerRegisterProtocolDetection(&parser, 1);ALPROTO_MYSQL = alproto;if AppLayerParserConfParserEnabled(ip_proto_str.as_ptr(), parser.name) != 0 {let _ = AppLayerRegisterParser(&parser, alproto);}if let Some(val) = conf_get("app-layer.protocols.mysql.max-tx") {if let Ok(v) = val.parse::<usize>() {MYSQL_MAX_TX = v;} else {SCLogError!("Invalid value for mysql.max-tx");}}SCLogNotice!("Rust mysql parser registered.");} else {SCLogNotice!("Protocol detector and parser disabled for MYSQL.");}
}

RustParse中定义了各个处理的函数入口;如state_new,用于新的连接进行调用;对于过程当中请求和响应分别调用parse_ts及parse_ts;具体的处理流程,后续再详细介绍。
针对Mysql协议解析,首先需要知道Mysql各个数据包的结构,可以参照Mysql的官方文档
有了以上内容,做好了基于suricata进行Mysql协议解析的准备。

http://www.dtcms.com/wzjs/39979.html

相关文章:

  • 做二手房需要用到哪些网站搜集房源泰安网站优化公司
  • 怎样做心理咨询网站视频优化是什么意思
  • 专门做ppt的网站seo教程排名第一
  • 网站前台后台模板下载青岛网站建设微动力
  • 惠州的企业网站建设拓客渠道有哪些
  • 深圳龙岗做网站公司哪家好国内真正的永久免费砖石
  • 一个专门做熊的网站bt种子搜索
  • 品牌建设的步骤惠州百度seo哪里强
  • 安阳网红专业搜索引擎seo合作
  • 微商官网关键词优化设计
  • 鲜花店的网站建设百度搜索浏览器
  • 自己做网络棋牌网站流程长沙靠谱关键词优化服务
  • 阿里云企业网站模板目录型搜索引擎有哪些
  • wordpress返回前页百度官方优化指南
  • 旅游小镇网站建设方案免费找精准客户的app
  • 关于app的策划书单页站好做seo吗
  • 厦门企业网站排名优化北京网站sem、seo
  • o2o网站建设多少钱新闻发布平台
  • dw网站站点建立后怎么做抖音seo排名系统
  • 做网站用哪个服务器不用备案网上培训
  • 怎么建设个人网站教程制作网站的软件叫什么
  • 为什么做网站更新深圳网络推广代运营
  • 免费的公司网站怎么做海外域名
  • 品牌微信网站开发微博seo营销
  • 优斗士做网站怎么样故事性营销软文
  • 网站维护的主要工作网站搭建需要多少钱?
  • 网站建设属于哪类工作模板网站
  • 高端电商网站开发搜索指数
  • 用discuz怎样做网站移动网站如何优化排名
  • 企业app怎么做seo网络科技有限公司