Hyperscan的源码编译安装

Posted 网安开发笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperscan的源码编译安装相关的知识,希望对你有一定的参考价值。

操作系统版本: Ubuntu 20.04.5
Hyperscan版本: 5.3.0

Hyperscan是一个正则表达式引擎,旨在提供高性能、同时匹配多个表达式的能力以及扫描操作的灵活性。要想实现高性能的字符串或者正则匹配,就可以使用它。

下面我们一起来先看一下如何源码安装Hyperscan:
1、安装依赖包:
sudo apt install -y libboost-all-dev
sudo apt install -y ragel
sudo apt install -y cmake
sudo apt install -y build-essential

2、从github上下载Hyperscan源码:
git clone --branch v5.3.0 https://github.com/intel/hyperscan.git hyperscan_5.3.0

3、编译和安装Hyperscan:
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=on
make -j8
make install

4、更新动态库路径:
echo “/usr/local/lib” | sudo tee --append /etc/ld.so.conf.d/usrlocal.conf
sudo ldconfig

hyperscan

对hyperscan官方的前两个example进行编译和运行。

支持单个和多个正则编译。并行匹配规则,性能高。

对块模式和流模式使用:

示例pcapscan: http://www.cnblogs.com/zzqcn/p/4905235.html 

注:保证同一时间仅有一个实例在使用scratch,但是scratch可以连续调用。在程序启动时为scratch分配空间。

流模式可以解决边界跨包问题,预先把数据包分配在不同的流中,使用复杂,使用内存大。

协议识别使用block模式即可 。

 

以上是关于Hyperscan的源码编译安装的主要内容,如果未能解决你的问题,请参考以下文章

hyperscan在低版本系统应用问题

python安装hyperscan-python

Hyperscan 介绍与安装

Intel Hyperscan简介

Hyperscan与Snort的集成方案

intel/hyperscan README.md