osquery是一款面向OSX和Linux的操作系統檢測框架。它將操作系統暴露為一個高性能的關系型數據庫,允許用戶編寫SQL查詢查看操作系統數據。在osquery中,SQL表代表像下面這樣的抽象概念:
正在運行的進程
已加載的內核模塊
打開的網絡連接
osqueryi是osquery中的交互式查詢控制台。通過它,用戶可以執行像下面這樣的語句,從SQL表中獲取操作系統中正在監聽所有端口的進程的pid、名稱和端口:
osquery> SELECT DISTINCTwww.mlybyby.com
...> process.name,
...> listening.port,
...> process.pid
...> FROM processes AS process
...> JOIN listening_ports AS listening
...> ON process.pid = listening.pid
...> WHERE listening.address = '0.0.0.0';
osquery中已經存在許多表,用戶可以在osquery命令行中使用“.table”命令列出所有表,而且還可以根據需要創建新表。有了這些表,用戶可以:
根據需要執行查詢以查看操作系統的狀態
通過調度器執行查詢以監控分布式主機操作系統www.mlyrx120.com
使用osquery API從自定義應用程序中發起查詢
除了上文提及的特性及易於安裝外,osquery還具有如下特性:
osqueryd——這是osquery中的一個分布式主機監控守護進程,它性能高,內存占用小,允許用戶在整個基礎設施上執行查詢。
跨平台——雖然osquery利用了非常底層的操作系統API,但它允許用戶在Ubuntu、Cent OS和Mac OS X上構建並使用它。
詳細的內部部署文檔 www.hrbfkyy120.com
此外,osquery代碼庫是由高性能的模塊化組件構成,並且其公共API有清楚的文檔記錄。這些組件可以組合出新的、有趣的應用程序和工具。