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的源码编译安装的主要内容,如果未能解决你的问题,请参考以下文章