indu43cs/Network-Traffic-Log-Analysis

GitHub: indu43cs/Network-Traffic-Log-Analysis

基于Python和Scapy构建的轻量级PCAP分析工具,用于离线检测端口扫描、DNS异常和数据渗出等可疑网络行为。

Stars: 0 | Forks: 0

# 使用 Wireshark 和 Python 进行网络流量日志分析 ## 概述 本项目是一个轻量级的网络取证和 SOC 风格流量分析工具,使用 Python、Scapy 和 Wireshark 数据包捕获开发。 该系统分析 `.pcap` 网络捕获文件以检测可疑活动,例如: - 端口扫描 - DNS 异常 - 可能的数据渗出 - 可疑的通信模式 该项目模拟了基本的 SOC 一级分析师工作流程,包括: - 流量检查 - 告警分类 - 事件过滤 - 威胁检测 - 事件调查 # 目标 - 了解网络数据包分析 - 学习 PCAP 取证调查 - 检测失陷指标 (IOC) - 模拟真实世界的 SOC 工作流程 - 使用 Python 构建基础的网络取证工具 # 使用的技术 | 技术 | 用途 | |---|---| | Python | 核心编程语言 | | Scapy | 数据包解析和 PCAP 分析 | | Pandas | 数据组织和报告 | | Wireshark | 数据包捕获和流量检查 | | VS Code | 开发环境 | # 项目结构 ``` Network Traffic Log Analysis/ │ ├── captures/ # Sample .pcap files ├── src/ # Python analysis scripts ├── reports/ # Generated reports ├── notes/ # Learning notes and observations ├── requirements.txt # Python dependencies ├── README.md # Project documentation └── .venv/ # Virtual environment ``` # 功能 ## 1. PCAP 文件加载 使用 Scapy 读取和解析 `.pcap` 文件。 ### 提取的信息 - 源 IP - 目标 IP - 协议 - 源端口 - 目标端口 ## 2. 端口扫描检测 检测可疑的侦察活动,其中: ``` One source IP -> multiple destination ports -> within short time window ``` ### 检测逻辑 - 时间窗口:60 秒 - 阈值:10 个唯一目标端口 ### 检测示例 ``` 192.168.1.5 scanned ports: 21, 22, 80, 443, 8080 ``` ## 3. DNS 异常检测 检测可疑的 DNS 活动,包括: - 高频 DNS 查询 - 随机外观的域名 - 数字密集型域名 - 潜在的恶意软件信标模式 ### 可疑域名示例 ``` a8d91xq72kz.example.com login9384759384.badsite.test ``` ## 4. 数据渗出检测 检测潜在的未经授权的出站数据传输。 ### 检测逻辑 ``` Private/Internal IP ↓ External/Public IP ↓ Large packet transfer ``` ### 可能的指标 - 内部威胁 - 恶意软件通信 - 未经授权的上传 - 数据泄漏 # 安装说明 ## 克隆仓库 ``` git clone cd "Network Traffic Log Analysis" ``` ## 创建虚拟环境 ``` python -m venv .venv ``` ## 激活虚拟环境 ### Windows ``` .\.venv\Scripts\activate ``` ## 安装依赖 ``` pip install -r requirements.txt ``` # 依赖要求 ``` scapy pandas ``` # 运行项目 ## 示例 PCAP 文件 从以下地址下载示例 PCAP 文件: https://wiki.wireshark.org/SampleCaptures 将文件放置在: ``` captures/ ``` ### 示例 ``` captures/dns.cap ``` # 使用方法 ## 1. 加载和检查数据包 ``` python src\load_pcap.py captures\dns.cap ``` ## 2. 检测端口扫描 ``` python src\detect_port_scans.py captures\dns.cap ``` ## 3. 检测 DNS 异常 ``` python src\detect_dns_anomalies.py captures\dns.cap ``` ## 4. 检测可能的数据渗出 ``` python src\detect_exfiltration.py captures\dns.cap ``` # 示例输出 ## 端口扫描检测 ``` Loaded 38 packets from captures\dns.cap No port scan activity found. ``` ## DNS 分析 ``` Loaded 38 packets from captures\dns.cap Found 38 DNS queries. No high-frequency DNS sources found. Random-looking DNS queries: 192.168.170.8 queried 104.9.192.66.in-addr.arpa ``` ## 渗出检测 ``` Loaded 38 packets from captures\dns.cap No possible data exfiltration found. ``` # 取证相关性 本项目展示了以下基础概念: - 网络取证 - 事件响应 - 威胁狩猎 - SOC 运营 - 流量分析 - IOC 检测 该系统提供了对真实世界安全监控和取证调查工作流程的简化模拟。 # 未来改进 - 统一报告引擎 - PDF/CSV 取证报告 - TLS 指纹识别 (JA3) - 实时数据包监控 - 机器学习异常检测 - SIEM 集成 - 威胁情报源 - 交互式仪表板 # 学习成果 通过本项目,探索了以下概念: - PCAP 分析 - 数据包检查 - DNS 分析 - 网络异常检测 - 基于规则的威胁检测 - 基于 Python 的取证自动化 - SOC 调查工作流程
标签:AMSI绕过, DNS异常检测, IOCs, IP 地址批量处理, PCAP分析, Python, Scapy, Wireshark, 代码示例, 句柄查看, 告警分类, 妥协指标, 威胁检测, 安全运营中心, 插件系统, 数据分析, 数据泄露防范, 无后门, 端口扫描检测, 网络协议分析, 网络安全, 网络映射, 逆向工具, 隐私保护