网络流量处理
文章平均质量分 91
本专栏主要记录流量处理过程中遇到的各种问题,同时记录解决过程;包括但不限于pfring、dpdk、pcap等应用
大明__
技术爱好者,通过分享进行学习实践;涉及领域主要包括:C/C++,算法与数据结构,网络安全,数据安全,设计模式,系统架构,数据库,多线程高并发等
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
suricata新增Mysql告警规则处理
本文介绍了在Suricata中新增MySQL告警规则的处理流程。首先在完成MySQL协议解析后,通过新增规则检测SQL语句中的特定操作(如TRUNCATE)。需要将"mysql.sql"关键字注册到检测引擎,并实现相关初始化(DetectMysqlmysqlSetup)、资源释放(DetectMysqlmysqlFree)和匹配检测(DetectMysqlMatch)函数。其中DetectMysqlMatch函数会对每个MySQL事务进行检测,匹配规则中的关键字。整个过程涉及修改协议解析原创 2025-07-17 21:00:00 · 1258 阅读 · 0 评论 -
【Mysql协议解析处理流程】
MySQL协议解析流程概述: MySQL客户端与服务端交互包含握手、鉴权、SQL执行三个阶段。服务端首先发送Server Greeting报文,包含协议版本和服务器信息;客户端响应登录请求并处理可能的Auth Switch交互。成功鉴权后,客户端可发送SQL请求,服务端返回结果集或状态响应。协议解析采用状态机机制,定义了20+种状态(如LOGIN、REQUEST、RESPONSE_TABULAR等)来处理不同阶段的报文格式。每个报文由3字节长度+1字节序列号+消息体组成,解析时需根据当前状态和报文类型进行相原创 2025-07-16 22:00:00 · 1060 阅读 · 0 评论 -
thrift源码编译安装
本文记录了Thrift源码编译安装过程中遇到的三个主要问题及解决方法:1) configure阶段偶现的Makefile格式错误,需手动添加缺失字段;2) 编译时std::map初始化失败,通过为TEnumIterator添加iterator_traits特化解决;3) 链接时SSL_get_peer_certificate未定义,修改Makefile.am调整库链接顺序确保使用指定路径的OpenSSL。最终通过调整源码和构建配置,成功完成Thrift的编译安装。原创 2025-07-15 15:34:19 · 723 阅读 · 0 评论 -
suricata新增协议处理流程
本文介绍了在Suricata中新增MySQL协议处理流程的方法。首先通过源码安装Suricata,包括下载源码和编译步骤。然后使用setup-app-layer.py脚本生成协议框架代码,在rust/src目录下创建mysql协议解析的相关文件。重点解析了mysql.rs中的协议注册代码,其中RustParser结构体定义了各处理函数的入口,如连接处理(state_new)、请求解析(parse_ts)和响应解析(parse_tc)等。最后指出进行MySQL协议解析需要参考MySQL官方文档了解数据包结构。原创 2025-07-04 22:00:00 · 533 阅读 · 0 评论 -
Mysql Resultset 解析记录
每个字段的定义包括,字段头+字段体,字段头的定义与前面的header定义相同,而后定义的是字段的各个内容,包括catalog、database_name,table_name,orig_table_name,column_name, orig_column_name,字符集索引,字符集长度,列类型,列标识及列精度;原创 2025-01-29 10:00:48 · 1261 阅读 · 0 评论 -
suricata源码编译从Centos迁移到Debian过程记录
操作系统切换后,或多或少都会有一些意想不到的问题存在;好在有正确的版本可参照执行比如cbindgen可通过回退版本得到解决。此外,gcc -std=c11及-std=gnu11的差异点,还需进一步研究。原创 2025-01-07 15:39:39 · 1512 阅读 · 0 评论 -
记一次pfring在目标机器上出现Illegal instruction.的修复过程
解决过程其实比较直观,指令集不兼容就通过重新编译,找到适合的指令集即可;不过为了验证是否为avx2指令集的问题,通过学习可通过objdump -d命令获取动态库/可执行程序最终的执行命令,对后续验证应该使用哪个指令集进行编译提供了有效途径。原创 2024-12-19 18:20:44 · 1066 阅读 · 0 评论 -
记一次pfring_open error [No such device] (pf_ring not loaded or interface zc:p2p1 is down ?)修复过程
为了使得网口接收流量能够突破1G,所以尝试使用pfring,发送example中的pfsend,同时使用zc(zero copy)模式进行数据发送。但是再调用的过程中出现了pfring_open error [No such device] (pf_ring not loaded or interface zc:p2p1 is down?)错误。遂开始进入了排查及定位过程。使用的版本未PF_RING 8.6.1。原创 2024-12-04 17:53:53 · 894 阅读 · 0 评论
分享