Flowtriq/nethawk

GitHub: Flowtriq/nethawk

一款在终端中进行实时网络流量监控与 DDoS 攻击检测的轻量级命令行工具,零配置、单二进制即可运行。

Stars: 0 | Forks: 0

◆ NetHawk

在终端中进行实时网络流量分析。

安装用法功能JSON 模式攻击检测参与贡献Discord

Release License Build Go Report Discord

NetHawk Demo

通过 SSH 登录到服务器。运行 `nethawk`。实时查看访问您网络的所有内容。 无需配置文件。无需数据库。无需 Web 服务器。仅需一个 5MB 的二进制文件。 ## 安装 ### 一行命令安装 (Linux/macOS) ``` curl -sSfL https://raw.githubusercontent.com/Flowtriq/nethawk/main/install.sh | sudo sh ``` ### 从源码安装 ``` go install github.com/Flowtriq/nethawk/cmd/nethawk@latest ``` ### 从发布版本安装 从 [Releases](https://github.com/Flowtriq/nethawk/releases) 下载适合您平台的二进制文件。 ### 前置条件 NetHawk 使用 `libpcap` 进行数据包捕获: - **Linux (Debian/Ubuntu):** `sudo apt install libpcap-dev` - **Linux (RHEL/CentOS):** `sudo yum install libpcap-devel` - **macOS:** 系统自带 ## 用法 ``` # 自动检测 interface,默认 threshold sudo nethawk # 指定 interface sudo nethawk -i eth0 # 自定义攻击检测 threshold (PPS) sudo nethawk -i eth0 -t 100000 # JSON 输出(用于管道传输至其他工具) sudo nethawk -json # 列出可用的 interface nethawk -list ``` 需要 root 权限,因为原始数据包捕获需要该权限。这与 tcpdump、Wireshark 或任何其他数据包捕获工具的要求相同。 ## 功能 ### 实时流量仪表板 - **带宽和数据包速率** — 实时 Gbps/Mbps 和 PPS,并带有峰值跟踪 - **60秒走势图** — 一目了然的彩色编码流量历史记录 - **协议明细** — 带有可视化条形图的 TCP、UDP、ICMP 百分比 - **源 IP Top 排行** — 按数据包数量排名,向您发送最多流量的 IP - **目标端口 Top 排行** — 正在被访问的服务及其百分比 ### 攻击检测 NetHawk 实时对流量模式进行分类。当每秒数据包数超过您的阈值时,它会识别出攻击向量: | 严重程度 | 触发条件 | 颜色 | |----------|---------|-------| | NORMAL (正常) | 低于阈值 | 绿色 | | MEDIUM (中等) | 1倍阈值 | 黄色 | | HIGH (高) | 2倍阈值 | 橙色 | | CRITICAL (严重) | 5倍阈值 | 红色 | 检测到的攻击类型: - DNS 放大攻击 (UDP/53) - NTP 放大攻击 (UDP/123) - Memcached 放大攻击 (UDP/11211) - SSDP 放大攻击 (UDP/1900) - LDAP 放大攻击 (UDP/389) - SNMP 放大攻击 (UDP/161) - CharGEN 放大攻击 (UDP/19) - UDP Flood - SYN Flood - TCP Flood (带端口识别) - ICMP Flood - 流量型攻击 (混合协议) ### JSON 模式 将结构化数据管道传输给 jq、自定义警报、日志聚合或其他任何用途: ``` sudo nethawk -json | jq '.severity' ``` ``` { "timestamp": "2026-06-20T14:30:00Z", "interface": "eth0", "pps": 234000, "bps": 1240000000, "tcp_pct": 45.2, "udp_pct": 42.1, "icmp_pct": 12.7, "unique_src_ips": 847, "top_sources": [ {"ip": "192.168.1.100", "count": 89000} ], "top_ports": [ {"port": 53, "protocol": "UDP", "count": 98700, "percent": 42.1} ], "avg_pkt_size": 512, "severity": "NORMAL" } ``` ## 工作原理 NetHawk 使用 libpcap 直接从您的网络接口捕获数据包。每过一秒,它会汇总: 1. **数据包和字节计数器** — 总吞吐量 2. **协议分类** — 每个数据包的 L4 协议 3. **源 IP 跟踪** — 唯一的源 IP(上限为 10 万个以限制内存使用) 4. **目标端口跟踪** — 正在接收流量的端口 5. **攻击分类** — 将当前 PPS 与阈值进行比较,从协议/端口模式中识别出攻击向量 所有操作均在进程内运行。没有数据离开本机。无云端依赖。无需账户。无网络回传。 ## 横向对比 | | NetHawk | iftop | nload | bandwhich | Wireshark | |--|---------|-------|-------|-----------|-----------| | 实时 TUI | 是 | 是 | 是 | 是 | 否 (GUI) | | 协议明细 | 是 | 否 | 否 | 否 | 是 | | 源 IP Top 排行 | 是 | 连接情况 | 否 | 按进程 | 是 | | 目标端口 Top 排行 | 是 | 否 | 否 | 否 | 是 | | 攻击检测 | 是 | 否 | 否 | 否 | 否 | | 攻击分类 | 是 | 否 | 否 | 否 | 否 | | JSON 输出 | 是 | 否 | 否 | 否 | 是 | | 单一二进制文件 | 是 | 否 | 否 | 是 | 否 | | 零配置 | 是 | 是 | 是 | 是 | 否 | ## 用于生产环境的 DDoS 防护 NetHawk 可向您展示访问您网络的流量。如果您需要能够自动**拦截**这些流量的工具 —— 包括 7x24 小时监控、自动缓解、警报、团队仪表板、事件取证 —— 请查看 [Flowtriq](https://flowtriq.com)。 ## 许可证 MIT。详情请见 [LICENSE](LICENSE)。 ## 另请参阅 - [ftagent-lite](https://github.com/Flowtriq/ftagent-lite) — 轻量级 Python DDoS 监控工具(单文件,支持 pip install,JSON 输出) - [Flowtriq](https://flowtriq.com) — 托管式 DDoS 检测和缓解平台
标签:EVTX分析, Go, IP 地址批量处理, Ruby工具, 数据包抓取, 日志审计, 流量监控, 系统分析, 网络分析, 防御绕过