AkhrorKhasanov/net_sentinel

GitHub: AkhrorKhasanov/net_sentinel

一款基于 Rust 的高性能网络流量监控工具,可实时捕获 TCP 数据包元数据并以 JSONL 格式记录,用于安全审计与分析。

Stars: 0 | Forks: 0

# NetSentinel NetSentinel 是一款使用 Rust 构建的高性能网络流量监控工具。它可以实时捕获并审计 TCP 流量,将详细的数据包元数据(源/目的 IP、端口、标志位、TTL、窗口大小)记录到 JSONL 文件中,以用于安全分析和监控。 # 功能 实时监控:直接从网络接口捕获实时 TCP 流量。 安全审计:记录关键的数据包元数据以用于安全分析。 轻量且高效:使用 Rust 和 Tokio 构建,具备高并发和低资源消耗的特点。 结构化日志:以 JSONL (JSON Lines) 格式导出数据,便于使用日志分析工具进行解析。 过滤功能:内置针对目标 IP 和特定端口(例如 HTTP/HTTPS)的过滤功能。 # 安装说明 前置条件 Rust(最新稳定版本) libpcap 开发头文件(pnet 需要) Ubuntu/Debian: ``` sudo apt update sudo apt install libpcap-dev ``` 构建 克隆仓库: ``` git clone https://github.com/AkhrorKhasanov/net_sentinel.git cd net_sentinel ``` 构建项目: ``` cargo build --release ``` # 用法 您必须使用 sudo(root 权限)运行可执行文件才能捕获网络数据包。 基本用法 ``` sudo ./target/release/net_sentinel --ip ``` Systemd 集成(推荐) 要将 NetSentinel 作为后台服务运行: 创建服务文件:/etc/systemd/system/net_sentinel.service 添加以下内容: Ini, TOML [Unit] Description=Net Sentinel Network Monitor After=network.target [Service] ExecStart=/path/to/your/net_sentinel --ip Restart=always User=root [Install] WantedBy=multi-user.target 启用并启动: ``` sudo systemctl enable net_sentinel sudo systemctl start net_sentinel ``` # 日志分析 日志将保存到 logs/audit.jsonl。您可以实时查看它们: ``` tail -f logs/audit.jsonl ``` # 贡献 欢迎贡献代码!请随时提交 Pull Request,或针对任何 Bug 或功能需求 open 一个 issue。
标签:JSONL, Rust, TCP抓包, 可视化界面, 数据审计, 系统服务, 网络流量审计, 通知系统