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

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

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

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

工具目录

分类

查看所有分类
Loading categories
siper — 基于XDP的轻量级快速防火墙 | Kitploit
工具/GitHubGitHub/fksvs/siper
防御工具配置审计网络安全云安全入侵检测日志分析
GitHubfksvs/siper

siper

基于XDP的轻量级快速防火墙

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Siper(盾牌)

Siper 是一款高性能、基于 XDP 的 IP 黑名单防火墙,使用 Go 和 C(eBPF)构建。它允许你在 Linux 网络栈的最早阶段——网络驱动程序级别——丢弃恶意流量。通过利用 XDP(快速数据路径),Siper 在数据包甚至到达内核繁重的网络子系统之前就对其进行处理,从而在重 DDoS 条件下提供极致性能。

特性

  • XDP 驱动性能:使用 XDP_DROP 在 NIC 驱动级别进行数据包过滤,相比 iptables 或 nftables,CPU 开销显著降低。

  • LPM(最长前缀匹配):通过专用的 BPF LPM Trie 映射支持基于 CIDR 的阻止(例如 192.168.1.0/24),实现高效的 IP 范围查找。

  • 持久化配置:通过本地基于 JSON 的黑名单管理规则,便于对阻止地址进行审计和版本控制。

  • 实时可观测性:内置指标,跟踪丢弃和通过流量的数据包及字节计数。

  • 极简架构:编译后的 BPF 对象处理数据平面,基于 Go 的 CLI 管理控制平面。

架构

Siper 基于控制平面(用户空间)与数据平面(内核空间)分离的原则运作。

管理流程(用户空间)

  1. 规则定义:用户通过 CLI 添加/删除 CIDR,这些规则存储在 blacklist.json 文件中。
  2. 加载:执行 siper run 时,Go 应用程序解析 JSON、编译/加载 eBPF 对象,并将 IP 前缀填充到 BPF 映射中。
  3. 监控:CLI 通过 BPF 系统调用与内核通信,转储指标和当前映射状态,而不中断流量。

数据包流程(内核空间)

  1. 入站:数据包到达网络接口。

  2. 查找:XDP 程序拦截数据包,并在 block_list 映射中执行查找。

  3. 判决:

    • 匹配:数据包立即丢弃(XDP_DROP)。
    • 不匹配:数据包传递至标准 Linux 网络栈(XDP_PASS)。

安装与使用

前提条件

  • Linux 内核:5.4 或更新版本(支持 XDP)。
  • Go:已安装 1.21+。
  • Clang/LLVM:用于将 eBPF C 程序编译为 .o 目标文件。
  • 权限:Root 权限或 CAP_NET_ADMIN / CAP_BPF 能力。

1. 构建项目

root@kitploit:~
make

移动到 build/ 目录

2. 管理黑名单

从本地配置文件添加或删除 IP 范围:

root@kitploit:~
# 将 CIDR 添加到列表
sudo ./siper add --cidr 1.2.3.0/24 --comment "已知僵尸网络"

# 删除规则
sudo ./siper del --cidr 1.2.3.0/24

3. 运行防火墙

将防火墙附加到特定网络接口:

root@kitploit:~
# 启动防火墙
sudo ./siper run --iface eth0 --path ./blacklist.json

# 停止并分离防火墙
sudo ./siper stop --iface eth0

4. 监控指标和键

查看内核内部情况:

root@kitploit:~
# 查看 BPF 映射中当前活跃的键
sudo ./siper dump-keys

# 监控丢弃/通过统计信息
sudo ./siper dump-metrics

贡献

欢迎提交拉取请求。对于错误修复和小改进,请提交拉取请求。对于重大更改,请先开启一个问题讨论您想要更改的内容。

许可证

本项目为自由软件;你可以根据 GPLv3 许可证的条款重新分发和/或修改它。详情请参阅 LICENSE。

下载工具