Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ayaFlow — 一个基于eBPF的高性能网络流量分析器,使用Rust编写。 | Kitploit
工具/GitHubGitHub/davidhavoc/ayaflow
数据包嗅探与分析网络映射网络安全云安全DNS 分析
GitHubdavidhavoc/ayaflow

ayaFlow

一个基于eBPF的高性能网络流量分析器,使用Rust编写。

查看仓库
281652个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ayaFlow

ayaFlow 是一个基于 Rust + eBPF 的网络流量分析工具,构建于 Aya 之上。它在每个 Linux 节点上运行一个代理,在入口和出口附加 TC 分类器,并暴露实时流量数据、基于 SQLite 的历史记录以及 Prometheus 指标。

功能

  • 通过 eBPF TC 分类器捕获 IPv4、IPv6、TCP 和 UDP 流量。
  • 在内存中维护实时连接统计信息,并将历史记录存储在 SQLite 中。
  • 可选地使用反向 DNS、DNS 查询域名和 TLS SNI 增强流量信息。
  • 暴露 REST API、WebSocket 流和 Prometheus /metrics 端点。
  • 附带 Docker、Kubernetes、Prometheus 和 Grafana 示例。

支持的开发流程

ayaFlow 的数据包捕获运行时仅限 Linux。贡献者工作流出于目的被拆分:

  • 在 macOS 或 Linux 上进行的主机安全检查:
    • cargo test -p ayaflow-common
    • cargo test -p ayaflow
    • cargo xtask build-user
    • cargo xtask check-host
  • 仅限 Linux 的构建和运行时:
    • cargo xtask build-ebpf
    • cargo xtask build
    • cargo xtask run -- --deep-inspect

如果你使用的是 macOS,请使用 Docker 或 Linux VM 进行完整的 eBPF 工作流程。参见 HOW_TO_USE_LOCAL.md 了解两种路径。

快速开始

1. 检查主机支持

root@kitploit:~
cargo xtask check-host

2. 在 Linux 上构建

root@kitploit:~
cargo xtask build

3. 在 Linux 上运行

root@kitploit:~
sudo ./target/debug/ayaflow --db-path /tmp/traffic.db

如果省略了 --interface,ayaFlow 会从 /proc/net/route 自动检测默认路由接口,只有在检测失败时才回退到 eth0。

4. 验证

root@kitploit:~
curl http://localhost:3000/api/health
curl http://localhost:3000/api/stats
curl "http://localhost:3000/api/history?limit=5&row_type=raw"
curl http://localhost:3000/metrics

CLI 选项

API 参考

/api/history 支持:

  • limit, offset
  • start_time, end_time
  • protocol
  • ip, src_ip, dst_ip
  • port, src_port, dst_port
  • direction
  • domain
  • row_type=raw|aggregated

示例:

root@kitploit:~
curl "http://localhost:3000/api/history?limit=20&protocol=TCP&dst_port=443&row_type=raw"

项目结构

root@kitploit:~
ayaflow/           用户态运行时、API、存储和主机安全检查
ayaflow-common/    用户态和 eBPF 共享的数据包/事件类型
ayaflow-ebpf/      TC 分类器和负载捕获程序
xtask/             构建和工作流辅助工具
k8s/               Kubernetes 清单
monitoring/        Prometheus 和 Grafana 资源

根目录下的重复 src/ 树是遗留内容,不属于支持的构建路径。请使用上面的 ayaflow/ crate 和 cargo xtask 命令。

部署指南

  • 本地 Linux 和 macOS+VM 工作流:HOW_TO_USE_LOCAL.md
  • Docker:HOW_TO_USE_DOCKER.md
  • Kubernetes:HOW_TO_USE_K8S.md

技术文档

  • 架构:ARCHITECTURE.md
  • 资源占用和性能说明:PERFORMANCE.md

经过测试的环境

主机安全检查工作流现在可以在本 macOS 开发机上通过以下命令顺利运行:

  • cargo test -p ayaflow-common
  • cargo test -p ayaflow
  • cargo xtask check-host

仅限 Linux 的运行时验证仍需在安装了 eBPF 工具链的 Linux 主机或 CI 运行器上进行。

许可证

本项目根据组件采用三种不同的许可证:

用户态组件

用户态代理和公共库(ayaflow 和 ayaflow-common)根据以下任一许可证进行双许可证授权:

  • Apache License, Version 2.0
  • MIT License

你可以自行选择。

内核组件

eBPF 内核组件(ayaflow-ebpf)严格根据 GNU General Public License v2.0(GPL)授权,以确保与 Linux 内核验证器的兼容性。

下载工具
标志描述默认值
-i, --interface要监控的接口。省略时自动检测 Linux 上的默认路由接口。自动检测,回退 eth0
-p, --portAPI 服务器端口3000
--db-pathSQLite 数据库路径traffic.db
--connection-timeout清理过期连接的秒数60
--data-retention自动删除超过 N 秒的历史记录禁用
--aggregation-window存储聚合的历史窗口,而非原始数据包行0(原始模式)
--allowed-ips允许访问 API 的 CIDR 地址无限制
-c, --configYAML 配置文件路径无
-q, --quiet抑制非错误日志false
--deep-inspect启用 DNS 查询 + TLS SNI 提取false
--enable-ipv6启用 IPv6 数据包捕获false
--resolve-dns启用反向 DNS 查找false
端点方法描述
/api/healthGET健康状态、数据包计数和活动运行时配置
/api/statsGET运行时间、吞吐量、计数和活动运行时配置
/api/liveGET按数据包计数排序的前 50 个活动连接
/api/historyGET可过滤的历史流量,包含分页元数据
/api/streamWS每秒实时统计
/metricsGETPrometheus 文本格式