【尚学堂博客源码】【打电话php源码】【编程猫源码文件】hyperscan 源码详解

时间:2024-12-23 23:12:14 编辑:溯源码燕窝海关 来源:源码转成数据

1.windows组件怎么安装

hyperscan 源码详解

windows组件怎么安装

       什么是码详Hyperscan:

       hyperscan 是英特尔推出的一款高性能正则表达式引擎,一次接口调用可以实现多条规则与多个对象之间的码详匹配,可以支持多种匹配模式,码详块模式和流模式,码详它是码详以PCRE为原型开发,并以BSD许可证开源。码详尚学堂博客源码

       使用时分2步来实现:

       第1步:对规则集进行预编译,码详编译时可以指定规则集类型的码详参数:正则表达式或文本模式。第2步:利用编译好的码详规则集进行匹配,匹配时可以指定为块模式或流模式。码详另外需要注意的码详是x版本和arm版本的源代码是有区别的,官网下载x版本(github.com/intel/hyper…)无法在arm平台中编译通过,码详arm版本下载地址(github.com/tqltech/hyp…)。码详打电话php源码

       下面以在windows X平台为例来讲解hyperscan python组件的码详编译安装方法:

       1、 下载和解压hyperscan-5.4.0。码详

       2、 在powershell下创建build目录,执行cd build。

       3、编程猫源码文件 输入cmake -G命令,查看-G支持的类型列表。

       4、 输入cmake -G “Visual Studio Win” -DBUILD_SHARED_LIBS=on …/命令。

       提示命令执行失败,需要指定BOOST_ROOT参数

       5、遵义到贵阳源码 下载boost源代码,解压到hyperscan目录中。

       6、 输入cmake -G “Visual Studio Win” -D BOOST_ROOT=%cd%/…/boost_1__0/ -DBUILD_SHARED_LIBS=on …/命令。

       提示缺少PCRE和sqlite3

       7、 下载PCRE、阿布源码更改sqlite源代码并解压到hyperscan目录中。

       8、 输入cmake -G “Visual Studio Win” -D BOOST_ROOT=%cd%/…/boost_1__0/ -DBUILD_SHARED_LIBS=on -D PCRE_SOURCE=%cd%/…/pcre-8./ …/命令,命令执行成功,build目录下生成一系列的vs工程文件。

       9、 输入cmake –build .命令执行编译,编译成功后分别在bin、lib目录下生成一系列文件。

       bin目录列表

       lib目录列表

       、 下载hyperscan python源代码(pypi.org/project/hyp…) ,原来的setup.py无法在windows下安装成功,需要修改setup.py文件内容如下:

       # -*- coding: utf-8 -*-from distutils.core import *module1 = Extension("hyperscan.hyperscan", include_dirs =

       , libraries =

       , library_dirs =

       , extra_compile_args =

       , extra_link_args =

       , sources =

       )setup( name="hyperscan", #打包文件名称 库说明文件的文件名 version="0.2.0", package_dir = { '': 'src'}, packages =

       , package_data = { '':

       }, ext_modules=

       )复制代码

       、 输入python setup.py install命令进行python组件安装,提示安装失败,找不到hs_compile_lit_multi。

       、 在hs.def中增加导出函数hs_compile_lit_multi,重新编译hyperscan工程后再执行python组件安装脚本,安装成功。

       、 成功执行python测试。脚本表示安装成功,脚本如下:

       import hyperscandb = hyperscan.Database()print(db)复制代码

       执行成功

       可以试试下面的漏扫服务,看看系统是否存在安全风险