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抓包, 可视化界面, 数据审计, 系统服务, 网络流量审计, 通知系统