catonetworks/cato-cli

GitHub: catonetworks/cato-cli

这是一个 Python 编写的 CLI 工具,通过 Cato Networks GraphQL API 简化网络和安全管理操作。

Stars: 14 | Forks: 3

# Cato Networks GraphQL API CLI 该软件包提供了一个简单易用的命令行界面,符合行业标准(例如 AWS CLI),并使客户能够通过 [Cato Networks GraphQL API](https://api.catonetworks.com/api/v1/graphql2) 轻松管理 Cato Networks 配置和流程,便于集成到配置管理、编排或自动化框架中以支持 DevOps 模型。 ## 概述 CatoCLI 是一个命令行界面,用于访问 Cato Networks GraphQL API,使您能够: - 生成详细的网络和安全报告 - 分析用户和应用程序活动 - 监控网络性能和事件 - 以多种格式(JSON、CSV)导出数据 - 自动化报告和监控任务 ## 前置条件 - Python 3.6 或更高版本 - 已安装 CatoCLI(`pip3 install catocli`) - 有效的 Cato Networks API 令牌和账户 ID - 正确的身份验证配置(请参阅[身份验证设置](#authentication-setup)) ## 安装说明 `pip3 install catocli` ## 身份验证设置 在使用任何查询操作之前,请配置您的 CatoCLI 配置文件: ``` # 交互式配置 catocli configure set # 非交互式配置 catocli configure set --cato-token "your-api-token" --account-id "12345" # 列出已配置的配置文件 catocli configure list # 显示当前配置文件 catocli configure show ``` ### 启用命令行 Tab 自动补全 有关启用 Tab 补全的详细信息,请参阅 [TAB_COMPLETION.md](TAB_COMPLETION.md)。 ### 文档 有关配置文件管理的详细信息,请参阅 [PROFILES.md](PROFILES.md)。 [点击此处](https://support.catonetworks.com/hc/en-us/articles/4413280536081-Generating-API-Keys-for-the-Cato-API) 查看如何创建用于身份验证的 API 密钥。 ## 运行 CLI ``` catocli -h catocli query -h catocli query entityLookup -h catocli query entityLookup '{"type":"country"}` // Override the accountID value as a cli argument catocli query entityLookup -accountID=12345 '{"type":"country"}` ``` ## 本地运行(非 pip 包形式) ``` git clone git@github.com:Cato-Networks/cato-cli.git cd cato-cli python3 -m catocli -h ``` ### 高级 cato-cli 主题 - [常用模式与最佳实践](./catocli_user_guide/common-patterns.md) - 输出格式、时间范围、过滤模式 - [Python 集成 - Windows](./catocli_user_guide/python-integration-windows.md) - Windows 特定的 Python 自动化示例 - [Python 集成 - Unix/Linux/macOS](./catocli_user_guide/python-integration-unix.md) - 基于 Unix 的 Python 集成指南 - [SIEM 集成指南](./catocli_user_guide/siem-integration.md) - 实时安全事件流式传输到 SIEM 平台 - [Terraform 规则集成](./catocli_user_guide/terraform-rules-integration.md) - 将策略规则导出/导入到 Terraform 以进行 IaC 管理 ## 自定义报告查询操作 ### 自定义报告分析查询 | 操作 | 描述 | 指南 | |-----------|-------------|--------| | [账户指标](./catocli_user_guide/account-metrics.md) | 按站点、用户或接口的网络性能指标 | 📊 | | [应用程序统计](./catocli_user_guide/app-stats.md) | 用户活动和应用程序使用分析 | 📱 | | [应用程序统计时间序列](./catocli_user_guide/app-stats-timeseries.md) | 按小时/每日细分的流量分析 | 📈 | | [事件时间序列](./catocli_user_guide/events-timeseries.md) | 安全事件、连接性和威胁分析 | 🔒 | | [套接字端口指标](./catocli_user_guide/socket-port-metrics.md) | 套接字接口性能和流量分析 | 🔌 | | [套接字端口时间序列](./catocli_user_guide/socket-port-timeseries.md) | 随时间变化的套接字性能指标 | ⏱️ | ## 快速入门示例 ### 基本网络健康检查 ``` # 获取上一小时账户指标 catocli query accountMetrics '{"timeFrame":"last.PT1H"}' ``` ### 用户活动报告(CSV 格式) ``` # 将上个月的用户活动导出为CSV catocli query appStats '{ "appStatsFilter": [], "appStatsSort": [], "dimension": [ { "fieldName": "user_name" }, { "fieldName": "domain" } ], "measure": [ { "aggType": "sum", "fieldName": "upstream" }, { "aggType": "sum", "fieldName": "downstream" }, { "aggType": "sum", "fieldName": "traffic" }, { "aggType": "sum", "fieldName": "flows_created" } ], "timeFrame": "last.P1D" }' -f csv --csv-filename appStats_daily_user_activity_report.csv ``` ### 安全事件分析 ``` # 每周安全事件分解 catocli query eventsTimeSeries '{ "buckets": 7, "eventsFilter": [{"fieldName": "event_type", "operator": "is", "values": ["Security"]}], "eventsMeasure": [{"aggType": "sum", "fieldName": "event_count"}], "perSecond": false, "timeFrame": "last.P7D" }' -f csv --csv-filename eventsTimeSeries_weekly_security_events_report.csv ``` ## 输出格式 CatoCLI 支持多种输出格式: - **增强型 JSON**(默认):进行粒度调整的格式化输出 - **原始 JSON**:使用 `-raw` 标志获取原始 API 响应 - **CSV**:使用 `-f csv` 导出结构化数据 - **自定义 CSV**:使用 `--csv-filename` 和 `--append-timestamp` 指定文件名 ## 时间范围选项 常用时间范围模式: - `last.PT1H` - 过去一小时 - `last.P1D` - 过去一天 - `last.P7D` - 过去一周 - `last.P1M` - 过去一个月 - `utc.2023-02-{28/00:00:00--28/23:59:59}` - 自定义 UTC 范围 ## 获取帮助 - 在任何命令后使用 `-h` 或 `--help` 获取详细用法 - 查阅 [Cato API 文档](https://api.catonetworks.com/documentation/) - 查看上方链接的各个操作指南 此 CLI 是一个 Python 3 应用程序,已在 Python 3.6 -> 3.8 版本上测试通过。 ## 要求: ``` python 3.6 or higher ``` ## 确认已安装的 Python 版本: ``` Open a terminal Enter: python -V or python3 -V ``` ## 安装适用于环境的正确版本: https://www.python.org/downloads/
标签:API密钥管理, API管理, API集成, CatoCLI, Cato Networks, DEF CON 演示, DFIR, GraphQL, JSON导出, Python, 事件监控, 可观测性, 命令行接口, 基础设施管理, 安全配置, 应用程序活动分析, 数据导出, 文档结构分析, 无后门, 用户活动分析, 监控, 编排, 网络安全, 网络性能监控, 网络调试, 自动化, 认证配置, 逆向工具, 隐私保护