写一个抓包工具项目的分析吧。
前几天接到一个需求,大致是做一个高性能的抓包和协议分析工具,抓出的包保存到文件里,性能要求是500Mb/s。
客户要求是一个开放式框架来开发这个工具,既要完成大概5种协议的协议头分析,也要能够方便开发新的协议分析插件。
整个项目的框架为:框架程序+配置文件+插件。
其中框架程序主要负责创建共享全局信息,抓取数据包并把数据包发送给插件;配置文件中的配置内容包括插件名称、插件动态库名称、执行插件的线程数等等;插件主要完成数据包的解析,将解析出来的结果写入到数据文件中或者通过框架传给的数据库连接保存到数据库中。
涉及到的技术主要有:SOCKET编程、动态库动态调用、并发程序设计等。