问题描述
- 关于数据包分析程序与数据库联动系统的问题
-
各位达人:有这样一个需求从交换机映射出一个口,数据包从此口出来,要求进入一个数据包分析程序将数据包进行解析;只解析http数据包,要求提取源ip地址、目的ip地址、url,并将这几样数据写入一个数据库房。问题如下:
1、如果此程序对速度要求较高的话用什么程序编写数据包分析程序。
谢谢。
解决方案
如果我来做这个程序的话,我会这样做:
- 用C来编写这个程序;
- 数据库假如可以选择的话,用SQLite;
- 首先将来自交换机映射的端口数据包过滤,过滤条件是协议,只解析http数据包,其余协议的数据包直接放过,不处理;
- 将步骤3得到的http数据包,加入到一个消息队列中;
- 消息队列有一个监听服务,此服务的功能是:一旦消息队列中有未处理的消息,就调用解析程序对该消息进行解析。
- 解析程序对http数据包,分析其源ip地址、目的ip地址、url,并将结果存入SQLite数据库;
时间: 2024-12-17 07:10:42