当前位置: 首页 > 工具软件 > osquery > 使用案例 >

02_osquery_osquery的构建

郑承恩
2023-12-01

1.Windows上的构建

1.1. 工具

  • CMake(>=3.17.5):建议使用MSI安装程序。在安装过程中,选择选项以将其添加到所有用户的系统“ PATH”中。如果安装了任何较旧的CMake版本,需要先卸载该版本。不要使用Visual Studio安装程序来安装CMake,因为它包含的版本比要求的要旧。
  • Visual Studio 2019(2个选项)
    1. Visual Studio 2019 Build Tools安装程序 (未安装Visual Studio):在安装程序中,选择“ C ++生成工具”工作负载,然后在右侧的“可选”下,选择“ MSVC v142-VS 2019 C ++”,“ Windows 10 SDK”和“ Windows C ++ Clang工具”。
    2. Visual Studio 2019社区安装程序:在安装程序中,选择“使用C ++进行桌面开发”工作负载,然后在右侧的“可选”下,选择“ MSVC v142-VS 2019 C ++”,“ Windows 10 SDK”和“用于Windows的C ++ Clang工具”。
  • 适用于Windows的Git:选择“checkout as-is, commit as-is”。稍后检查“Enable symbolic links”支持。
  • Python 3,特别是64位版本。
  • Wix工具集,(3.11版本的Wix需要.NET3.5)
  • Strawberry Perl用于OpenSSL公式。建议将其安装到默认目标路径。

CSDN下载地址

1.2. 源码

git clone --recursive https://github.com/osquery/osquery

osquery/libraries里面的库使用的submodule进行管理的,所以如果网络原因不好或者没下齐全,需要自己去giithub上自行下载进行补全,在下载依赖库过程中,最好对应版本,有的依赖库最新的会报错。

1.3. cmake编译

编译一次大概半个小时。

1.3.1 配置

使用Win管理员模式,右键电脑左下角**“微软图标”,选中“Windows PowerShell(管理员)(A)”**,然后进入osquery文件夹。

cd osquery
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 ..

1.3.2 build

cmake --build . --config Release -j2
  • Release参数:指编译出Release版本,其值可以为RelWithDebInfo|Release|Debug,三种模式
  • j2:2 core CPU

1.4 运行

目标文件生成目录:```/build/osquery/Release
我生成的目标文件有两个,osqueryi.exe osqueryd.exe
依旧使用PowerShell(管理员)进入到这个文件夹下,使用命令可以执行osqueryi.exe,osqueryd.exe 需要添加参数

.\osqueryd.exe --ephemeral --disable_database --disable_logging --verbose --allow_unsafe=true
  • ephemeral:该标志告诉守护进程,它可以与其他持久性的守护进程共存;
  • disable_database:必须存在,或者“ database_path”必须被覆盖,因为非特权用户不能写入/读取默认数据库位置
  • disable_logging:同上,因为非特权用户不能写入/读取日志
  • --verbose:在详细模式下运行shell或守护程序
  • --allow_unsafe=true:注意守护进程预计将拥有由超级用户(如果以超级用户身份执行)。它还拒绝在tmpfs或sticky-bit目录中运行。对于特殊的测试和调试情况,请使用–allow_unsafe

还可以配置pidfileconfig等配置文件;

2. Linux上的构建(待续……)

 类似资料: