Flowtriq/ftagent-lite

GitHub: Flowtriq/ftagent-lite

一款无需账户和云端依赖的轻量级 DDoS 实时流量监控工具,支持终端仪表盘与 JSON 管道输出。

Stars: 33 | Forks: 1

ftagent-lite

实时 DDoS 流量监控工具。单文件。无需账户。无云端依赖。

PyPI version Python versions License Downloads

ftagent-lite demo

将其部署到任意 Linux 服务器上,即可实时查看每秒数据包数(PPS)、带宽、协议分布、源 IP 基数以及攻击严重程度。您可以将 JSON 数据通过管道传输至您的自定义工具中,或者直接在终端中查看实时仪表盘。 ## 快速开始 ### 从 PyPI 安装 ``` pip install ftagent-lite[full] sudo ftagent-lite ``` `[full]` 扩展会安装 `scapy`(用于数据包捕获和协议解析)以及 `psutil`(作为备用计数器)。 ### 或者直接运行单文件 ``` curl -O https://raw.githubusercontent.com/Flowtriq/ftagent-lite/main/ftagent_lite.py pip install scapy psutil sudo python3 ftagent_lite.py ``` 使用原始套接字(raw socket)进行捕获需要 Root / sudo 权限。 ## 功能说明 **专注于以下两项核心功能:** 1. **流量监控** —— PPS、带宽(Gbps/Mbps)、TCP/UDP/ICMP 分布、唯一源 IP、热门目标端口以及平均数据包大小。每个时间间隔的计算结果都会输出到标准输出(stdout)。 2. **攻击模式检测** —— 根据您设定的阈值对流量严重程度进行分类。当 PPS 超过阈值时,它会标记该时间间隔,显示热门源 IP,并识别出攻击模式。 | PPS 与阈值的比例 | 严重程度 | | ---------------- | ---------- | | 低于阈值 | `NORMAL` | | 1 倍阈值 | `MEDIUM` | | 2 倍阈值 | `HIGH` | | 5 倍阈值 | `CRITICAL` | 无需配置文件。无需守护进程(daemons)。无需账户。它会立即开始捕获数据包并输出监测到的内容。 ## 用法 ``` sudo ftagent-lite [options] Options: -i, --interface IFACE Network interface (default: any) -t, --interval SECS Reporting interval in seconds (default: 2) -T, --threshold PPS PPS alert threshold (default: 5000) -j, --json Machine-readable JSON (one object per line) -w, --watch Live updating terminal dashboard --no-color Disable ANSI colors -V, --version Show version ``` ### 示例 ``` # 监控所有接口,默认 2 秒间隔 sudo ftagent-lite # 监控 eth0,5 秒间隔,50K PPS 阈值 sudo ftagent-lite -i eth0 -t 5 -T 50000 # 实时终端仪表板 sudo ftagent-lite --watch # JSON 输出通过管道传递给 jq sudo ftagent-lite --json | jq '{pps: .pps, bps: .bps, srcs: .src_ip_count}' # 记录到文件以供日后分析 sudo ftagent-lite --json >> /var/log/traffic.jsonl # 导入到您自己的告警系统 sudo ftagent-lite --json | while read line; do pps=$(echo "$line" | jq .pps) [ "$pps" -gt 100000 ] && curl -X POST your-webhook -d "$line" done ``` ### JSON 输出 每个时间间隔会生成一个 JSON 对象: ``` { "timestamp": "2026-06-14T03:12:07+00:00", "pps": 47821, "bps": 215000, "tcp": 1530, "udp": 45100, "icmp": 191, "other": 0, "tcp_pct": 3.2, "udp_pct": 94.1, "icmp_pct": 0.4, "src_ip_count": 8421, "top_src_ips": ["203.0.113.5", "198.51.100.8", "192.0.2.99"], "top_dst_ports": [[11211, 31042], [53, 12831], [80, 3201]], "avg_pkt_size": 38 } ``` ## 使用场景 - **快速诊断** —— 通过 SSH 登录到受攻击的服务器,几秒钟内即可查清正在遭受的攻击情况 - **CI/CD 流水线** —— 对预发布环境运行流量测试,并断言 PPS 保持在阈值以下 - **自定义工具** —— 将 JSON 数据通过管道传输至您自己的告警系统、仪表盘或 SIEM - **蜜罐与研究** —— 将流量模式记录为 JSONL 格式,以便进行离线分析 - **轻量级监控** —— 在小型 VPS 上保持运行,因为在这些场景下使用完整的监控代理大材小用 ## 环境要求 - Python 3.7+ - Linux(使用原始套接字捕获;macOS 可通过 BPF 运行) - 捕获数据包需要 Root / sudo 权限 - `scapy`(用于完整的协议分析,推荐使用) - `psutil`(作为备用方案,仅支持 PPS/BPS,无法进行协议分布分析) ## 支持 - Discord: [discord.gg/SsTWMYuyGG](https://discord.gg/SsTWMYuyGG) - Issues: [github.com/Flowtriq/ftagent-lite/issues](https://github.com/Flowtriq/ftagent-lite/issues) ## 了解更多 - [GitHub 上的 ftagent-lite](https://github.com/Flowtriq/ftagent-lite) - 源代码、Issues 与发布版本 - [开始免费试用](https://flowtriq.com/signup) - 14 天免费试用,无需信用卡 - [Flowtriq](https://flowtriq.com) - 实时 DDoS 检测与缓解 ## 许可证 MIT 许可证。版权所有 (c) 2026 [Flowtriq](https://flowtriq.com)。 可自由使用、派生或发布。如果提及出处我们将不胜感激,但这并非强制要求。 由 [Flowtriq](https://flowtriq.com) 构建 - 实时 DDoS 检测与缓解。
标签:DDoS监控, Linux运维, Python, Scapy, 无后门, 逆向工具