关于数据包分析程序与数据库联动系统的问题

各位达人:有这样一个需求从交换机映射出一个口,数据包从此口出来,要求进入一个数据包分析程序将数据包进行解析;只解析http数据包,要求提取源ip地址、目的ip地址、url,并将这几样数据写入一个数据库房。

问题如下:
1、如果此程序对速度要求较高的话用什么程序编写数据包分析程序。
谢谢。

如果我来做这个程序的话,我会这样做:

  1. 用C来编写这个程序;
  2. 数据库假如可以选择的话,用SQLite;
  3. 首先将来自交换机映射的端口数据包过滤,过滤条件是协议,只解析http数据包,其余协议的数据包直接放过,不处理;
  4. 将步骤3得到的http数据包,加入到一个消息队列中;
  5. 消息队列有一个监听服务,此服务的功能是:一旦消息队列中有未处理的消息,就调用解析程序对该消息进行解析。
  6. 解析程序对http数据包,分析其源ip地址、目的ip地址、url,并将结果存入SQLite数据库;