CentOS 7安装hyperscan

0x00 前言

HyperScan是一款由Intel开发的高性能正则表达式匹配库,专为需要快速处理大量数据流的应用场景而设计。它支持多平台运行,包括Linux、Windows和macOS等操作系统,并针对x86架构进行了优化,以提供卓越的性能表现。HyperScan的核心功能是能够高效地执行多正则表达式的编译与扫描操作,特别适用于网络安全、内容过滤、数据挖掘等领域。

HyperScan的主要特性之一是其独特的"块模式"(Block Mode)工作方式,允许用户在不破坏原有数据流的情况下对大数据集进行分割处理,从而实现并行化处理,极大提升了处理速度。此外,它还提供了"矢量化"支持,利用现代CPU的SIMD(Single Instruction Multiple Data)指令集来加速正则表达式的匹配过程,进一步增强了性能优势。

0x01 安装环境

版本
操作系统 CentOS 7 64 bit
gcc 4.8.5 20150623 (Red Hat 4.8.5-44)

0x02 依赖安装

软件 版本
Ragel 6.9
CMake >=2.8.11
Boost >=1.57

2.1 Ragel安装

bash 复制代码
yum install ragel

查看安装后版本

bash 复制代码
[user@localhost download]$ ragel -v
Ragel State Machine Compiler version 7.0.0.9 August 2016
Copyright (c) 2001-2015 by Adrian Thurston

2.2 CMake 安装

bash 复制代码
yum install cmake

查看安装后版本

bash 复制代码
[user@localhost download]$ cmake -version
cmake version 2.8.12.2

2.3 Boost 下载与安装

这里有个坑,就是boost安装路径,LZ是直接抄过来的。但是hs安装时死活找不到boost。原因是./bootstrap.sh --prefix=~/tmp/boost-1.66这个prefix路径需要写绝对路径,写是错误的。按照错误的路也能走下去,各位同学可以接着跟LZ走下去。

bash 复制代码
wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
tar xvzf boost_1_66_0.tar.gz
cd boost_1_66_0
./bootstrap.sh --prefix=~/tmp/boost-1.66
./b2 install

0x03 安装Hyperscan

下载就不多说了,到github仓库直接选择自己需要的版本下载即可。

bash 复制代码
https://github.com/intel/hyperscan/tags

安装步骤

bash 复制代码
cd hyperscan
mkdir build
cd build
cmake -DBUILD_STATIC_AND_SHARED=1 -DBOOST_ROOT=/home/user/download/boost_1_66_0/~/tmp/boost-1.66 ../
make -j2
make install

debug模式

bash 复制代码
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_STATIC_AND_SHARED=1 -DBOOST_ROOT=/home/user/download/boost_1_66_0/~/tmp/boost-1.66 ../

编译过程

0x04 单元测试

进入build目录可以运行测试单元,看hyperscan是否能正常工作

bash 复制代码
cd build/
bin/unit-hyperscan

0x05 参考文献

Hyperscan官网安装手册
Hyperscan 5.4.0 安装教程 (CentOS7环境)
Suricata5.0.1 Hyperscan 安装

相关推荐
cg501718 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影18 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain18 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon18 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu19 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon20 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼20 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来20 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
inquisiter21 小时前
UEFI镜像结构布局
linux·spring