mehwish-azhar/Network-Packet-Analyzer
GitHub: mehwish-azhar/Network-Packet-Analyzer
一款基于 Python 的轻量级网络安全工具包,集成数据包捕获、入侵检测、ARP欺骗发现、威胁情报查询和实时可视化仪表盘,适合快速感知网络威胁。
Stars: 0 | Forks: 0
# 网络数据包分析器
一款基于 Python 的专业网络安全工具包——包含数据包捕获、入侵检测、ARP 欺骗检测、威胁情报以及实时 Web 仪表盘。
## 功能
- 实时数据包捕获 (TCP, UDP, ICMP, DNS)
- 白名单支持 — 忽略受信任的 IP
- PCAP 导出 — 可在 Wireshark 中打开
- GeoIP 查询 — 查询每个 IP 的国家/城市
- 告警日志 CSV — 记录所有带有时间戳的攻击
- ARP 欺骗检测 — 拦截中间人攻击
- 威胁情报 — 根据 AbuseIPDB 黑名单检查 IP
- 实时 Web 仪表盘 — 在浏览器中查看实时统计数据 (Flask)
## 项目结构
```
Network_Packet_Analyzer/
├── src/
│ ├── sniffer.py # Capture + CSV + PCAP + Whitelist
│ ├── analyzer.py # Analysis + GeoIP + Charts
│ ├── alert.py # IDS + GeoIP + Alert CSV log
│ ├── arp_monitor.py # ARP Spoofing / MITM detection
│ ├── threat_intel.py # AbuseIPDB threat intel lookup
│ └── dashboard.py # Live Flask web dashboard
├── logs/ # capture_*.csv, capture_*.pcap, alerts_*.csv
└── reports/ # traffic_report.png, threat_report_*.csv
```
## 安装
```
pip install scapy matplotlib flask
```
在 Windows 上还需安装 [Npcap](https://npcap.com/)。
## 如何运行 (均需以管理员身份运行)
### 捕获数据包
```
python src/sniffer.py
```
### 分析流量 + GeoIP
```
python src/analyzer.py
```
### 实时 IDS 告警
```
python src/alert.py
```
### ARP 欺骗检测器
```
python src/arp_monitor.py
```
### 威胁情报扫描
```
python src/threat_intel.py
```
在此获取免费 API 密钥:https://www.abuseipdb.com/register
### 实时 Web 仪表盘
```
python src/dashboard.py
```
打开浏览器访问:http://localhost:5000
## 检测到的攻击
| 攻击 | 工具 | 方法 |
|---|---|---|
| 端口扫描 | alert.py | 同一 IP 访问 15 个以上不同端口 |
| SYN Flood | alert.py | 同一 IP 发送 50 个以上 SYN 数据包 |
| ICMP Flood | alert.py | 同一 IP 发送 20 个以上 ICMP 数据包 |
| ARP 欺骗 / MITM | arp_monitor.py | IP-MAC 映射发生变化 |
| 黑名单 IP | threat_intel.py | AbuseIPDB 评分 >= 25 |
## 技术栈
Python, Scapy, Flask, Matplotlib, ip-api.com, AbuseIPDB
标签:AbuseIPDB, ARP欺骗检测, DDoS检测, DNS枚举, Flask, GeoIP, ICMP洪水检测, MITM, PCAP导出, Python安全工具, Scapy, SOC工具, SYN洪水检测, Wildcard支持, Wireshark, 中间人攻击检测, 入侵检测系统, 句柄查看, 威胁情报, 安全数据湖, 安全运营, 实时Web面板, 密码管理, 开发者工具, 扫描框架, 漏洞发现, 端口扫描检测, 网络安全, 网络安全仪表盘, 网络安全工具, 网络数据包嗅探, 网络流量分析, 逆向工具, 防御绕过, 隐私保护