摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第10-11页 |
缩略语对照表 | 第11-15页 |
第一章 绪论 | 第15-19页 |
1.1 选题背景及意义 | 第15-16页 |
1.2 国内外现状分析 | 第16-17页 |
1.3 论文工作内容 | 第17-18页 |
1.4 论文组织结构 | 第18-19页 |
第二章 相关技术概述 | 第19-31页 |
2.1 Linux内核机制概述 | 第19-25页 |
2.1.1 网卡驱动程序概述 | 第19-21页 |
2.1.2 内存管理机制概述 | 第21-22页 |
2.1.3 网络协议栈机制概述 | 第22-23页 |
2.1.4 数据包捕获流程和捕获效率关键因素 | 第23-25页 |
2.2 DPDK相关技术 | 第25-29页 |
2.2.1 UIO技术(轮询) | 第25-26页 |
2.2.2 Zero copy和Hugepage技术 | 第26-28页 |
2.2.3 CPU亲和值与无锁队列 | 第28-29页 |
2.3 小结 | 第29-31页 |
第三章 需求分析 | 第31-39页 |
3.1 数据库审计与风险控制系统的简介 | 第31-34页 |
3.1.1 审计系统运行平台 | 第31-32页 |
3.1.2 审计系统功能架构 | 第32-33页 |
3.1.3 审计系统部署方式 | 第33-34页 |
3.2 数据包捕获引擎需求描述 | 第34-36页 |
3.2.1 引擎总体描述 | 第34-35页 |
3.2.2 引擎功能逻辑结构 | 第35-36页 |
3.3 数据包捕获引擎数据流 | 第36-38页 |
3.4 小结 | 第38-39页 |
第四章 引擎设计与实现 | 第39-59页 |
4.1 引擎系统架构设计 | 第39-40页 |
4.2 内存管理模块设计与实现 | 第40-47页 |
4.2.1 内存初始化 | 第40-43页 |
4.2.2 内存池和无锁队列实现 | 第43-46页 |
4.2.3 数据包信息结构体实现 | 第46-47页 |
4.3 数据包捕获模块设计与实现 | 第47-48页 |
4.4 审计模块设计与实现 | 第48-54页 |
4.4.1 数据包处理核心部分设计与实现 | 第48-51页 |
4.4.2 模块旁路模式设计与实现 | 第51-52页 |
4.4.3 模块在线(串行)模式设计与实现 | 第52-54页 |
4.5 KNI模块设计与实现 | 第54页 |
4.6 应用程序接口设计与实现 | 第54-55页 |
4.7 数据包捕获引擎的搭建 | 第55-58页 |
4.7.1 软硬件平台 | 第56-57页 |
4.7.2 初始化引擎运行环境 | 第57-58页 |
4.7.3 网络数据包捕获引擎启动 | 第58页 |
4.8 小结 | 第58-59页 |
第五章 引擎测试与分析 | 第59-67页 |
5.1 功能测试 | 第59-62页 |
5.1.1 测试环境 | 第59-61页 |
5.1.2 测试用例及过程 | 第61页 |
5.1.3 测试结果及分析 | 第61-62页 |
5.2 性能测试 | 第62-65页 |
5.2.1 测试环境 | 第62-63页 |
5.2.2 测试用例及过程 | 第63-64页 |
5.2.3 测试结果 | 第64页 |
5.2.4 与基于libpcap的dumpacp抓包对比和分析 | 第64-65页 |
5.3 小结 | 第65-67页 |
第六章 结束语 | 第67-69页 |
6.1 论文工作总结 | 第67页 |
6.2 后续工作展望 | 第67-69页 |
参考文献 | 第69-71页 |
致谢 | 第71-73页 |
作者简介 | 第73-74页 |