具有pfring的高级集群

时间:2019-03-26 12:21:40

标签: c++ pf-ring

我正在编写能够使用pfring和群集(cluster_per_flow_5_tuple来平衡流量)以识别多种不同协议的代码,并且需要将所有FTP(被动模式)和FTP数据流量强制设置为同一线程。

 pfring_set_cluster( pfringP, <clusterID>, cluster_per_flow_5_tuple )

出于识别目的,我需要在同一线程上处理FTP控制和FTP数据,但是由于它们是不同的流(数据在不同的端口对中发送),pfring将数据定向到不同的线程。因此,在第二个线程将处理FTP控制数据之前,处理FTP数据的线程可能会处理所有FTPData数据包,这导致无法识别协议。

我试图将群集选项更改为仅使用源IP和目标IP,但是遇到性能问题。

我确实知道pfring的最新版本具有对L7协议检测的nDPI支持(PF_RING FT库),但是由于代码是在引入之前编写的很多,因此改编代码以使用该库的成本太高。可能可以使用PFRING FT仅启用FTP识别,但是我还没有找到方法。

是否可以使用pfring功能解决此问题?

0 个答案:

没有答案