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, 代码示例, 句柄查看, 告警分类, 妥协指标, 威胁检测, 安全运营中心, 插件系统, 数据分析, 数据泄露防范, 无后门, 端口扫描检测, 网络协议分析, 网络安全, 网络映射, 逆向工具, 隐私保护