devicenull9/NetworkAPI
GitHub: devicenull9/NetworkAPI
基于libnetfilter_queue的Linux C++模块化网络数据包处理框架,通过插件架构实现对流量的人机友好操控。
Stars: 0 | Forks: 0
# NetworkAPI
## 编译 (Linux)
1. 确保您的计算机上安装了编译 C/C++ 程序所需的一切,包括 CMake 和 Ninja build。
2. 安装:`sudo apt-get install libnetfilter-queue-dev`
3. 安装:`sudo apt-get install iptables`
4. 下载该代码库。
5. 运行 'Compile-Linux.sh'。
## 使用方法
1. 在您的计算机上插入必要的 'iptables/ip6tables' 规则,您可以打开 `HELP.md` 查看可以运行的命令来执行此操作。
2. 将插件放入可执行文件所在的文件夹中。
3. 运行该程序。
完整命令示例:`NetworkAPI --configuration `
## 移除
要停止使用该程序,您需要停止可执行文件并删除 'iptables/ip6tables' 规则,您可以打开 `HELP.md` 查看可以运行的命令来执行此操作。
## 文档
打开 `DOCUMENTATION.hxx` 以查看您可以用来编写插件的可用转发 (hooks)。
## 注意事项
- 该程序目前处于测试版,请随时报告您发现的任何错误。
- 加载插件的顺序很重要。
- 这是一个模块化的 C++ 程序,这意味着该软件是 `libnetfilter-queue` 和您的插件之间的桥梁,该程序仅为插件(Linux 下的 .so 库)提供了对数据包执行操作的能力。
- 请务必仔细阅读 LICENSE 文件。
- 如果您有任何疑问,可以联系我。
- 目前尚未在 IPv6 上完全测试,请考虑到这一点。
- 与任何内核到用户空间以及用户空间到内核的程序一样,您必须考虑到该程序的速度不足以应对高性能场景。
## 致谢与许可
本项目根据 Apache License 2.0 授权。
包含以下第三方软件:
- nlohmann/json
- 代码库:https://github.com/nlohmann/json
- 用途:JSON 解析。
- 根据 MIT License 授权。
- 完整许可请见:https://github.com/nlohmann/json/blob/develop/LICENSE.MIT
- 版权所有 (c) 2013-2026 Niels Lohmann
并使用了以下第三方软件:
- libnetfilter_queue
- 代码库:https://git.netfilter.org/libnetfilter_queue/
- 用途:接收数据包。
- 根据 GNU General Public License (GPL) 版本 2 或更高版本授权。
- 主页:https://www.netfilter.org/projects/libnetfilter_queue/index.html
标签:Bash脚本, C++, CMake, iptables, IPv4/IPv6, JSON, libnetfilter_queue, Ninja, Prompt Injection, 动态链接库, 包过滤, 数据包处理, 数据擦除, 模块化架构, 流量拦截, 流量监控, 用户空间网络, 网络API, 网络安全, 网络编程, 调试插件, 隐私保护