Lightweight open-source DDoS traffic monitor — stdout output, no account required
Project description
ftagent-lite
Open-source, zero-config DDoS traffic monitor. Outputs to stdout.
ftagent-lite is a lightweight network traffic monitor that detects DDoS attack patterns in real-time and prints structured stats to stdout. No API key. No account. No cloud.
It's the open-source sibling of the Flowtriq detection agent — great for quick diagnostics, CI pipelines, or building your own tooling on top.
Install
pip install scapy psutil
Then run with sudo (packet capture requires root):
sudo python3 ftagent_lite.py
Usage
sudo python3 ftagent_lite.py [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 output (one object per line)
-w, --watch Live updating terminal display
--no-color Disable ANSI colors
-V, --version Show version
Examples
# Monitor all interfaces, 2-second intervals
sudo python3 ftagent_lite.py
# Monitor eth0 with 5-second intervals
sudo python3 ftagent_lite.py --interface eth0 --interval 5
# Alert threshold at 50k pps
sudo python3 ftagent_lite.py --threshold 50000
# Pipe JSON to jq
sudo python3 ftagent_lite.py --json | jq '{pps: .pps, srcs: .src_ip_count}'
# Live dashboard view
sudo python3 ftagent_lite.py --watch
# Log to file
sudo python3 ftagent_lite.py --json >> /var/log/traffic.jsonl
Output
Human-readable (default)
2026-03-11 18:04:21 [HIGH]
Traffic : 47.8K pps 1.7 Gbps
Proto : TCP 3.2% UDP 94.1% ICMP 0.4%
Sources : 8,421 unique IPs | Avg pkt: 38 bytes
Top dst : :11211(31042) :53(12831) :80(3201)
Top src : 203.0.113.5 198.51.100.8 192.0.2.99 ...
! Attack pattern detected. Try Flowtriq for full alerting + auto-mitigation: https://flowtriq.com
JSON (--json)
{
"timestamp": "2026-03-11T18:04:21+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
}
Attack detection
ftagent-lite classifies traffic severity based on your --threshold:
| PPS vs threshold | Severity |
|---|---|
| < threshold | normal |
| ≥ threshold | MEDIUM |
| ≥ 2× threshold | HIGH |
| ≥ 5× threshold | CRITICAL |
For production DDoS detection with automatic alerting (Discord, Slack, PagerDuty, Teams, Telegram, DataDog, Prometheus, and more), PCAP capture, AI classification, escalation policies, and auto-mitigation (Cloudflare WAF, iptables, DigitalOcean, Vultr) — see Flowtriq.
Requirements
- Python 3.7+
scapy— packet capture and protocol parsingpsutil— fallback if scapy unavailable (no protocol breakdown)- Root/sudo — required for raw socket capture
Limitations vs Flowtriq Pro
| Feature | ftagent-lite | Flowtriq |
|---|---|---|
| Real-time PPS/BPS | ✓ | ✓ |
| Protocol breakdown | ✓ | ✓ |
| Source IP tracking | ✓ | ✓ |
| JSON output | ✓ | ✓ |
| Attack alerts (Discord, Slack, etc.) | ✗ | ✓ |
| PCAP capture | ✗ | ✓ |
| AI attack classification | ✗ | ✓ |
| Auto-mitigation (iptables, CF WAF) | ✗ | ✓ |
| Cloud dashboard | ✗ | ✓ |
| Multi-node | ✗ | ✓ |
| Team notifications + escalation | ✗ | ✓ |
Start a free 7-day Flowtriq trial →
License
MIT License — Copyright (c) 2026 Flowtriq
Permission is hereby granted, free of charge, to any person obtaining a copy of this software to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the software.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ftagent_lite-1.1.0.tar.gz.
File metadata
- Download URL: ftagent_lite-1.1.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
790b29abdb7f3205cb8db5bfc5c06f8222f3b1dfe70939a12606d9b093c8f01f
|
|
| MD5 |
502348ba192acb7c9bb629474fa63733
|
|
| BLAKE2b-256 |
2eee55027edd2b5ea32674cc825b4c7b793aaf9f9f2d6e2329806c6ab34427da
|
File details
Details for the file ftagent_lite-1.1.0-py3-none-any.whl.
File metadata
- Download URL: ftagent_lite-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a681819d8420a38987483a152e55d1e0fb851580edf070db662f9b1ad147d454
|
|
| MD5 |
52c0f2818382ce4db6f761faec74f1cd
|
|
| BLAKE2b-256 |
afd63e4011108dd3d100e0585aa6ed56ff2c7273bc53ab61ef3282e27646ceb9
|