.. _corelight-client:
.. 版本号会自动填充。 .. |version| replace:: 1.5.17
.. contents::
本工具为 Corelight Sensor <https://www.corelight.com>_ 提供命令行客户端。Corelight Sensor 是一台由 Bro 的创造者从零开始打造的 Bro <https://www.bro.org>_ 设备,用于将网络流量转换为高质量数据,供你的分析管道使用。通过命令行客户端,你可以借助其全面的 RESTful API 远程配置和控制 Corelight Sensor。有关此客户端概述的扩展版本,请参阅 Corelight Sensor 文档。
:版本: |version|
:主页: http://www.corelight.com
:GitHub: https://github.com/corelight/corelight-client
:作者: Corelight, Inc. <https://www.corelight.com>_ [email protected]
该客户端以 BSD 许可证开源发布。详情请参阅 COPYING。
命令行客户端需要 Python >= 3.4,并安装其主要依赖项 requests 模块。
最简单的安装方式是通过 Python 包索引安装::
# pip3 install corelight-client
或者,你也可以从 GitHub 安装最新版本::
# git clone https://github.com/corelight/corelight-client
# cd corelight-client
# python3 setup.py install
如果所有内容均安装正确,--help 将显示用法信息::
# corelight-client --help
Usage: corelight-client [<global options>] <command> <subcommand> [<options>]
[--ssl-ca-cert SSL_CA_CERT] [--ssl-no-verify-certificate]
[--ssl-no-verify-hostname] [--cache CACHE]
[...]
请注意,--help 最初还不会显示任何后续可用的命令。请继续阅读下一节,让客户端连接你的设备。
你需要通过设备的配置界面启用对 Corelight API 的访问。同时,还需要为 API 用户 admin(用于无限制访问)和 monitor(用于只读访问)设置密码。更多信息请参阅 Corelight Sensor 文档。
接下来,你需要告诉 corelight-client 你的 Corelight Sensor 的网络地址。有三种方式可以做到:
在命令行中添加 -b <address>。
创建配置文件 ~/.corelight-client.rc,内容为 device=<address>。
设置环境变量 CORELIGHT_DEVICE=<address>。
如果上述设置完成,corelight-client --help 将会提示你输入用户名和密码,然后显示设备 API 允许客户端提供的完整命令列表。如果你确认保存凭据,客户端会将其存储在 ~/.corelight-client/credentials 中,以供将来重复使用。你也可以通过 Configuration File_ 或 Global Options_ 指定认证信息。
客户端通过一组格式为 <command> <subcommand> [options] 的命令提供 API 功能。向任何命令添加 --help,你都可以获得其所有功能和选项的说明。
如果 --help 输出将某个命令选项的类型列为 file,则客户端要求你指定要发送的文件的路径。此外,你可以给任何选项值加上 file:// 前缀,以便从文件中读取其内容,而不是直接在命令行中提供。
(注意:只有当客户端能够连接并成功认证设备时,--help 输出才会包含命令列表。)
.. _corelight-client-options:
corelight-client 支持以下全局命令行选项。--device 和 --fleet 选项应互斥使用。所有其他选项适用于所有请求:
--async
不等待异步命令完成即退出。
--device
指定 Corelight Sensor 设备的网络地址。
--fleet
指定 Corelight Fleet Manager 的网络地址。
--uid
指定通过指定的 Corelight Fleet Manager 管理的 Corelight Sensor 的 UID。
--cache=<file>
设置用于缓存 Corelight Sensor 元数据的自定义文件。
--debug
启用调试输出,显示 HTTP 请求和响应。
--password
指定用于认证的密码。
--mfa
指定用于与指定 Corelight Fleet Manager 认证的 2FA 验证码。使用 '-' 提示用户输入。
--ssl-ca-cert
指定包含自定义 SSL CA 证书的文件,用于验证设备的真实性。
--ssl-no-verify-certificate
指示客户端接受任何 Corelight Sensor SSL 证书。
--ssl-no-verify-hostname
指示客户端接受 Corelight Sensor 的 SSL 证书,即使该证书与其主机名不匹配。
--socket
指示客户端使用 Unix 域套接字发送请求。
--user
指定用于认证的用户名。
--version
显示 corelight-client 的版本并退出。
--ignore-meta
不向传感器 API 调用发送元数据信息,除非在命令行中指定。
.. _corelight-client-config:
corelight-client 会查找配置文件 ~/.corelight-client.rc。该文件必须由 <key>=<value> 形式的行组成。以 # 开头的注释将被忽略。corelight-client 支持以下键:
device
Corelight Sensor 设备的网络地址。
fleet
Corelight Fleet Manager 的网络地址。
uid
通过指定的 Corelight Fleet Manager 管理的 Corelight Sensor 的 UID。
user
用于认证的用户名。
password
用于认证的密码。
mfa
用于与 Corelight Fleet Manager 认证的 2FA 验证码。使用 '-' 提示用户输入。
ssl-ca-cert
包含自定义 SSL CA 证书的文件,用于验证设备的真实性。
ssl-no-verify-certificate
如果设置为 false,客户端将接受任何 Corelight Sensor 的 SSL 证书。
ssl-no-verify-hostname
如果设置为 false,客户端将接受 Corelight Sensor 的 SSL 证书,即使该证书与其主机名不匹配。
socket
用于发送请求的 Unix 域套接字。