2 个版本
0.1.3 | 2022 年 12 月 10 日 |
---|---|
0.1.2 | 2022 年 7 月 6 日 |
#4 in #osquery
105KB
2.5K SLoC
osquery-rs
此包允许您使用 osquery Thrift API 执行 osquery SQL 查询。您可以使用以下方法之一执行 osquery SQL 查询:
-
连接到现有 osquery 实例的扩展套接字
-
启动自己的 osquery 实例并与其实例的扩展套接字通信
目前这个包只在 Linux 上工作。我仍在开发 Windows 版本。
用法
-
将其添加到您的依赖项
[dependencies] osquery-rs = { git = "https://github.com/AbdulRhmanAlfaifi/osquery-rs"}
-
开始执行查询!
示例
连接到现有 osquery 实例的扩展套接字
use osquery_rs::OSQuery;
fn main () {
let res = OSQuery::new()
.set_socket("/home/root/.osquery/shell.em")
.query(String::from("select * from time"))
.unwrap();
println!("{:#?}", res);
}
启动自己的 osquery 实例(独立模式)
use osquery_rs::OSQuery;
fn main() {
let res = OSQuery::new()
// Specify the path to the osquery binary
.spawn_instance("./osqueryd")
.unwrap()
.query(String::from("select * from time"))
.unwrap();
println!("{:#?}", res);
}
默认套接字路径为 /tmp/osquery-rs
,您可以通过调用函数 set_socket
来更改它
use osquery_rs::OSQuery;
fn main() {
let res = OSQuery::new()
.set_socket("/tmp/mysocket")
// Specify the path to the osquery binary
.spawn_instance("./osqueryd")
.unwrap()
.query(String::from("select * from time"))
.unwrap();
println!("{:#?}", res);
}
依赖项
~0.7–1MB
~18K SLoC