Zalay21/Network-Security-Logger

GitHub: Zalay21/Network-Security-Logger

基于 PyShark 开发的轻量级网络监控脚本,用于实时捕获流量、识别 HTTP 明文敏感数据并导出结构化 JSON 日志。

Stars: 0 | Forks: 0

# 📡 网络安全日志记录器 一个基于 Python 的网络监控工具,用于捕获实时流量,检测 HTTP payload 中的可疑模式,并导出结构化日志以进行安全分析。该工具基于 **PyShark** (Wireshark/tshark) 构建以实现真实数据包捕获。 ![Python](https://img.shields.io/badge/Python-3.8%2B-3776AB?style=flat&logo=python&logoColor=white) ![Wireshark](https://img.shields.io/badge/Built_on-Wireshark%2Ftshark-1679A7?style=flat&logo=wireshark&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-blue) ## 功能 - **实时数据包捕获** — 使用 PyShark 的 `LiveCapture` 实时监控网络接口 - **可疑模式检测** — 扫描 HTTP payload 中的敏感数据模式:`password`、`credit card`、`ssn` - **结构化日志记录** — 将所有事件及其时间戳和严重级别记录到 `.log` 文件中 - **JSON 导出** — 将捕获的日志转换为结构化 JSON,以便与 SIEM 工具集成或进行手动分析 - **系统信息记录** — 在启动时记录主机名、本地 IP、操作系统和时间戳,用于取证上下文 ## 项目结构 ``` Network-Security-Logger/ ├── network_monitor.py # Main monitoring script ├── network_security_logger.log # Generated at runtime — raw log output ├── LICENSE # MIT License └── README.md ``` ## 安装 **前置条件:** - Python 3.8+ - 已安装 Wireshark / tshark 并可在 PATH 中访问 - Root 或 sudo 权限(数据包捕获所需) ``` # Clone 仓库 git clone https://github.com/Zalay21/Network-Security-Logger.git cd Network-Security-Logger # 安装 Python 依赖 pip install pyshark # 验证 tshark 是否可用 tshark --version ``` ## 使用 ``` # 以提升的权限运行(packet capture 需要) sudo python network_monitor.py ``` ### 交互式提示 ``` Enter network interface to monitor (e.g., 'eth0', 'wlan0'): eth0 ``` 该工具最多捕获 **100 个数据包**(可在源码中配置),分析 HTTP 流量中的可疑模式,并记录所有内容。 ``` Enter filename to export logs as JSON (e.g., 'output.json'): capture_log.json Network monitoring completed and logs exported. ``` ### 日志输出示例 **原始日志** (`network_security_logger.log`): ``` 2025-03-14 22:15:03,421 - INFO - System Info: {"hostname": "kali", "local_ip": "192.168.1.105", "date": "2025-03-14T22:15:03", "os": "posix"} 2025-03-14 22:15:04,892 - INFO - Starting packet capture on interface eth0 2025-03-14 22:15:05,210 - INFO - HTTP Packet captured: GET /api/users HTTP/1.1 2025-03-14 22:15:06,334 - WARNING - Suspicious pattern detected: password in packet: login_form&password=hunter2 ``` **导出的 JSON** (`capture_log.json`): ``` [ { "timestamp": "2025-03-14 22:15:03,421", "level": "INFO", "message": "System Info: {\"hostname\": \"kali\", \"local_ip\": \"192.168.1.105\"...}" }, { "timestamp": "2025-03-14 22:15:06,334", "level": "WARNING", "message": "Suspicious pattern detected: password in packet: login_form&password=hunter2" } ] ``` ## 工作原理 ``` ┌──────────────────┐ │ Network Traffic │ │ (eth0/wlan0) │ └────────┬─────────┘ │ ┌────▼────┐ │ PyShark │ ← tshark backend │ Capture │ └────┬────┘ │ ┌────▼─────────────┐ │ Packet Analysis │ │ - HTTP inspection │ │ - Pattern match │ │ (password, ssn, │ │ credit card) │ └────┬─────────────┘ │ ┌────▼──────────┐ ┌──────────────┐ │ Python Logger │────►│ .log file │ │ (INFO/WARN) │ └──────┬───────┘ └────────────────┘ │ ┌─────▼──────┐ │ JSON Export │ │ (SIEM-ready)│ └────────────┘ ``` ## 技术栈 | 组件 | 技术 | |-----------|-----------| | 语言 | Python 3 | | 数据包捕获 | PyShark (tshark/Wireshark 的 Python 封装) | | 日志记录 | Python `logging` 模块 | | 导出格式 | JSON | | 网络分析 | 使用模式匹配进行 HTTP payload 检查 | ## 使用场景 - **实验室培训** — 在家庭实验室中练习网络监控和流量分析 - **安全审计** — 检测通过 HTTP 传输的明文凭据 - **事件响应** — 在安全调查期间捕获并导出流量日志 - **学习工具** — 深入了解数据包捕获和网络分析工具的底层工作原理 ## 未来增强 - [ ] 支持更多协议 (FTP, DNS, SMTP, SSH) - [ ] 通过电子邮件或 webhook 通知实现实时警报 - [ ] 通过外部配置文件配置模式列表 - [ ] 数据库存储以实现长期日志保留 - [ ] 用于可视化的交互式仪表板 - [ ] 按源/目标 IP 进行数据包过滤 ## 作者 **Za Lay** — [GitHub](https://github.com/Zalay21) · [LinkedIn](https://linkedin.com/in/zalay0021) · [zalay0021@gmail.com](mailto:zalay0021@gmail.com)
标签:ETW劫持, Homebrew安装, HTTP分析, IP 地址批量处理, LLM应用, meg, PyShark, Python, Tshark, Wireshark, 信息安全, 句柄查看, 对抗攻击, 敏感信息检测, 无后门, 日志记录, 流量可视化, 网络嗅探, 网络安全, 自动化安全工具, 逆向工具, 防御绕过, 隐私保护